Subject: Re: [next] mips: cavium_octeon_defconfig: pata_octeon_cf.c:598:23: error: passing argument 1 of 'trace_ata_bmdma_stop' from incompatible pointer type

From: Damien Le Moal <[email-masked]>
Date: Fri, 21 Jan 2022 17:34:35 +0900

On 1/21/22 17:02, Naresh Kamboju wrote:
> Linux next-20220106..next-20220121 mips build failing with gcc-10.
> 
> drivers/ata/pata_octeon_cf.c: In function 'octeon_cf_dma_finished':
> drivers/ata/pata_octeon_cf.c:598:23: error: passing argument 1 of
> 'trace_ata_bmdma_stop' from incompatible pointer type
> [-Werror=incompatible-pointer-types]
>   598 |  trace_ata_bmdma_stop(qc, &qc->tf, qc->tag);
>       |                       ^~
>       |                       |
>       |                       struct ata_queued_cmd *
> In file included from include/trace/events/libata.h:10,
>                  from drivers/ata/pata_octeon_cf.c:22:
> include/trace/events/libata.h:414:33: note: expected 'struct ata_port
> *' but argument is of type 'struct ata_queued_cmd *'
>   414 |       TP_PROTO(struct ata_port *ap, const struct ata_taskfile
> *tf, unsigned int tag),
>       |                ~~~~~~~~~~~~~~~~~^~
> include/linux/tracepoint.h:342:34: note: in definition of macro
> '__DECLARE_TRACE'
>   342 |  static inline void trace_##name(proto)    \
>       |                                  ^~~~~
> include/linux/tracepoint.h:419:24: note: in expansion of macro 'PARAMS'
>   419 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
>       |                        ^~~~~~
> include/linux/tracepoint.h:542:2: note: in expansion of macro 'DECLARE_TRACE'
>   542 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
>       |  ^~~~~~~~~~~~~
> include/linux/tracepoint.h:542:22: note: in expansion of macro 'PARAMS'
>   542 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
>       |                      ^~~~~~
> include/trace/events/libata.h:413:1: note: in expansion of macro 'DEFINE_EVENT'
>   413 | DEFINE_EVENT(ata_exec_command_template, ata_bmdma_stop,
>       | ^~~~~~~~~~~~
> include/trace/events/libata.h:414:7: note: in expansion of macro 'TP_PROTO'
>   414 |       TP_PROTO(struct ata_port *ap, const struct ata_taskfile
> *tf, unsigned int tag),
>       |       ^~~~~~~~
> cc1: some warnings being treated as errors
> make[3]: *** [scripts/Makefile.build:289: drivers/ata/pata_octeon_cf.o] Error 1
> make[3]: Target '__build' not remade because of errors.
> make[2]: *** [scripts/Makefile.build:572: drivers/ata] Error 2
> 
> Reported-by: Linux Kernel Functional Testing <[email-masked]>

I just posted a fix. As I do not have the environment to compile test
mips, could someone test please ? I will send the fix to Linus asap
after confirmation that it is OK.

Thanks.

> 
> metadata:
>   git branch: master
>   git repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
>   git describe: next-20220121
>   kernel-config: https://builds.tuxbuild.com/23zIBGjQZgIYW8OnGcYjwWlj40X/config
>   build: https://builds.tuxbuild.com/23zIBGjQZgIYW8OnGcYjwWlj40X/
> 
> # To install tuxmake on your system globally:
> # sudo pip3 install -U tuxmake
> #
> # See https://docs.tuxmake.org/ for complete documentation.
> # Original tuxmake command with fragments listed below.
> 
> tuxmake --runtime podman --target-arch mips --toolchain gcc-10
> --kconfig cavium_octeon_defconfig
> 
> --
> Linaro LKFT
> https://lkft.linaro.org

-- 
Damien Le Moal
Western Digital Research