Re: [RFC][Update 2][PATCH 1/4] ACPI / PM: Export power states of ACPI devices via sysfs

From: Rafael J. Wysocki
Date: Mon Jan 21 2013 - 17:21:19 EST


On Monday, January 21, 2013 12:53:05 PM Greg Kroah-Hartman wrote:
> On Mon, Jan 21, 2013 at 02:04:32PM +0100, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> >
> > Make it possible to retrieve the current power state of a device with
> > ACPI power management from user space via sysfs by adding a new
> > attribute power_state to the sysfs directory associated with the
> > struct acpi_device object representing the device's ACPI node.
> >
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> > ---
> > Documentation/ABI/testing/sysfs-devices-power_state | 21 ++++++++++++++
> > drivers/acpi/scan.c | 29 +++++++++++++++++++-
> > 2 files changed, 49 insertions(+), 1 deletion(-)
> >
> > Index: linux-pm/drivers/acpi/scan.c
> > ===================================================================
> > --- linux-pm.orig/drivers/acpi/scan.c
> > +++ linux-pm/drivers/acpi/scan.c
> > @@ -178,6 +178,23 @@ err_out:
> > }
> > EXPORT_SYMBOL(acpi_bus_hot_remove_device);
> >
> > +static ssize_t power_state_show(struct device *dev,
> > + struct device_attribute *attr, char *buf)
> > +{
> > + struct acpi_device *adev = to_acpi_device(dev);
> > + int state;
> > + int ret;
> > +
> > + ret = acpi_device_get_power(adev, &state);
> > + if (ret)
> > + return ret;
> > +
> > + return sprintf(buf, "%s %s\n", acpi_power_state_string(state),
> > + acpi_power_state_string(adev->power.state));
> > +}
>
> You are showing 2 different things here in a single sysfs file, which is
> really frowned apon. Any chance to split this up into two different
> sysfs files instead?

Well, I can, but I'm not sure how to call the other one. "sw_power_state"
perhaps?

Rafael


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/