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. > + 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.