Re: [PATCH 8/9] bq27x00: Add miscdevice for each battery with ioctlfor reading registers

From: Pali RohÃr
Date: Tue Nov 01 2011 - 08:24:23 EST


2011/11/1 Lars-Peter Clausen <lars@xxxxxxxxxx>:
> 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 <pali.rohar@xxxxxxxxx>
>
> 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. 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:
https://code.launchpad.net/~pali/+junk/maemo_libbqioctl

Other shell script which show all info from bq register is here:
http://enivax.net/jk/n900/bq.tar

--
Pali RohÃr
pali.rohar@xxxxxxxxx
--
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/