Re: [RFC PATCH 2/2] driver core: add compatible string in sysfs for platform devices

Greg KH
2022-08-03T12:32:01Z

On Wed, Aug 03, 2022 at 05:56:55PM +0530, Nipun Gupta wrote:
> For devices registered dynamically using platform_device_register
> API, this patch exposes the sysfs entry for the compatible string.
>
> Signed-off-by: Nipun Gupta <nipun.gupta@amd.com>
> ---
> drivers/base/platform.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/base/platform.c b/drivers/base/platform.c
> index 51bb2289865c..89949f88a0a1 100644
> --- a/drivers/base/platform.c
> +++ b/drivers/base/platform.c
> @@ -1289,10 +1289,25 @@ static ssize_t driver_override_store(struct device *dev,
> }
> static DEVICE_ATTR_RW(driver_override);
>
> +static ssize_t compatible_show(struct device *dev, struct device_attribute *attr,
> + char *buf)
> +{
> + const char *compat;
> + int ret;
> +
> + ret = device_property_read_string(dev, "compatible", &compat);
> + if (ret != 0)
> + return 0;
> +
> + return sysfs_emit(buf, "%s", compat);
> +}
> +static DEVICE_ATTR_RO(compatible);

You forgot the Documentation/ABI/ update :(

Also, what happens if there is no such string to read? Why are you
returning 0? You should not create the attribute at all then, right?

thanks,

greg k-h