On Tue, May 10, 2022 at 03:58:54PM +0000, Vladimir Oltean wrote: > On Sun, May 08, 2022 at 11:53:05AM -0700, Colin Foster wrote: > > +static const struct mfd_cell vsc7512_devs[] = { > > + { > > + .name = "ocelot-pinctrl", > > + .of_compatible = "mscc,ocelot-pinctrl", > > + .num_resources = ARRAY_SIZE(vsc7512_pinctrl_resources), > > + .resources = vsc7512_pinctrl_resources, > > + }, { > > + .name = "ocelot-sgpio", > > + .of_compatible = "mscc,ocelot-sgpio", > > + .num_resources = ARRAY_SIZE(vsc7512_sgpio_resources), > > + .resources = vsc7512_sgpio_resources, > > + }, { > > + .name = "ocelot-miim0", > > + .of_compatible = "mscc,ocelot-miim", > > + .num_resources = ARRAY_SIZE(vsc7512_miim0_resources), > > + .resources = vsc7512_miim0_resources, > > I wonder whether you can differentiate these 2 MFD cells by "use_of_reg" > + "of_reg". I'll look into this. I figured your question regarding this during the last v7 wasn't directed at me. If it was: I'm sorry I ignored it. > > > + }, { > > + .name = "ocelot-miim1", > > + .of_compatible = "mscc,ocelot-miim", > > + .num_resources = ARRAY_SIZE(vsc7512_miim1_resources), > > + .resources = vsc7512_miim1_resources, > > + }, > > +}; > > + > > +const struct of_device_id ocelot_spi_of_match[] = { > > + { .compatible = "mscc,vsc7512_mfd_spi" }, > > + { }, > > +}; > > +MODULE_DEVICE_TABLE(of, ocelot_spi_of_match); > > Don't forget to add a struct spi_device_id table for the driver. > > > + > > +static struct spi_driver ocelot_spi_driver = { > > + .driver = { > > + .name = "ocelot_mfd_spi", > > + .of_match_table = of_match_ptr(ocelot_spi_of_match), > > + }, > > + .probe = ocelot_spi_probe, > > +}; > > +module_spi_driver(ocelot_spi_driver);