Skip to content

Commit

Permalink
mfd: Print ab8500 switch off cause
Browse files Browse the repository at this point in the history
Instead of just printing the register value, also output some
description of the value.

Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-by: Mattias Wallin <mattias.wallin@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
  • Loading branch information
Jonas Aaberg authored and Samuel Ortiz committed Jul 8, 2012
1 parent 5261e10 commit b04c530
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion drivers/mfd/ab8500-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1232,6 +1232,15 @@ static struct attribute_group ab9540_attr_group = {

static int __devinit ab8500_probe(struct platform_device *pdev)
{
static char *switch_off_status[] = {
"Swoff bit programming",
"Thermal protection activation",
"Vbat lower then BattOk falling threshold",
"Watchdog expired",
"Non presence of 32kHz clock",
"Battery level lower than power on reset threshold",
"Power on key 1 pressed longer than 10 seconds",
"DB8500 thermal shutdown"};
struct ab8500_platform_data *plat = dev_get_platdata(&pdev->dev);
const struct platform_device_id *platid = platform_get_device_id(pdev);
enum ab8500_version version = AB8500_VERSION_UNDEFINED;
Expand Down Expand Up @@ -1327,7 +1336,20 @@ static int __devinit ab8500_probe(struct platform_device *pdev)
AB8500_SWITCH_OFF_STATUS, &value);
if (ret < 0)
return ret;
dev_info(ab8500->dev, "switch off status: %#x\n", value);
dev_info(ab8500->dev, "switch off cause(s) (%#x): ", value);

if (value) {
for (i = 0; i < ARRAY_SIZE(switch_off_status); i++) {
if (value & 1)
printk(KERN_CONT " \"%s\"",
switch_off_status[i]);
value = value >> 1;

}
printk(KERN_CONT "\n");
} else {
printk(KERN_CONT " None\n");
}

if (plat && plat->init)
plat->init(ab8500);
Expand Down

0 comments on commit b04c530

Please sign in to comment.