diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2011-09-15 15:08:05 +0200 | 
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2011-09-15 15:08:18 +0200 | 
| commit | e060c38434b2caa78efe7cedaff4191040b65a15 (patch) | |
| tree | 407361230bf6733f63d8e788e4b5e6566ee04818 /drivers/acpi/sbs.c | |
| parent | 10e4ac572eeffe5317019bd7330b6058a400dfc2 (diff) | |
| parent | cc39c6a9bbdebfcf1a7dee64d83bf302bc38d941 (diff) | |
| download | olio-linux-3.10-e060c38434b2caa78efe7cedaff4191040b65a15.tar.xz olio-linux-3.10-e060c38434b2caa78efe7cedaff4191040b65a15.zip  | |
Merge branch 'master' into for-next
Fast-forward merge with Linus to be able to merge patches
based on more recent version of the tree.
Diffstat (limited to 'drivers/acpi/sbs.c')
| -rw-r--r-- | drivers/acpi/sbs.c | 13 | 
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c index 50658ff887d..6e36d0c0057 100644 --- a/drivers/acpi/sbs.c +++ b/drivers/acpi/sbs.c @@ -130,6 +130,9 @@ struct acpi_sbs {  #define to_acpi_sbs(x) container_of(x, struct acpi_sbs, charger) +static int acpi_sbs_remove(struct acpi_device *device, int type); +static int acpi_battery_get_state(struct acpi_battery *battery); +  static inline int battery_scale(int log)  {  	int scale = 1; @@ -195,6 +198,8 @@ static int acpi_sbs_battery_get_property(struct power_supply *psy,  	if ((!battery->present) && psp != POWER_SUPPLY_PROP_PRESENT)  		return -ENODEV; + +	acpi_battery_get_state(battery);  	switch (psp) {  	case POWER_SUPPLY_PROP_STATUS:  		if (battery->rate_now < 0) @@ -225,11 +230,17 @@ static int acpi_sbs_battery_get_property(struct power_supply *psy,  	case POWER_SUPPLY_PROP_POWER_NOW:  		val->intval = abs(battery->rate_now) *  				acpi_battery_ipscale(battery) * 1000; +		val->intval *= (acpi_battery_mode(battery)) ? +				(battery->voltage_now * +				acpi_battery_vscale(battery) / 1000) : 1;  		break;  	case POWER_SUPPLY_PROP_CURRENT_AVG:  	case POWER_SUPPLY_PROP_POWER_AVG:  		val->intval = abs(battery->rate_avg) *  				acpi_battery_ipscale(battery) * 1000; +		val->intval *= (acpi_battery_mode(battery)) ? +				(battery->voltage_now * +				acpi_battery_vscale(battery) / 1000) : 1;  		break;  	case POWER_SUPPLY_PROP_CAPACITY:  		val->intval = battery->state_of_charge; @@ -903,8 +914,6 @@ static void acpi_sbs_callback(void *context)  	}  } -static int acpi_sbs_remove(struct acpi_device *device, int type); -  static int acpi_sbs_add(struct acpi_device *device)  {  	struct acpi_sbs *sbs;  |