On 16/11/2023 15:01, Kory Maincent wrote: > Add a new driver for the PD692x0 I2C Power Sourcing Equipment controller. > This driver only support i2c communication for now. > > Signed-off-by: Kory Maincent <kory.maincent@xxxxxxxxxxx> > --- > MAINTAINERS | 1 + > drivers/net/pse-pd/Kconfig | 11 + > drivers/net/pse-pd/Makefile | 1 + > drivers/net/pse-pd/pd692x0.c | 1049 ++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 1062 insertions(+) .... > + > +err_fw_unregister: > + firmware_upload_unregister(priv->fwl); > + return ret; > +} > + > +static void pd692x0_i2c_remove(struct i2c_client *client) > +{ > + struct pd692x0_priv *priv = i2c_get_clientdata(client); > + > + firmware_upload_unregister(priv->fwl); > +} > + > +static const struct i2c_device_id pd692x0_id[] = { > + { PD692X0_PSE_NAME, 0 }, > + { }, > +}; > +MODULE_DEVICE_TABLE(i2c, pd692x0_id); > + > +static const struct of_device_id pd692x0_of_match[] = { > + { .compatible = "microchip,pd69200", }, > + { .compatible = "microchip,pd69210", }, > + { .compatible = "microchip,pd69220", }, So they are the same from driver point of view. > + { }, > +}; > +MODULE_DEVICE_TABLE(of, pd692x0_of_match); > + > +static struct i2c_driver pd692x0_driver = { > + .probe = pd692x0_i2c_probe, > + .remove = pd692x0_i2c_remove, > + .id_table = pd692x0_id, > + .driver = { > + .name = PD692X0_PSE_NAME, > + .of_match_table = of_match_ptr(pd692x0_of_match), Drop of_match_ptr, leads to warnings. Best regards, Krzysztof