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