]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/acpi/battery.c
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-omap-h63xx.git] / drivers / acpi / battery.c
index 47f6e38fa6c8effff2ca2ff1f5e3e00841118d5d..a0a178dd189c3259fcc82f323b6c4011fe1442a4 100644 (file)
@@ -174,6 +174,15 @@ static int acpi_battery_get_property(struct power_supply *psy,
                break;
        case POWER_SUPPLY_PROP_CURRENT_NOW:
                val->intval = battery->current_now * 1000;
+               /* if power units are mW, convert to mA by
+                  dividing by current voltage (mV/1000) */
+               if (!battery->power_unit) {
+                       if (battery->voltage_now) {
+                               val->intval /= battery->voltage_now;
+                               val->intval *= 1000;
+                       } else
+                               val->intval = -1;
+               }
                break;
        case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
        case POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN:
@@ -781,7 +790,7 @@ static void acpi_battery_notify(acpi_handle handle, u32 event, void *data)
        acpi_bus_generate_proc_event(device, event,
                                     acpi_battery_present(battery));
        acpi_bus_generate_netlink_event(device->pnp.device_class,
-                                       device->dev.bus_id, event,
+                                       dev_name(&device->dev), event,
                                        acpi_battery_present(battery));
 #ifdef CONFIG_ACPI_SYSFS_POWER
        /* acpi_batter_update could remove power_supply object */