Subject: [PATCH] power_supply: Remove capacity_level from list of sysfs attributes

---
drivers/power/power_supply_sysfs.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c
index d482484..13399d1 100644
--- a/drivers/power/power_supply_sysfs.c
+++ b/drivers/power/power_supply_sysfs.c
@@ -106,7 +106,6 @@ static struct device_attribute power_supply_attrs[] = {
POWER_SUPPLY_ATTR(energy_now),
POWER_SUPPLY_ATTR(energy_avg),
POWER_SUPPLY_ATTR(capacity),
- POWER_SUPPLY_ATTR(capacity_level),
POWER_SUPPLY_ATTR(temp),
POWER_SUPPLY_ATTR(temp_ambient),
POWER_SUPPLY_ATTR(time_to_empty_now),
--
1.5.4


2008-02-06 08:53:23

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] power_supply: Remove capacity_level from list of sysfs attributes

On Tue, 5 Feb 2008 14:13:36 -0200 Thadeu Lima de Souza Cascardo <[email protected]> wrote:

> ---
> drivers/power/power_supply_sysfs.c | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c
> index d482484..13399d1 100644
> --- a/drivers/power/power_supply_sysfs.c
> +++ b/drivers/power/power_supply_sysfs.c
> @@ -106,7 +106,6 @@ static struct device_attribute power_supply_attrs[] = {
> POWER_SUPPLY_ATTR(energy_now),
> POWER_SUPPLY_ATTR(energy_avg),
> POWER_SUPPLY_ATTR(capacity),
> - POWER_SUPPLY_ATTR(capacity_level),
> POWER_SUPPLY_ATTR(temp),
> POWER_SUPPLY_ATTR(temp_ambient),
> POWER_SUPPLY_ATTR(time_to_empty_now),

What is the reason for making this change?

Subject: Re: [PATCH] power_supply: Remove capacity_level from list of sysfs attributes

On Wed, Feb 06, 2008 at 12:53:12AM -0800, Andrew Morton wrote:
> On Tue, 5 Feb 2008 14:13:36 -0200 Thadeu Lima de Souza Cascardo <[email protected]> wrote:
>
> > ---
> > drivers/power/power_supply_sysfs.c | 1 -
> > 1 files changed, 0 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c
> > index d482484..13399d1 100644
> > --- a/drivers/power/power_supply_sysfs.c
> > +++ b/drivers/power/power_supply_sysfs.c
> > @@ -106,7 +106,6 @@ static struct device_attribute power_supply_attrs[] = {
> > POWER_SUPPLY_ATTR(energy_now),
> > POWER_SUPPLY_ATTR(energy_avg),
> > POWER_SUPPLY_ATTR(capacity),
> > - POWER_SUPPLY_ATTR(capacity_level),
> > POWER_SUPPLY_ATTR(temp),
> > POWER_SUPPLY_ATTR(temp_ambient),
> > POWER_SUPPLY_ATTR(time_to_empty_now),
>
> What is the reason for making this change?

Sorry. The following commit is the reason for this patch.

It removes CAPACITY_LEVEL from every other code, leaving the array with
sysfs attributes with one more entry than the number of enums in
power_supply.h. This leads to some attributes containing the value of
the attribute right after it. For example, temp_ambient would have the
value of time_to_empty_now. In my case, I had time_to_full_avg have the
value which should be in model_name, when the former was usually empty.

commit 8efe444038a205e79b38b7ad03878824901849a8
Author: Andres Salomon <[email protected]>
Date: Wed Dec 12 14:12:56 2007 -0500

power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL

The CAPACITY_LEVEL stuff defines various levels of charge; however, what
is the difference between them? What differentiates between HIGH and NORMAL
LOW and CRITICAL, etc?

As it appears that these are fairly arbitrary, we end up making such policy
decisions in the kernel (or in hardware). This is the sort of decision that
should be made in userspace, not in the kernel.

If the hardware does not support _CAPACITY and it cannot be easily calculate
then perhaps the driver should register a custom CAPACITY_LEVEL attribute;
however, userspace should not become accustomed to looking for such a thing,
and we should certainly not encourage drivers to provide CAPACITY_LEVEL
stubs.

The following removes support for POWER_SUPPLY_PROP_CAPACITY_LEVEL. The
OLPC battery driver is the only driver making use of this, so it's
removed from there as well.

Signed-off-by: Andres Salomon <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>

2008-02-06 21:57:08

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] power_supply: Remove capacity_level from list of sysfs attributes

On Wed, 6 Feb 2008 08:50:18 -0200
Thadeu Lima de Souza Cascardo <[email protected]> wrote:

> On Wed, Feb 06, 2008 at 12:53:12AM -0800, Andrew Morton wrote:
> > On Tue, 5 Feb 2008 14:13:36 -0200 Thadeu Lima de Souza Cascardo <[email protected]> wrote:
> >
> > > ---
> > > drivers/power/power_supply_sysfs.c | 1 -
> > > 1 files changed, 0 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c
> > > index d482484..13399d1 100644
> > > --- a/drivers/power/power_supply_sysfs.c
> > > +++ b/drivers/power/power_supply_sysfs.c
> > > @@ -106,7 +106,6 @@ static struct device_attribute power_supply_attrs[] = {
> > > POWER_SUPPLY_ATTR(energy_now),
> > > POWER_SUPPLY_ATTR(energy_avg),
> > > POWER_SUPPLY_ATTR(capacity),
> > > - POWER_SUPPLY_ATTR(capacity_level),
> > > POWER_SUPPLY_ATTR(temp),
> > > POWER_SUPPLY_ATTR(temp_ambient),
> > > POWER_SUPPLY_ATTR(time_to_empty_now),
> >
> > What is the reason for making this change?
>
> Sorry. The following commit is the reason for this patch.
>
> It removes CAPACITY_LEVEL from every other code, leaving the array with
> sysfs attributes with one more entry than the number of enums in
> power_supply.h. This leads to some attributes containing the value of
> the attribute right after it. For example, temp_ambient would have the
> value of time_to_empty_now. In my case, I had time_to_full_avg have the
> value which should be in model_name, when the former was usually empty.
>

OK, thanks, I think I have enough material there to put together the final
patch.

Next time, please do cc the author of the change which you're fixing. And
please do reply-to-all when working with kernel people, thanks.

I tagged this fix as needed-in-2.6.24.x as well.

2008-02-07 00:42:23

by Anton Vorontsov

[permalink] [raw]
Subject: Re: [PATCH] power_supply: Remove capacity_level from list of sysfs attributes

On Wed, Feb 06, 2008 at 01:56:04PM -0800, Andrew Morton wrote:
> On Wed, 6 Feb 2008 08:50:18 -0200
> Thadeu Lima de Souza Cascardo <[email protected]> wrote:
>
> > On Wed, Feb 06, 2008 at 12:53:12AM -0800, Andrew Morton wrote:
> > > On Tue, 5 Feb 2008 14:13:36 -0200 Thadeu Lima de Souza Cascardo <[email protected]> wrote:
> > >
> > > > ---
> > > > drivers/power/power_supply_sysfs.c | 1 -
> > > > 1 files changed, 0 insertions(+), 1 deletions(-)
> > > >
> > > > diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c
> > > > index d482484..13399d1 100644
> > > > --- a/drivers/power/power_supply_sysfs.c
> > > > +++ b/drivers/power/power_supply_sysfs.c
> > > > @@ -106,7 +106,6 @@ static struct device_attribute power_supply_attrs[] = {
> > > > POWER_SUPPLY_ATTR(energy_now),
> > > > POWER_SUPPLY_ATTR(energy_avg),
> > > > POWER_SUPPLY_ATTR(capacity),
> > > > - POWER_SUPPLY_ATTR(capacity_level),
> > > > POWER_SUPPLY_ATTR(temp),
> > > > POWER_SUPPLY_ATTR(temp_ambient),
> > > > POWER_SUPPLY_ATTR(time_to_empty_now),
> > >
> > > What is the reason for making this change?
> >
> > Sorry. The following commit is the reason for this patch.
> >
> > It removes CAPACITY_LEVEL from every other code, leaving the array with
> > sysfs attributes with one more entry than the number of enums in
> > power_supply.h. This leads to some attributes containing the value of
> > the attribute right after it. For example, temp_ambient would have the
> > value of time_to_empty_now. In my case, I had time_to_full_avg have the
> > value which should be in model_name, when the former was usually empty.
> >
>
> OK, thanks, I think I have enough material there to put together the final
> patch.
>
> Next time, please do cc the author of the change which you're fixing. And
> please do reply-to-all when working with kernel people, thanks.
>
> I tagged this fix as needed-in-2.6.24.x as well.

Nope, I don't think 2.6.24.x needs this fix. Commit 8efe444038a205e79b,
wasn't been in 2.6.24. Only 2.6.25-rc0 affected.

If applied to 2.6.24.x, it will break things.


Thanks,

--
Anton Vorontsov
email: [email protected]
backup email: [email protected]
irc://irc.freenode.net/bd2

2008-02-07 00:49:12

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] power_supply: Remove capacity_level from list of sysfs attributes

On Thu, 7 Feb 2008 03:02:06 +0300
Anton Vorontsov <[email protected]> wrote:

> On Wed, Feb 06, 2008 at 01:56:04PM -0800, Andrew Morton wrote:
> > On Wed, 6 Feb 2008 08:50:18 -0200
> > Thadeu Lima de Souza Cascardo <[email protected]> wrote:
> >
> > > On Wed, Feb 06, 2008 at 12:53:12AM -0800, Andrew Morton wrote:
> > > > On Tue, 5 Feb 2008 14:13:36 -0200 Thadeu Lima de Souza Cascardo <[email protected]> wrote:
> > > >
> > > > > ---
> > > > > drivers/power/power_supply_sysfs.c | 1 -
> > > > > 1 files changed, 0 insertions(+), 1 deletions(-)
> > > > >
> > > > > diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c
> > > > > index d482484..13399d1 100644
> > > > > --- a/drivers/power/power_supply_sysfs.c
> > > > > +++ b/drivers/power/power_supply_sysfs.c
> > > > > @@ -106,7 +106,6 @@ static struct device_attribute power_supply_attrs[] = {
> > > > > POWER_SUPPLY_ATTR(energy_now),
> > > > > POWER_SUPPLY_ATTR(energy_avg),
> > > > > POWER_SUPPLY_ATTR(capacity),
> > > > > - POWER_SUPPLY_ATTR(capacity_level),
> > > > > POWER_SUPPLY_ATTR(temp),
> > > > > POWER_SUPPLY_ATTR(temp_ambient),
> > > > > POWER_SUPPLY_ATTR(time_to_empty_now),
> > > >
> > > > What is the reason for making this change?
> > >
> > > Sorry. The following commit is the reason for this patch.
> > >
> > > It removes CAPACITY_LEVEL from every other code, leaving the array with
> > > sysfs attributes with one more entry than the number of enums in
> > > power_supply.h. This leads to some attributes containing the value of
> > > the attribute right after it. For example, temp_ambient would have the
> > > value of time_to_empty_now. In my case, I had time_to_full_avg have the
> > > value which should be in model_name, when the former was usually empty.
> > >
> >
> > OK, thanks, I think I have enough material there to put together the final
> > patch.
> >
> > Next time, please do cc the author of the change which you're fixing. And
> > please do reply-to-all when working with kernel people, thanks.
> >
> > I tagged this fix as needed-in-2.6.24.x as well.
>
> Nope, I don't think 2.6.24.x needs this fix. Commit 8efe444038a205e79b,
> wasn't been in 2.6.24. Only 2.6.25-rc0 affected.
>
> If applied to 2.6.24.x, it will break things.
>

ah, OK, thanks. git timestamps considered harmful.