On 5/3/25 8:52 PM, Fabio Estevam wrote:
> Hi Jonathan,
> 
> On Fri, Apr 18, 2025 at 6:04 PM Jonathan Currier <dullf...@yahoo.com> wrote:
>>
>> Add the device specific driver data, the device tree entry, and the
>> clock configuration.
>>
>> Signed-off-by: Jonathan Currier <dullf...@yahoo.com>
>> ---
>>  arch/arm/dts/imxrt1170-evk.dts              | 28 +++++++++++++++++++++
>>  arch/arm/dts/imxrt1170.dtsi                 | 13 ++++++++++
>>  drivers/clk/imx/clk-imxrt1170.c             |  9 +++++++
>>  drivers/spi/nxp_fspi.c                      | 10 ++++++++
>>  include/dt-bindings/clock/imxrt1170-clock.h |  4 ++-
> 
> Please split the devicetree parts and driver change into two separate patches.

Sure.
Should the dt-bindings include update be part of the driver changes, or the 
devicetree commit?
> 
>> +       clk_dm(IMXRT1170_CLK_FLEXSPI1_SEL,
>> +              imx_clk_mux("flexspi1_sel", base + (20 * 0x80), 8, 3,
>> +                          flexspi1_sels, ARRAY_SIZE(flexspi1_sels)));
>> +       clk_dm(IMXRT1170_CLK_FLEXSPI1,
>> +              imx_clk_divider("flexspi1", "flexspi1_sel",
>> +                              base + (20 * 0x80), 0, 8));
>> +
> 
> CI reported the following error:
> 
>        arm:  +   imxrt1170-evk
> +drivers/clk/imx/clk-imxrt1170.c: In function 'imxrt1170_clk_probe':
> +drivers/clk/imx/clk-imxrt1170.c:169:28: error: passing argument 1 of
> 'imx_clk_mux' from incompatible pointer type
> [-Wincompatible-pointer-types]
> +  169 |                imx_clk_mux("flexspi1_sel", base + (20 * 0x80), 8, 3,
> +      |                            ^~~~~~~~~~~~~~
> +      |                            |
> +      |                            char *
> +In file included from drivers/clk/imx/clk-imxrt1170.c:15:
> +drivers/clk/imx/clk.h:195:55: note: expected 'struct udevice *' but
> argument is of type 'char *'
> +  195 | static inline struct clk *imx_clk_mux(struct udevice *dev,
> const char *name,
> +      |                                       ~~~~~~~~~~~~~~~~^~~
> +drivers/clk/imx/clk-imxrt1170.c:169:64: error: passing argument 3 of
> 'imx_clk_mux' makes pointer from integer without a cast
> [-Wint-conversion]
> +      |                                                                ^
> +      |                                                                |
> +      |                                                                int
> +drivers/clk/imx/clk.h:196:39: note: expected 'void *' but argument is
> of type 'int'
> +  196 |                         void __iomem *reg, u8 shift, u8
> width, const char * const *parents,
> +      |                         ~~~~~~~~~~~~~~^~~
> +drivers/clk/imx/clk-imxrt1170.c:170:28: error: passing argument 5 of
> 'imx_clk_mux' makes integer from pointer without a cast
> [-Wint-conversion]
> +  170 |                            flexspi1_sels, 
> ARRAY_SIZE(flexspi1_sels)));
> +      |                            ^~~~~~~~~~~~~
> +      |                            const char * const*
> +drivers/clk/imx/clk.h:196:57: note: expected 'u8' {aka 'unsigned
> char'} but argument is of type 'const char * const*'
> +      |                                                      ~~~^~~~~
> +In file included from include/linux/libfdt_env.h:13,
> +                 from include/linux/libfdt.h:6,
> +                 from include/fdtdec.h:17,
> +                 from include/dm/ofnode.h:11,
> +                 from include/clk.h:11,
> +                 from drivers/clk/imx/clk-imxrt1170.c:7:
> +include/linux/kernel.h:44:23: error: passing argument 6 of
> 'imx_clk_mux' makes pointer from integer without a cast
> [-Wint-conversion]
> +   44 | #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
> +      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +      |                       |
> +      |                       unsigned int
> +drivers/clk/imx/clk-imxrt1170.c:170:43: note: in expansion of macro
> 'ARRAY_SIZE'
> +      |                                           ^~~~~~~~~~
> +drivers/clk/imx/clk.h:196:84: note: expected 'const char * const*'
> but argument is of type 'unsigned int'
> +      |
>  ~~~~~~~~~~~~~~~~~~~~^~~~~~~
> +drivers/clk/imx/clk-imxrt1170.c:169:16: error: too few arguments to
> function 'imx_clk_mux'
> +      |                ^~~~~~~~~~~
> +drivers/clk/imx/clk.h:195:27: note: declared here
> +      |                           ^~~~~~~~~~~
> +drivers/clk/imx/clk-imxrt1170.c:172:32: error: passing argument 1 of
> 'imx_clk_divider' from incompatible pointer type
> [-Wincompatible-pointer-types]
> +  172 |                imx_clk_divider("flexspi1", "flexspi1_sel",
> +      |                                ^~~~~~~~~~
> +      |                                |
> +      |                                char *
> +drivers/clk/imx/clk.h:142:59: note: expected 'struct udevice *' but
> argument is of type 'char *'
> +  142 | static inline struct clk *imx_clk_divider(struct udevice
> *dev, const char *name,
> +      |                                           ~~~~~~~~~~~~~~~~^~~
> +drivers/clk/imx/clk-imxrt1170.c:172:16: error: too few arguments to
> function 'imx_clk_divider'
> +      |                ^~~~~~~~~~~~~~~
> +drivers/clk/imx/clk.h:142:27: note: declared here
> +      |                           ^~~~~~~~~~~~~~~
> +make[4]: *** [scripts/Makefile.build:257:
> drivers/clk/imx/clk-imxrt1170.o] Error 1
> +make[3]: *** [scripts/Makefile.build:398: drivers/clk/imx] Error 2
> +make[2]: *** [scripts/Makefile.build:398: drivers/clk] Error 2
> +make[1]: *** [Makefile:1919: drivers] Error 2
> +make: *** [Makefile:177: sub-make] Error 2
> 
> Please fix and resend.

Looks like master changed the function signatures. I'll rebase, test, etc for 
the next version.

Sincerely
Jonathan Currier

Reply via email to