diff options
-rw-r--r-- | drivers/power/power_supply_sysfs.c | 6 | ||||
-rw-r--r-- | include/linux/power_supply.h | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c index e15d4c9d3988..21178ebfe51a 100644 --- a/drivers/power/power_supply_sysfs.c +++ b/drivers/power/power_supply_sysfs.c | |||
@@ -63,6 +63,9 @@ static ssize_t power_supply_show_property(struct device *dev, | |||
63 | static char *capacity_level_text[] = { | 63 | static char *capacity_level_text[] = { |
64 | "Unknown", "Critical", "Low", "Normal", "High", "Full" | 64 | "Unknown", "Critical", "Low", "Normal", "High", "Full" |
65 | }; | 65 | }; |
66 | static char *scope_text[] = { | ||
67 | "Unknown", "System", "Device" | ||
68 | }; | ||
66 | ssize_t ret = 0; | 69 | ssize_t ret = 0; |
67 | struct power_supply *psy = dev_get_drvdata(dev); | 70 | struct power_supply *psy = dev_get_drvdata(dev); |
68 | const ptrdiff_t off = attr - power_supply_attrs; | 71 | const ptrdiff_t off = attr - power_supply_attrs; |
@@ -95,6 +98,8 @@ static ssize_t power_supply_show_property(struct device *dev, | |||
95 | return sprintf(buf, "%s\n", capacity_level_text[value.intval]); | 98 | return sprintf(buf, "%s\n", capacity_level_text[value.intval]); |
96 | else if (off == POWER_SUPPLY_PROP_TYPE) | 99 | else if (off == POWER_SUPPLY_PROP_TYPE) |
97 | return sprintf(buf, "%s\n", type_text[value.intval]); | 100 | return sprintf(buf, "%s\n", type_text[value.intval]); |
101 | else if (off == POWER_SUPPLY_PROP_SCOPE) | ||
102 | return sprintf(buf, "%s\n", scope_text[value.intval]); | ||
98 | else if (off >= POWER_SUPPLY_PROP_MODEL_NAME) | 103 | else if (off >= POWER_SUPPLY_PROP_MODEL_NAME) |
99 | return sprintf(buf, "%s\n", value.strval); | 104 | return sprintf(buf, "%s\n", value.strval); |
100 | 105 | ||
@@ -167,6 +172,7 @@ static struct device_attribute power_supply_attrs[] = { | |||
167 | POWER_SUPPLY_ATTR(time_to_full_now), | 172 | POWER_SUPPLY_ATTR(time_to_full_now), |
168 | POWER_SUPPLY_ATTR(time_to_full_avg), | 173 | POWER_SUPPLY_ATTR(time_to_full_avg), |
169 | POWER_SUPPLY_ATTR(type), | 174 | POWER_SUPPLY_ATTR(type), |
175 | POWER_SUPPLY_ATTR(scope), | ||
170 | /* Properties of type `const char *' */ | 176 | /* Properties of type `const char *' */ |
171 | POWER_SUPPLY_ATTR(model_name), | 177 | POWER_SUPPLY_ATTR(model_name), |
172 | POWER_SUPPLY_ATTR(manufacturer), | 178 | POWER_SUPPLY_ATTR(manufacturer), |
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h index 204c18dfdc9e..040a7b08e7c7 100644 --- a/include/linux/power_supply.h +++ b/include/linux/power_supply.h | |||
@@ -74,6 +74,12 @@ enum { | |||
74 | POWER_SUPPLY_CAPACITY_LEVEL_FULL, | 74 | POWER_SUPPLY_CAPACITY_LEVEL_FULL, |
75 | }; | 75 | }; |
76 | 76 | ||
77 | enum { | ||
78 | POWER_SUPPLY_SCOPE_UNKNOWN = 0, | ||
79 | POWER_SUPPLY_SCOPE_SYSTEM, | ||
80 | POWER_SUPPLY_SCOPE_DEVICE, | ||
81 | }; | ||
82 | |||
77 | enum power_supply_property { | 83 | enum power_supply_property { |
78 | /* Properties of type `int' */ | 84 | /* Properties of type `int' */ |
79 | POWER_SUPPLY_PROP_STATUS = 0, | 85 | POWER_SUPPLY_PROP_STATUS = 0, |
@@ -116,6 +122,7 @@ enum power_supply_property { | |||
116 | POWER_SUPPLY_PROP_TIME_TO_FULL_NOW, | 122 | POWER_SUPPLY_PROP_TIME_TO_FULL_NOW, |
117 | POWER_SUPPLY_PROP_TIME_TO_FULL_AVG, | 123 | POWER_SUPPLY_PROP_TIME_TO_FULL_AVG, |
118 | POWER_SUPPLY_PROP_TYPE, /* use power_supply.type instead */ | 124 | POWER_SUPPLY_PROP_TYPE, /* use power_supply.type instead */ |
125 | POWER_SUPPLY_PROP_SCOPE, | ||
119 | /* Properties of type `const char *' */ | 126 | /* Properties of type `const char *' */ |
120 | POWER_SUPPLY_PROP_MODEL_NAME, | 127 | POWER_SUPPLY_PROP_MODEL_NAME, |
121 | POWER_SUPPLY_PROP_MANUFACTURER, | 128 | POWER_SUPPLY_PROP_MANUFACTURER, |