Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> 於 2022年8月18日 週四 下午4:09寫道: > > On 18/08/2022 04:21, cy_huang wrote: > > From: ChiYuan Huang <cy_huang@xxxxxxxxxxx> > > > > Add support for the RT9471 3A 1-Cell Li+ battery charger. > > > > The RT9471 is a highly-integrated 3A switch mode battery charger with > > low impedance power path to better optimize the charging efficiency. > > > > Co-developed-by: Alina Yu <alina_yu@xxxxxxxxxxx> > > Signed-off-by: Alina Yu <alina_yu@xxxxxxxxxxx> > > Signed-off-by: ChiYuan Huang <cy_huang@xxxxxxxxxxx> > > --- > > Since v2: > > - Fix checkpatch error about 'foo * bar' to 'foo *bar' in psy_device_to_chip function. > > - Specify the member name directly for the use of linear range. > > > > --- > > (...) > > > + > > +static DEVICE_ATTR_RW(sysoff_enable); > > +static DEVICE_ATTR_RW(charge_term_enable); > > +static DEVICE_ATTR_RW(port_detect_enable); > > + > > +static struct attribute *rt9471_sysfs_entries[] = { > > + &dev_attr_sysoff_enable.attr, > > + &dev_attr_charge_term_enable.attr, > > + &dev_attr_port_detect_enable.attr, > > + NULL > > You need to document the sysfs ABI in Documentation. Can it be define in 'sysfs-class-power' or a dedicated file called 'sysfs-class-power-rt9471'? Not sure which one is better. > > > +}; > > + > > +static const struct attribute_group rt9471_attr_group = { > > + .attrs = rt9471_sysfs_entries, > > +}; > > + > > +static const struct attribute_group *rt9471_attr_groups[] = { > > + &rt9471_attr_group, > > + NULL > > +}; > > (...) > > > + > > +static const struct of_device_id rt9471_of_device_id[] = { > > + { .compatible = "richtek,rt9471" }, > > + {} > > +}; > > +MODULE_DEVICE_TABLE(of, rt9471_of_device_id); > > + > > +static struct i2c_driver rt9471_driver = { > > + .driver = { > > + .name = "rt9471", > > + .owner = THIS_MODULE, > > You should not need this. Run coccinelle/coccicheck on your driver. Yes, I found it. 'module_i2c_driver' already include this owner setting. Just remove it. Thanks. > > > Best regards, > Krzysztof