Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [High] Unintentional user-space ABI breakage by moving custom sysfs 
attributes from the backlight class device to the platform device.
--

commit b4eaddced56809e9f87ffe143724f151f0e7013e
Author: Svyatoslav Ryhel <[email protected]>

mfd: lm3533: Use dev_groups in struct device_driver

Instead of creating and removing the device sysfs attributes directly
during probe and remove of the driver, respectively, use dev_groups in
struct device_driver to point to the attribute definitions and let the
core take care of creating and removing them.

No intentional functional impact.

> diff --git a/drivers/video/backlight/lm3533_bl.c 
> b/drivers/video/backlight/lm3533_bl.c
> index 4d6f680334802..9ef171d3aaeab 100644
> --- a/drivers/video/backlight/lm3533_bl.c
> +++ b/drivers/video/backlight/lm3533_bl.c
[ ... ]
> @@ -304,28 +309,17 @@ static int lm3533_bl_probe(struct platform_device *pdev)
>  
>       platform_set_drvdata(pdev, bl);
>  
> -     ret = sysfs_create_group(&bd->dev.kobj, &lm3533_bl_attribute_group);
> -     if (ret < 0) {
> -             dev_err(&pdev->dev, "failed to create sysfs attributes\n");
> -             return ret;
> -     }
> -
>       backlight_update_status(bd);
[ ... ]
> @@ -377,6 +370,7 @@ static struct platform_driver lm3533_bl_driver = {
>       .driver = {
>               .name   = "lm3533-backlight",
>               .pm     = &lm3533_bl_pm_ops,
> +             .dev_groups = lm3533_bl_attribute_groups,

[Severity: High]
Does moving these attributes to the platform driver break the userspace ABI?

The old code explicitly created custom sysfs attributes on the backlight
device's kobject (&bd->dev.kobj), placing them in the backlight class
directory, for example under /sys/class/backlight/<name>/.

By attaching the attribute groups to the platform driver via .dev_groups, the
driver core will now create these attributes on the parent platform device
instead.

Since the commit message states there is no intentional functional impact,
could this path change accidentally break userspace tools or udev rules
that expect to find these custom attributes inside the backlight class
directory?

>       },
>       .probe          = lm3533_bl_probe,
>       .remove         = lm3533_bl_remove,

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=7

Reply via email to