aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/power/power_supply_sysfs.c6
-rw-r--r--include/linux/power_supply.h7
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
77enum {
78 POWER_SUPPLY_SCOPE_UNKNOWN = 0,
79 POWER_SUPPLY_SCOPE_SYSTEM,
80 POWER_SUPPLY_SCOPE_DEVICE,
81};
82
77enum power_supply_property { 83enum 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,