kernel-power v49 -> kernel-bfs
[kernel-bfs] / kernel-bfs-2.6.28 / debian / patches / power-supply-ignore-enodata.diff
1 From f722e17fdb2c97bbec2563636dd88489cdb1428b Mon Sep 17 00:00:00 2001
2 From: Lars-Peter Clausen <lars@metafoo.de>
3 Date: Sat, 8 Jan 2011 19:12:26 +0100
4 Subject: [PATCH] power_supply: Ignore -ENODATA errors when generating uevents
5
6 Sometimes a driver can not report a meaningful value for a certain property
7 and returns -ENODATA.
8
9 Currently when generating a uevent and a property return -ENODATA it is
10 treated as an error an no uevent is generated at all. This is not an
11 desirable behavior.
12
13 This patch adds a special case for -ENODATA and ignores properties which
14 return this error code when generating the uevent.
15
16 Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
17 Tested-by: Grazvydas Ignotas <notasas@gmail.com>
18 ---
19  drivers/power/power_supply_sysfs.c |    2 +-
20  1 files changed, 1 insertions(+), 1 deletions(-)
21
22 diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c
23 index cd1f907..605514a 100644
24 --- a/drivers/power/power_supply_sysfs.c
25 +++ b/drivers/power/power_supply_sysfs.c
26 @@ -270,7 +270,7 @@ int power_supply_uevent(struct device *dev, struct kobj_uevent_env *env)
27                 attr = &power_supply_attrs[psy->properties[j]];
28  
29                 ret = power_supply_show_property(dev, attr, prop_buf);
30 -               if (ret == -ENODEV) {
31 +               if (ret == -ENODEV || ret == -ENODATA) {
32                         /* When a battery is absent, we expect -ENODEV. Don't abort;
33                            send the uevent with at least the the PRESENT=0 property */
34                         ret = 0;
35 -- 
36 1.7.6.2
37