On Thu, Apr 06, 2017 at 06:53:10AM -0700, Florian Fainelli wrote: > > > On 04/05/2017 12:32 PM, Andrew Lunn wrote: > >> +static const struct of_device_id lan9303_mdio_of_match[] = { > >> + { .compatible = "smsc,lan9303" }, > >> + { /* sentinel */ }, > >> +}; > >> +MODULE_DEVICE_TABLE(of, lan9303_mdio_of_match); > > > > If i'm reading this right, i think you have the same compatible string > > for both the i2c and the mdio driver. Does that work? I've no idea. > > This should not be a problem, actually, this does seem like the right > thing to do. The bus topology would solve the Linux device creation such > that you would probe either via mdio or i2c (or both) but through the > appropriate drivers' probe functions.
Hi Florian I was more thinking about what happens when there is a call out to userspace to find a kernel module to load to driver this hardware. Is the compatible string used for this? Is the subsystem string also used when finding the correct kernel module? Andrew