2018-08-27 18:46:41

by Joe Jin

[permalink] [raw]
Subject: [PATCH] xen: export device state to sysfs

Export device state to sysfs to allow for easier get device state.

Signed-off-by: Joe Jin <[email protected]>
Boris Ostrovsky <[email protected]>
Juergen Gross <[email protected]>
---
drivers/xen/xenbus/xenbus_probe.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
index 74888cacd0b0..52f99b80a1c0 100644
--- a/drivers/xen/xenbus/xenbus_probe.c
+++ b/drivers/xen/xenbus/xenbus_probe.c
@@ -402,10 +402,19 @@ static ssize_t modalias_show(struct device *dev,
}
static DEVICE_ATTR_RO(modalias);

+static ssize_t state_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ return sprintf(buf, "%s\n",
+ xenbus_strstate(to_xenbus_device(dev)->state));
+}
+static DEVICE_ATTR_RO(state);
+
static struct attribute *xenbus_dev_attrs[] = {
&dev_attr_nodename.attr,
&dev_attr_devtype.attr,
&dev_attr_modalias.attr,
+ &dev_attr_state.attr,
NULL,
};

--
2.15.2 (Apple Git-101.1)



2018-08-28 06:32:30

by Juergen Gross

[permalink] [raw]
Subject: Re: [PATCH] xen: export device state to sysfs

On 27/08/18 20:44, Joe Jin wrote:
> Export device state to sysfs to allow for easier get device state.
>
> Signed-off-by: Joe Jin <[email protected]>
> Boris Ostrovsky <[email protected]>
> Juergen Gross <[email protected]>

Please add the related documentation to

Documentation/ABI/stable/sysfs-bus-xen-backend


Juergen

> ---
> drivers/xen/xenbus/xenbus_probe.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
> index 74888cacd0b0..52f99b80a1c0 100644
> --- a/drivers/xen/xenbus/xenbus_probe.c
> +++ b/drivers/xen/xenbus/xenbus_probe.c
> @@ -402,10 +402,19 @@ static ssize_t modalias_show(struct device *dev,
> }
> static DEVICE_ATTR_RO(modalias);
>
> +static ssize_t state_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> +{
> + return sprintf(buf, "%s\n",
> + xenbus_strstate(to_xenbus_device(dev)->state));
> +}
> +static DEVICE_ATTR_RO(state);
> +
> static struct attribute *xenbus_dev_attrs[] = {
> &dev_attr_nodename.attr,
> &dev_attr_devtype.attr,
> &dev_attr_modalias.attr,
> + &dev_attr_state.attr,
> NULL,
> };
>
>