Skip to contentSkip to conversation

Mess in the /sysfs: class/power_supply

DISCUSSION Pavel Machek 3 participants 3 messages Jan 31, 2015 – Feb 25, 2015

lore
Share & tools
lore
#0 lore raw

Hi!

So we have multiple values in one sysfs file:

root@n900:/sys/class/power_supply# cat bq24150a-0/registers
0x00=0x50
0x01=0xc8
0x02=0x8e
0x03=0x4b
0x04=0x99

(should this go to debugfs somewhere?)

Unobvious and undocumented entries:

root@n900:/sys/class/power_supply# cat bq24150a-0/boost_status
0
pavel@duo:/data/l/linux-n900$ grep -ri boost_status Documentation/
pavel@duo:/data/l/linux-n900$ grep -ri termination_current Documentation/
pavel@duo:/data/l/linux-n900$ grep -ri current_now Documentation/
pavel@duo:/data/l/linux-n900$ grep -ri time_to_empty_avg Documentation/
pavel@duo:/data/l/linux-n900$

And different units in different parts of tree:

(these are mA)

root@n900:/sys/class/power_supply# cat bq24150a-0/current_limit
1800
root@n900:/sys/class/power_supply# cat bq24150a-0/termination_current
100

(and this is in uA)

root@n900:/sys/class/power_supply# cat bq27200-0/current_now
12138

(I believe uA is right, so it is bq24150a that should be fixed....?)

Ok, of course questions are: do we need to do something with it? If so, what?

Best regards,
Pavel

Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
#1 lore raw

Re: Mess in the /sysfs: class/power_supply/bq2415x

Hi Pavel,

Quoted 10 lines · Pavel Machek

So we have multiple values in one sysfs file:

root@n900:/sys/class/power_supply# cat bq24150a-0/registers
0x00=0x50
0x01=0xc8
0x02=0x8e
0x03=0x4b
0x04=0x99

(should this go to debugfs somewhere?)

I guess this should be dropped in favour of debugfs. A standardized debugfs node will be exported automatically if the driver is converted to regmap.

Quoted 9 lines

Unobvious and undocumented entries:

root@n900:/sys/class/power_supply# cat bq24150a-0/boost_status
0
pavel@duo:/data/l/linux-n900$ grep -ri boost_status Documentation/
pavel@duo:/data/l/linux-n900$ grep -ri termination_current Documentation/
pavel@duo:/data/l/linux-n900$ grep -ri current_now Documentation/
pavel@duo:/data/l/linux-n900$ grep -ri time_to_empty_avg Documentation/
pavel@duo:/data/l/linux-n900$

Anton seems to have missed making Pali to write a Documentation patch. Pali: Can you do so, please?

Quoted 11 lines

And different units in different parts of tree:

(these are mA)

root@n900:/sys/class/power_supply# cat bq24150a-0/current_limit
1800
root@n900:/sys/class/power_supply# cat bq24150a-0/termination_current
100

(and this is in uA)

Quoted 7 lines
root@n900:/sys/class/power_supply# cat bq27200-0/current_now
12138

(I believe uA is right, so it is bq24150a that should be fixed....?)

Ok, of course questions are: do we need to do something with it? If so, what?

For consistency it should be uA, but I guess this would introduce a regression for Maemo people. Pali?

-- Sebastian

#2 lore raw

Re: Mess in the /sysfs: class/power_supply/bq2415x

Quoted 30 lines · On Wednesday 25 February 2015 22:44:42 Sebastian Reichel wrote:

Hi Pavel,

Quoted 10 lines · Pavel Machek

So we have multiple values in one sysfs file:

root@n900:/sys/class/power_supply# cat bq24150a-0/registers
0x00=0x50
0x01=0xc8
0x02=0x8e
0x03=0x4b
0x04=0x99

(should this go to debugfs somewhere?)

I guess this should be dropped in favour of debugfs. A standardized debugfs node will be exported automatically if the driver is converted to regmap.

Quoted 11 lines

Unobvious and undocumented entries:

root@n900:/sys/class/power_supply# cat
bq24150a-0/boost_status 0
pavel@duo:/data/l/linux-n900$ grep -ri boost_status
Documentation/ pavel@duo:/data/l/linux-n900$ grep -ri
termination_current Documentation/
pavel@duo:/data/l/linux-n900$ grep -ri current_now
Documentation/ pavel@duo:/data/l/linux-n900$ grep -ri
time_to_empty_avg Documentation/
pavel@duo:/data/l/linux-n900$
Quoted 3 lines

Anton seems to have missed making Pali to write a Documentation patch. Pali: Can you do so, please?

Some of properties are standard power_supply properties and those are documented in Documentation/power/power_supply_class.txt

bq2415x specific are documented only in bq2415x_charger.c source code. So probably we should move documentation into Documentation/power/bq2415x_charer.txt

But I think there are other stuff with higher priority for N900 as moving comments/documentation...

Quoted 9 lines
Quoted 9 lines

And different units in different parts of tree:

(these are mA)

root@n900:/sys/class/power_supply# cat
bq24150a-0/current_limit 1800
root@n900:/sys/class/power_supply# cat
bq24150a-0/termination_current 100

Those are non standard power-supply properties and so unit is not defined.

Quoted 5 lines
Quoted 5 lines

(and this is in uA)

root@n900:/sys/class/power_supply# cat bq27200-0/current_now
12138

This is power supply.

Quoted 3 lines
Quoted 3 lines

(I believe uA is right, so it is bq24150a that should be fixed....?)

Units
~~~~~
Quoting include/linux/power_supply.h:

All voltages, currents, charges, energies, time and
temperatures in µV,
µA, µAh, µWh, seconds and tenths of degree Celsius unless
otherwise
stated. It's driver's job to convert its raw values to units in
which
this class operates.

Quoted 7 lines
Quoted 2 lines

Ok, of course questions are: do we need to do something with it? If so, what?

For consistency it should be uA, but I guess this would introduce a regression for Maemo people. Pali?

-- Sebastian

It looks like that in Maemo & CSSU we are using only:

/sys/class/power_supply/bq24150a-0/mode /sys/class/power_supply/bq24150a-0/stat_pin_enable

But it does not mean that some other people do not use other bq2415x sysfs nodes.

Signature · 2 lines
Pali Rohár
[email protected]