Re: [PATCH 2/2] ACPI battery: update battery status first when querying from sysfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 2, 2010 at 6:22 AM, Zhang Rui <rui.zhang@xxxxxxxxx> wrote:
> On Tue, 2010-11-02 at 12:13 +0800, Seblu wrote:
>> On Tue, Nov 2, 2010 at 4:24 AM, Zhang Rui <rui.zhang@xxxxxxxxx> wrote:
>> >
>> > Sometimes the Battery driver doesn't get notifications when it's
>> > plugged/unplugged. And this results in the incorrect Battery
>> > status reported by the power supply sysfs I/F.
>> >
>> > Update the Battery status first when querying from sysfs.
>> >
>> > Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
>> > ---
>> >  drivers/acpi/battery.c |    3 +++
>> >  1 file changed, 3 insertions(+)
>> >
>> > Index: linux-2.6/drivers/acpi/battery.c
>> > ===================================================================
>> > --- linux-2.6.orig/drivers/acpi/battery.c
>> > +++ linux-2.6/drivers/acpi/battery.c
>> > @@ -184,6 +184,9 @@ static int acpi_battery_get_property(str
>> >        int ret = 0;
>> >        struct acpi_battery *battery = to_acpi_battery(psy);
>> >
>> > +       if (acpi_battery_update(battery))
>> > +               return -ENODEV;
>> > +
>> >        if (acpi_battery_present(battery)) {
>> >                /* run battery update only if it is present */
>> >                acpi_battery_get_state(battery);
>> >
>> >
>> >
>> Hello Zhang,
>>
>> i trying 2 times your patch and
>>
>>  $ make
>>   CHK     include/linux/version.h
>>   CHK     include/generated/utsrelease.h
>>   CALL    scripts/checksyscalls.sh
>>   CHK     include/generated/compile.h
>>   LD      drivers/acpi/acpi.o
>>   LD      drivers/acpi/built-in.o
>>   LD [M]  drivers/acpi/processor.o
>>   CC [M]  drivers/acpi/battery.o
>> drivers/acpi/battery.c: In function ‘acpi_battery_get_property’:
>> drivers/acpi/battery.c:187:2: error: implicit declaration of function
>> ‘acpi_battery_update’
>> drivers/acpi/battery.c: At top level:
>> drivers/acpi/battery.c:611:12: error: static declaration of
>> ‘acpi_battery_update’ follows non-static declaration
>> drivers/acpi/battery.c:187:6: note: previous implicit declaration of
>> ‘acpi_battery_update’ was here
>> make[2]: *** [drivers/acpi/battery.o] Error 1
>> make[1]: *** [drivers/acpi] Error 2
>> make: *** [drivers] Error 2
>>
>> i've the same error on 2.6.37-rc1 and last linus git.
>>
> oops. wrong version attached.
> how about this one?
>
> Sometimes the Battery driver doesn't get notifications when it's
> plugged/unplugged. And this results in the incorrect Battery
> status reported by the power supply sysfs I/F.
>
> Update the Battery status first when querying from sysfs.
>
> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
> ---
>  drivers/acpi/battery.c |    5 +++++
>  1 file changed, 5 insertions(+)
>
> Index: linux-2.6/drivers/acpi/battery.c
> ===================================================================
> --- linux-2.6.orig/drivers/acpi/battery.c
> +++ linux-2.6/drivers/acpi/battery.c
> @@ -177,6 +177,8 @@ static int acpi_battery_is_charged(struc
>        return 0;
>  }
>
> +static int acpi_battery_update(struct acpi_battery *battery);
> +
>  static int acpi_battery_get_property(struct power_supply *psy,
>                                     enum power_supply_property psp,
>                                     union power_supply_propval *val)
> @@ -184,6 +186,9 @@ static int acpi_battery_get_property(str
>        int ret = 0;
>        struct acpi_battery *battery = to_acpi_battery(psy);
>
> +       if (acpi_battery_update(battery))
> +               return -ENODEV;
> +
>        if (acpi_battery_present(battery)) {
>                /* run battery update only if it is present */
>                acpi_battery_get_state(battery);
>
>
>
>
I was not able to reproduce the problem with this patch. It smells good!

-- 
Sébastien Luttringer
www.seblu.net
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux