aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndres Salomon <dilinger@queued.net>2007-12-12 14:12:56 -0500
committerAnton Vorontsov <cbouatmailru@gmail.com>2008-02-01 18:42:59 -0500
commit8efe444038a205e79b38b7ad03878824901849a8 (patch)
treeaf3fdf3d84059577ba86630103ae6adbb7d885a3
parent4d24473c435c7c3ad7b43e43b70cdb16aba25443 (diff)
power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL
The CAPACITY_LEVEL stuff defines various levels of charge; however, what is the difference between them? What differentiates between HIGH and NORMAL, LOW and CRITICAL, etc? As it appears that these are fairly arbitrary, we end up making such policy decisions in the kernel (or in hardware). This is the sort of decision that should be made in userspace, not in the kernel. If the hardware does not support _CAPACITY and it cannot be easily calculated, then perhaps the driver should register a custom CAPACITY_LEVEL attribute; however, userspace should not become accustomed to looking for such a thing, and we should certainly not encourage drivers to provide CAPACITY_LEVEL stubs. The following removes support for POWER_SUPPLY_PROP_CAPACITY_LEVEL. The OLPC battery driver is the only driver making use of this, so it's removed from there as well. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
-rw-r--r--Documentation/power_supply_class.txt2
-rw-r--r--drivers/power/olpc_battery.c9
-rw-r--r--drivers/power/power_supply_sysfs.c6
-rw-r--r--include/linux/power_supply.h10
4 files changed, 0 insertions, 27 deletions
diff --git a/Documentation/power_supply_class.txt b/Documentation/power_supply_class.txt
index 9758cf433c06..a032c316b3bc 100644
--- a/Documentation/power_supply_class.txt
+++ b/Documentation/power_supply_class.txt
@@ -100,8 +100,6 @@ age)". I.e. these attributes represents real thresholds, not design values.
100ENERGY_FULL, ENERGY_EMPTY - same as above but for energy. 100ENERGY_FULL, ENERGY_EMPTY - same as above but for energy.
101 101
102CAPACITY - capacity in percents. 102CAPACITY - capacity in percents.
103CAPACITY_LEVEL - capacity level. This corresponds to
104POWER_SUPPLY_CAPACITY_LEVEL_*.
105 103
106TEMP - temperature of the power supply. 104TEMP - temperature of the power supply.
107TEMP_AMBIENT - ambient temperature. 105TEMP_AMBIENT - ambient temperature.
diff --git a/drivers/power/olpc_battery.c b/drivers/power/olpc_battery.c
index c998e68d060f..af7a231092a4 100644
--- a/drivers/power/olpc_battery.c
+++ b/drivers/power/olpc_battery.c
@@ -226,14 +226,6 @@ static int olpc_bat_get_property(struct power_supply *psy,
226 return ret; 226 return ret;
227 val->intval = ec_byte; 227 val->intval = ec_byte;
228 break; 228 break;
229 case POWER_SUPPLY_PROP_CAPACITY_LEVEL:
230 if (ec_byte & BAT_STAT_FULL)
231 val->intval = POWER_SUPPLY_CAPACITY_LEVEL_FULL;
232 else if (ec_byte & BAT_STAT_LOW)
233 val->intval = POWER_SUPPLY_CAPACITY_LEVEL_LOW;
234 else
235 val->intval = POWER_SUPPLY_CAPACITY_LEVEL_NORMAL;
236 break;
237 case POWER_SUPPLY_PROP_TEMP: 229 case POWER_SUPPLY_PROP_TEMP:
238 ret = olpc_ec_cmd(EC_BAT_TEMP, NULL, 0, (void *)&ec_word, 2); 230 ret = olpc_ec_cmd(EC_BAT_TEMP, NULL, 0, (void *)&ec_word, 2);
239 if (ret) 231 if (ret)
@@ -265,7 +257,6 @@ static enum power_supply_property olpc_bat_props[] = {
265 POWER_SUPPLY_PROP_VOLTAGE_AVG, 257 POWER_SUPPLY_PROP_VOLTAGE_AVG,
266 POWER_SUPPLY_PROP_CURRENT_AVG, 258 POWER_SUPPLY_PROP_CURRENT_AVG,
267 POWER_SUPPLY_PROP_CAPACITY, 259 POWER_SUPPLY_PROP_CAPACITY,
268 POWER_SUPPLY_PROP_CAPACITY_LEVEL,
269 POWER_SUPPLY_PROP_TEMP, 260 POWER_SUPPLY_PROP_TEMP,
270 POWER_SUPPLY_PROP_TEMP_AMBIENT, 261 POWER_SUPPLY_PROP_TEMP_AMBIENT,
271 POWER_SUPPLY_PROP_MANUFACTURER, 262 POWER_SUPPLY_PROP_MANUFACTURER,
diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c
index e8ad1fd0f09f..7a2163fa61c3 100644
--- a/drivers/power/power_supply_sysfs.c
+++ b/drivers/power/power_supply_sysfs.c
@@ -50,9 +50,6 @@ static ssize_t power_supply_show_property(struct device *dev,
50 static char *technology_text[] = { 50 static char *technology_text[] = {
51 "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", "NiCd" 51 "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", "NiCd"
52 }; 52 };
53 static char *capacity_level_text[] = {
54 "Unknown", "Critical", "Low", "Normal", "High", "Full"
55 };
56 ssize_t ret; 53 ssize_t ret;
57 struct power_supply *psy = dev_get_drvdata(dev); 54 struct power_supply *psy = dev_get_drvdata(dev);
58 const ptrdiff_t off = attr - power_supply_attrs; 55 const ptrdiff_t off = attr - power_supply_attrs;
@@ -73,9 +70,6 @@ static ssize_t power_supply_show_property(struct device *dev,
73 return sprintf(buf, "%s\n", health_text[value.intval]); 70 return sprintf(buf, "%s\n", health_text[value.intval]);
74 else if (off == POWER_SUPPLY_PROP_TECHNOLOGY) 71 else if (off == POWER_SUPPLY_PROP_TECHNOLOGY)
75 return sprintf(buf, "%s\n", technology_text[value.intval]); 72 return sprintf(buf, "%s\n", technology_text[value.intval]);
76 else if (off == POWER_SUPPLY_PROP_CAPACITY_LEVEL)
77 return sprintf(buf, "%s\n",
78 capacity_level_text[value.intval]);
79 else if (off >= POWER_SUPPLY_PROP_MODEL_NAME) 73 else if (off >= POWER_SUPPLY_PROP_MODEL_NAME)
80 return sprintf(buf, "%s\n", value.strval); 74 return sprintf(buf, "%s\n", value.strval);
81 75
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 606c0957997f..358b38d09fe0 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -56,15 +56,6 @@ enum {
56 POWER_SUPPLY_TECHNOLOGY_NiCd, 56 POWER_SUPPLY_TECHNOLOGY_NiCd,
57}; 57};
58 58
59enum {
60 POWER_SUPPLY_CAPACITY_LEVEL_UNKNOWN = 0,
61 POWER_SUPPLY_CAPACITY_LEVEL_CRITICAL,
62 POWER_SUPPLY_CAPACITY_LEVEL_LOW,
63 POWER_SUPPLY_CAPACITY_LEVEL_NORMAL,
64 POWER_SUPPLY_CAPACITY_LEVEL_HIGH,
65 POWER_SUPPLY_CAPACITY_LEVEL_FULL,
66};
67
68enum power_supply_property { 59enum power_supply_property {
69 /* Properties of type `int' */ 60 /* Properties of type `int' */
70 POWER_SUPPLY_PROP_STATUS = 0, 61 POWER_SUPPLY_PROP_STATUS = 0,
@@ -91,7 +82,6 @@ enum power_supply_property {
91 POWER_SUPPLY_PROP_ENERGY_NOW, 82 POWER_SUPPLY_PROP_ENERGY_NOW,
92 POWER_SUPPLY_PROP_ENERGY_AVG, 83 POWER_SUPPLY_PROP_ENERGY_AVG,
93 POWER_SUPPLY_PROP_CAPACITY, /* in percents! */ 84 POWER_SUPPLY_PROP_CAPACITY, /* in percents! */
94 POWER_SUPPLY_PROP_CAPACITY_LEVEL,
95 POWER_SUPPLY_PROP_TEMP, 85 POWER_SUPPLY_PROP_TEMP,
96 POWER_SUPPLY_PROP_TEMP_AMBIENT, 86 POWER_SUPPLY_PROP_TEMP_AMBIENT,
97 POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW, 87 POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW,