On 29/02/2024 23:52, Linus Walleij wrote: > From: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxxx> > > The Awinic AW9523(B) is a multi-function I2C gpio expander in a > TQFN-24L package, featuring PWM (max 37mA per pin, or total max > power 3.2Watts) for LED driving capability. > ... > + > +static const struct i2c_device_id aw9523_i2c_id_table[] = { > + { "aw9523_i2c", 0 }, > + { } > +}; > +MODULE_DEVICE_TABLE(i2c, aw9523_i2c_id_table); > + > +static const struct of_device_id of_aw9523_i2c_match[] = { > + { .compatible = "awinic,aw9523-pinctrl", }, That's an undocumented compatible, which we cannot take. You need bindings. > +}; > +MODULE_DEVICE_TABLE(of, of_aw9523_i2c_match); > + > +static struct i2c_driver aw9523_driver = { > + .driver = { > + .name = "aw9523-pinctrl", > + .of_match_table = of_aw9523_i2c_match, > + }, > + .probe = aw9523_probe, > + .remove = aw9523_remove, > + .id_table = aw9523_i2c_id_table, > +}; > +module_i2c_driver(aw9523_driver); > + > +MODULE_DESCRIPTION("Awinic AW9523 I2C GPIO Expander driver"); > +MODULE_AUTHOR("AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxxx>"); > +MODULE_LICENSE("GPL v2"); > +MODULE_ALIAS("platform:aw9523"); You should not need MODULE_ALIAS() in normal cases. If you need it, usually it means your device ID table is wrong (e.g. misses either entries or MODULE_DEVICE_TABLE()). MODULE_ALIAS() is not a substitute for incomplete ID table. Best regards, Krzysztof