On Fri, Apr 30, 2021 at 02:35:08PM +0200, Robert Marko wrote: > Delta TN48M CPLD is used as a GPIO expander for the SFP GPIOs. > > It is a mix of input only and output only pins. > > Since there is no logical GPIO numbering arbitrary one is used > along dt-bindings to make it humanly readable. > > Signed-off-by: Robert Marko <robert.marko@xxxxxxxxxx> > --- > drivers/gpio/Kconfig | 12 +++ > drivers/gpio/Makefile | 1 + > drivers/gpio/gpio-tn48m.c | 191 ++++++++++++++++++++++++++++++++++++++ > drivers/mfd/tn48m-cpld.c | 6 +- > include/linux/mfd/tn48m.h | 3 + > 5 files changed, 212 insertions(+), 1 deletion(-) > create mode 100644 drivers/gpio/gpio-tn48m.c > +static const struct platform_device_id tn48m_gpio_id_table[] = { > + { "delta,tn48m-gpio", }, Looks like a compatible, but is not. I think you can drop this and just use 'tm48m-gpio' (the driver name). Same for hwmon. Rob > + { } > +}; > +MODULE_DEVICE_TABLE(platform, tn48m_gpio_id_table); > + > +static struct platform_driver tn48m_gpio_driver = { > + .driver = { > + .name = "tn48m-gpio", > + }, > + .probe = tn48m_gpio_probe, > + .id_table = tn48m_gpio_id_table, > +}; > +module_platform_driver(tn48m_gpio_driver);