Input: cros_ec_keyb - use device core to create driver-specific device attributes
Instead of creating driver-specific device attributes with devm_device_add_group() have device core do this by setting up dev_groups pointer in the driver structure. Reviewed-by: Guenter Roeck <groeck@chromium.org> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20230729005133.1095051-1-dmitry.torokhov@gmail.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
@@ -686,10 +686,11 @@ static umode_t cros_ec_keyb_attr_is_visible(struct kobject *kobj,
|
||||
return attr->mode;
|
||||
}
|
||||
|
||||
static const struct attribute_group cros_ec_keyb_attr_group = {
|
||||
static const struct attribute_group cros_ec_keyb_group = {
|
||||
.is_visible = cros_ec_keyb_attr_is_visible,
|
||||
.attrs = cros_ec_keyb_attrs,
|
||||
};
|
||||
__ATTRIBUTE_GROUPS(cros_ec_keyb);
|
||||
|
||||
static int cros_ec_keyb_probe(struct platform_device *pdev)
|
||||
{
|
||||
@@ -730,12 +731,6 @@ static int cros_ec_keyb_probe(struct platform_device *pdev)
|
||||
return err;
|
||||
}
|
||||
|
||||
err = devm_device_add_group(dev, &cros_ec_keyb_attr_group);
|
||||
if (err) {
|
||||
dev_err(dev, "failed to create attributes: %d\n", err);
|
||||
return err;
|
||||
}
|
||||
|
||||
ckdev->notifier.notifier_call = cros_ec_keyb_work;
|
||||
err = blocking_notifier_chain_register(&ckdev->ec->event_notifier,
|
||||
&ckdev->notifier);
|
||||
@@ -782,6 +777,7 @@ static struct platform_driver cros_ec_keyb_driver = {
|
||||
.remove = cros_ec_keyb_remove,
|
||||
.driver = {
|
||||
.name = "cros-ec-keyb",
|
||||
.dev_groups = cros_ec_keyb_groups,
|
||||
.of_match_table = of_match_ptr(cros_ec_keyb_of_match),
|
||||
.acpi_match_table = ACPI_PTR(cros_ec_keyb_acpi_match),
|
||||
.pm = pm_sleep_ptr(&cros_ec_keyb_pm_ops),
|
||||
|
||||
Reference in New Issue
Block a user