2009-04-26 13:37:20

by Maxim Levitsky

[permalink] [raw]
Subject: [BUG] /sys/class/power_supply/BAT0/ shouldn't disappear when battery is unplugged

New sysfs battery interface has a flaw.

Suppose I removed battery from the system, and then booted it.
then gnome power manager has no idea that my system has battery, and
thus it hides battery settings.

It also has a bug that prevents it from hiding battery icon, when I
unplug the battery, in other words, it isn't prepared for battery to
disappear.

I think it would be nice to keep /sys/class/power_supply/BAT0/ even if
battery isn't present.

btw, there is /sys/class/power_supply/BAT0/present, thus maybe this is
just a bug?

Best regards,
Maxim Levitsky


2009-04-27 17:49:48

by Anton Vorontsov

[permalink] [raw]
Subject: Re: [BUG] /sys/class/power_supply/BAT0/ shouldn't disappear when battery is unplugged

On Sun, Apr 26, 2009 at 04:36:58PM +0300, Maxim Levitsky wrote:
> New sysfs battery interface has a flaw.
>
> Suppose I removed battery from the system, and then booted it.
> then gnome power manager has no idea that my system has battery, and
> thus it hides battery settings.

If after insertion the battery is visible in /sys/class/power_supply/,
then it's not a kernel bug. That's purely gnome issue (or HAL), it
seem to not handle hot-plugged batteries.

> It also has a bug that prevents it from hiding battery icon, when I
> unplug the battery, in other words, it isn't prepared for battery to
> disappear.

Again, you should report that to HAL/Gnome maintainers, so that gnome
power manager would handle battery removal events generated by the
power supply class.

> I think it would be nice to keep /sys/class/power_supply/BAT0/ even if
> battery isn't present.

That isn't always possible. Imagine a battery inside some hot-pluggable
PCI device. Or an USB device, or a battery with a built-in controller
connected through W1 bus (i.e. batteries w/ ds2760 chip).

> btw, there is /sys/class/power_supply/BAT0/present, thus maybe this is
> just a bug?

Nope. And personally I think we should remove the "present"
property, and drivers should learn to remove stuff from power_supply/
if there is no battery inserted. But so far HAL/Gnome/whatever have
to handle both methods.

Thanks,

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

2009-04-28 21:01:23

by Maxim Levitsky

[permalink] [raw]
Subject: Re: [BUG] /sys/class/power_supply/BAT0/ shouldn't disappear when battery is unplugged

On Mon, 2009-04-27 at 21:49 +0400, Anton Vorontsov wrote:
> On Sun, Apr 26, 2009 at 04:36:58PM +0300, Maxim Levitsky wrote:
> > New sysfs battery interface has a flaw.
> >
> > Suppose I removed battery from the system, and then booted it.
> > then gnome power manager has no idea that my system has battery, and
> > thus it hides battery settings.
>
> If after insertion the battery is visible in /sys/class/power_supply/,
> then it's not a kernel bug. That's purely gnome issue (or HAL), it
> seem to not handle hot-plugged batteries.
No, I am talking about the following situation:

Suppose:

I keep battery in the closet.
I turn my system on
Gpm has no idea my system has a battery, thus it hides battery tab.
I want to set change battery settings.





>
> > It also has a bug that prevents it from hiding battery icon, when I
> > unplug the battery, in other words, it isn't prepared for battery to
> > disappear.
>
> Again, you should report that to HAL/Gnome maintainers, so that gnome
> power manager would handle battery removal events generated by the
> power supply class.
I did, no reaction so far...

>
> > I think it would be nice to keep /sys/class/power_supply/BAT0/ even if
> > battery isn't present.
>
> That isn't always possible. Imagine a battery inside some hot-pluggable
> PCI device. Or an USB device, or a battery with a built-in controller
> connected through W1 bus (i.e. batteries w/ ds2760 chip).
Ok, why not to do so for acpi devices?


>
> > btw, there is /sys/class/power_supply/BAT0/present, thus maybe this is
> > just a bug?
>
> Nope. And personally I think we should remove the "present"
> property, and drivers should learn to remove stuff from power_supply/
> if there is no battery inserted. But so far HAL/Gnome/whatever have
> to handle both methods.
>
> Thanks,
>

Best regards,
Maxim Levitsky