[lkml]   [2011]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 8/9] bq27x00: Add miscdevice for each battery with ioctl for reading registers
2011/11/1 Lars-Peter Clausen <>:
> On 11/01/2011 01:23 PM, Pali Rohár wrote:
>> 2011/11/1 Lars-Peter Clausen <>:
>>> On 11/01/2011 01:43 AM, Pali Rohár wrote:
>>>> * When bq27x00_battery module is loaded it take control of bq27200 i2c battery chip and then it is not possible to use i2cget program from user space (returns -EBUSY)
>>>> * This patch adds new miscdevice for each battery which has ioctl BQ27X00_READ_REG for reading battery registers from user space
>>>> * ioctl cmd:
>>>>   #define BQ27X00_READ_REG _IO(MISC_MAJOR, 0)
>>>> * ioctl arg:
>>>>   struct bq27x00_reg_parms {
>>>>     int reg; /* battery register (in) */
>>>>     int single; /* 1 - 8bit register, 0 - 16bit register (in) */
>>>>     int ret; /* register status, negative indicate error (out) */
>>>>   };
>>>> Signed-off-by: Pali Rohár <>
>>> I'm not sure if this is such a good idea. Why do you need to read the registers
>>> from userspace? Shouldn't all relevant information be available in a
>>> standardized format through the power_supply userspace API? If you want to use
>>> it for debugging it might be a better idea to provide a debugfs file.
>>> - Lars
>> bq27200 chip has a lot of registers (for diagnostic) which is usefull
>> on Nokia N900. power_supply interface is not very abstract to handle
>> all of them.
> Which registers are we talking about here. And if this generally useful
> information does it make sense to add a new property to the power_supply interface?

I think it is usefull only for bq, see shell script

>> Also on Nokia N900 is needed proprietary pogram BME for
>> battery charging which need to access to bq27200 registers. A simple
>> LD_PRELOAD library which wrap i2c-dev access to this device provided
>> by this patch is here:
> Yes, but that really is a hack to work around the closed source nature of the
> BME program. I don't think we should put such hacks into the kernel.

Not only BME. All programs (and shell scripts and all which use
i2cget) need this interface, bacuse loading bq module will block

Pali Rohár
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2011-11-01 13:57    [W:0.049 / U:12.444 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site