On Tue, 11 Feb 2025, Jerome Brunet wrote: > The auxiliary device creation of this driver is simple enough to > use the available auxiliary device creation helper. > > Use it and remove some boilerplate code. > > Signed-off-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx> > --- > drivers/platform/arm64/lenovo-yoga-c630.c | 42 +++---------------------------- > 1 file changed, 4 insertions(+), 38 deletions(-) > > diff --git a/drivers/platform/arm64/lenovo-yoga-c630.c b/drivers/platform/arm64/lenovo-yoga-c630.c > index 1f05c9a6a89d5ee146144062f5d2e36795c56639..921a93d4ea39ac54344cc964e2805e974cc7e808 100644 > --- a/drivers/platform/arm64/lenovo-yoga-c630.c > +++ b/drivers/platform/arm64/lenovo-yoga-c630.c > @@ -191,50 +191,16 @@ void yoga_c630_ec_unregister_notify(struct yoga_c630_ec *ec, struct notifier_blo > } > EXPORT_SYMBOL_GPL(yoga_c630_ec_unregister_notify); > > -static void yoga_c630_aux_release(struct device *dev) > -{ > - struct auxiliary_device *adev = to_auxiliary_dev(dev); > - > - kfree(adev); > -} > - > -static void yoga_c630_aux_remove(void *data) > -{ > - struct auxiliary_device *adev = data; > - > - auxiliary_device_delete(adev); > - auxiliary_device_uninit(adev); > -} > - > static int yoga_c630_aux_init(struct device *parent, const char *name, > struct yoga_c630_ec *ec) > { > struct auxiliary_device *adev; > - int ret; > - > - adev = kzalloc(sizeof(*adev), GFP_KERNEL); > - if (!adev) > - return -ENOMEM; > - > - adev->name = name; > - adev->id = 0; > - adev->dev.parent = parent; > - adev->dev.release = yoga_c630_aux_release; > - adev->dev.platform_data = ec; > > - ret = auxiliary_device_init(adev); > - if (ret) { > - kfree(adev); > - return ret; > - } > - > - ret = auxiliary_device_add(adev); > - if (ret) { > - auxiliary_device_uninit(adev); > - return ret; > - } > + adev = devm_auxiliary_device_create(parent, name, ec, 0); > + if (IS_ERR(adev)) > + return PTR_ERR(adev); > > - return devm_add_action_or_reset(parent, yoga_c630_aux_remove, adev); > + return 0; return PTR_ERR_OR_ZERO() > } > > static int yoga_c630_ec_probe(struct i2c_client *client) > > -- i.