2022-08-17 15:35:50

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [RFC PATCH v2 6/6] driver core: add compatible string in sysfs for platform devices

On Wed, Aug 17, 2022 at 08:35:42PM +0530, Nipun Gupta wrote:
> This change adds compatible string for the platform based
> devices.

What exactly is a "compatible string"?

>
> Signed-off-by: Nipun Gupta <[email protected]>
> ---
> Documentation/ABI/testing/sysfs-bus-platform | 8 +++++++
> drivers/base/platform.c | 23 ++++++++++++++++++++
> 2 files changed, 31 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-platform b/Documentation/ABI/testing/sysfs-bus-platform
> index c4dfe7355c2d..d95ff83d768c 100644
> --- a/Documentation/ABI/testing/sysfs-bus-platform
> +++ b/Documentation/ABI/testing/sysfs-bus-platform
> @@ -54,3 +54,11 @@ Description:
> Other platform devices use, instead:
>
> - platform:`driver name`
> +
> +What: /sys/bus/platform/devices/.../compatible
> +Date: August 2022
> +Contact: Nipun Gupta <[email protected]>
> +Description:
> + compatible string associated with the device. This is
> + a read only and is visible if the device have "compatible"
> + property associated with it.

Where is it defined what a compatible property is?

> diff --git a/drivers/base/platform.c b/drivers/base/platform.c
> index 51bb2289865c..94c33efaa9b8 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;

Shouldn't you return an error here?

thanks,

greg k-h


2022-08-17 17:21:06

by Saravana Kannan

[permalink] [raw]
Subject: Re: [RFC PATCH v2 6/6] driver core: add compatible string in sysfs for platform devices

On Wed, Aug 17, 2022 at 8:31 AM Greg KH <[email protected]> wrote:
>
> On Wed, Aug 17, 2022 at 08:35:42PM +0530, Nipun Gupta wrote:
> > This change adds compatible string for the platform based
> > devices.
>
> What exactly is a "compatible string"?

Didn't read the rest of the patches in the series yet, but Nack to
this. This info is already available under:

<device folder>/of_node/compatible for any device in any (or at least
most) bus that was created from an of_node.

Unless compatible is now also in ACPI. In which case, it's probably be
better to have an of_node like symlink.


-Saravana

>
> >
> > Signed-off-by: Nipun Gupta <[email protected]>
> > ---
> > Documentation/ABI/testing/sysfs-bus-platform | 8 +++++++
> > drivers/base/platform.c | 23 ++++++++++++++++++++
> > 2 files changed, 31 insertions(+)
> >
> > diff --git a/Documentation/ABI/testing/sysfs-bus-platform b/Documentation/ABI/testing/sysfs-bus-platform
> > index c4dfe7355c2d..d95ff83d768c 100644
> > --- a/Documentation/ABI/testing/sysfs-bus-platform
> > +++ b/Documentation/ABI/testing/sysfs-bus-platform
> > @@ -54,3 +54,11 @@ Description:
> > Other platform devices use, instead:
> >
> > - platform:`driver name`
> > +
> > +What: /sys/bus/platform/devices/.../compatible
> > +Date: August 2022
> > +Contact: Nipun Gupta <[email protected]>
> > +Description:
> > + compatible string associated with the device. This is
> > + a read only and is visible if the device have "compatible"
> > + property associated with it.
>
> Where is it defined what a compatible property is?
>
> > diff --git a/drivers/base/platform.c b/drivers/base/platform.c
> > index 51bb2289865c..94c33efaa9b8 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;
>
> Shouldn't you return an error here?
>
> thanks,
>
> greg k-h

2022-09-05 14:48:37

by Nipun Gupta

[permalink] [raw]
Subject: RE: [RFC PATCH v2 6/6] driver core: add compatible string in sysfs for platform devices

[AMD Official Use Only - General]



> -----Original Message-----
> From: Saravana Kannan <[email protected]>
> Sent: Wednesday, August 17, 2022 9:34 PM
> To: Greg KH <[email protected]>
> Cc: Gupta, Nipun <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; Gupta, Puneet (DCG-ENG)
> <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]; Anand,
> Harpreet <[email protected]>; Agarwal, Nikhil
> <[email protected]>; Simek, Michal <[email protected]>; git
> (AMD-Xilinx) <[email protected]>
> Subject: Re: [RFC PATCH v2 6/6] driver core: add compatible string in sysfs for
> platform devices
>
> [CAUTION: External Email]
>
> On Wed, Aug 17, 2022 at 8:31 AM Greg KH <[email protected]>
> wrote:
> >
> > On Wed, Aug 17, 2022 at 08:35:42PM +0530, Nipun Gupta wrote:
> > > This change adds compatible string for the platform based
> > > devices.
> >
> > What exactly is a "compatible string"?
>
> Didn't read the rest of the patches in the series yet, but Nack to
> this. This info is already available under:
>
> <device folder>/of_node/compatible for any device in any (or at least
> most) bus that was created from an of_node.
>
> Unless compatible is now also in ACPI. In which case, it's probably be
> better to have an of_node like symlink.

We will not be going with platform devices for CDX bus and would
rather have CDX devices:
https://lore.kernel.org/lkml/DM6PR12MB30827577D50AB1B877458923E8799@DM6PR12MB3082.namprd12.prod.outlook.com/
So, this change is not valid for us. We would not be having this in Rev V3.

- Nipun