From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38023) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XoLlX-00024V-3G for qemu-devel@nongnu.org; Tue, 11 Nov 2014 19:26:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XoLlR-0000Ej-5S for qemu-devel@nongnu.org; Tue, 11 Nov 2014 19:26:31 -0500 Received: from mail-oi0-f48.google.com ([209.85.218.48]:61997) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XoLlQ-0000Dr-Vg for qemu-devel@nongnu.org; Tue, 11 Nov 2014 19:26:25 -0500 Received: by mail-oi0-f48.google.com with SMTP id x69so7836404oia.35 for ; Tue, 11 Nov 2014 16:26:24 -0800 (PST) From: Greg Bellows Date: Tue, 11 Nov 2014 18:25:57 -0600 Message-Id: <1415751963-4081-10-git-send-email-greg.bellows@linaro.org> In-Reply-To: <1415751963-4081-1-git-send-email-greg.bellows@linaro.org> References: <1415751963-4081-1-git-send-email-greg.bellows@linaro.org> Subject: [Qemu-devel] [PATCH v1 09/15] android-console: Add GF battery prop print func List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, peter.maydell@linaro.org, christoffer.dall@linaro.org, alex.bennee@linaro.org Cc: Greg Bellows Add a function for printing out the Goldfish battery properties to the android console. Signed-off-by: Greg Bellows --- hw/misc/goldfish_battery.c | 54 ++++++++++++++++++++++++++++++++++++++ include/hw/misc/goldfish_battery.h | 2 ++ 2 files changed, 56 insertions(+) diff --git a/hw/misc/goldfish_battery.c b/hw/misc/goldfish_battery.c index c956eb2..c7c9d98 100644 --- a/hw/misc/goldfish_battery.c +++ b/hw/misc/goldfish_battery.c @@ -12,6 +12,7 @@ #include "hw/hw.h" #include "hw/sysbus.h" #include "qemu/error-report.h" +#include "monitor/monitor.h" #include "hw/misc/goldfish_battery.h" enum { @@ -74,6 +75,59 @@ static const VMStateDescription goldfish_battery_vmsd = { } }; +void goldfish_battery_display(Monitor *mon) +{ + DeviceState *dev = qdev_find_recursive(sysbus_get_default(), + TYPE_GOLDFISH_BATTERY); + struct goldfish_battery_state *s = GOLDFISH_BATTERY(dev); + const char *value; + + monitor_printf(mon, "AC: %s\n", (s->ac_online) ? "online" : "offline"); + + switch (s->status) { + case POWER_SUPPLY_STATUS_CHARGING: + value = "Charging"; + break; + case POWER_SUPPLY_STATUS_DISCHARGING: + value = "Discharging"; + break; + case POWER_SUPPLY_STATUS_NOT_CHARGING: + value = "Not charging"; + break; + case POWER_SUPPLY_STATUS_FULL: + value = "Full"; + break; + default: + value = "Unknown"; + } + monitor_printf(mon, "status: %s\n", value); + + switch (s->health) { + case POWER_SUPPLY_HEALTH_GOOD: + value = "Good"; + break; + case POWER_SUPPLY_HEALTH_OVERHEAT: + value = "Overhead"; + break; + case POWER_SUPPLY_HEALTH_DEAD: + value = "Dead"; + break; + case POWER_SUPPLY_HEALTH_OVERVOLTAGE: + value = "Overvoltage"; + break; + case POWER_SUPPLY_HEALTH_UNSPEC_FAILURE: + value = "Unspecified failure"; + break; + default: + value = "Unknown"; + } + monitor_printf(mon, "health: %s\n", value); + + monitor_printf(mon, "present: %s\n", (s->present) ? "true" : "false"); + + monitor_printf(mon, "capacity: %d\n", s->capacity); +} + static uint64_t goldfish_battery_read(void *opaque, hwaddr offset, unsigned size) { uint64_t ret; diff --git a/include/hw/misc/goldfish_battery.h b/include/hw/misc/goldfish_battery.h index 85a9f2f..f497538 100644 --- a/include/hw/misc/goldfish_battery.h +++ b/include/hw/misc/goldfish_battery.h @@ -68,4 +68,6 @@ enum power_supply_property { POWER_SUPPLY_PROP_MANUFACTURER, }; +extern void goldfish_battery_display(Monitor *mon); + #endif /* _HW_GOLDFISH_BATTERY_H */ -- 1.8.3.2