|
@@ -332,7 +332,7 @@ int __init find_via_pmu(void)
|
|
}
|
|
}
|
|
if (gpio_reg == NULL) {
|
|
if (gpio_reg == NULL) {
|
|
printk(KERN_ERR "via-pmu: Can't find GPIO reg !\n");
|
|
printk(KERN_ERR "via-pmu: Can't find GPIO reg !\n");
|
|
- goto fail_gpio;
|
|
|
|
|
|
+ goto fail;
|
|
}
|
|
}
|
|
} else
|
|
} else
|
|
pmu_kind = PMU_UNKNOWN;
|
|
pmu_kind = PMU_UNKNOWN;
|
|
@@ -340,7 +340,7 @@ int __init find_via_pmu(void)
|
|
via = ioremap(taddr, 0x2000);
|
|
via = ioremap(taddr, 0x2000);
|
|
if (via == NULL) {
|
|
if (via == NULL) {
|
|
printk(KERN_ERR "via-pmu: Can't map address !\n");
|
|
printk(KERN_ERR "via-pmu: Can't map address !\n");
|
|
- goto fail;
|
|
|
|
|
|
+ goto fail_via_remap;
|
|
}
|
|
}
|
|
|
|
|
|
out_8(&via[IER], IER_CLR | 0x7f); /* disable all intrs */
|
|
out_8(&via[IER], IER_CLR | 0x7f); /* disable all intrs */
|
|
@@ -348,10 +348,8 @@ int __init find_via_pmu(void)
|
|
|
|
|
|
pmu_state = idle;
|
|
pmu_state = idle;
|
|
|
|
|
|
- if (!init_pmu()) {
|
|
|
|
- via = NULL;
|
|
|
|
- return 0;
|
|
|
|
- }
|
|
|
|
|
|
+ if (!init_pmu())
|
|
|
|
+ goto fail_init;
|
|
|
|
|
|
printk(KERN_INFO "PMU driver v%d initialized for %s, firmware: %02x\n",
|
|
printk(KERN_INFO "PMU driver v%d initialized for %s, firmware: %02x\n",
|
|
PMU_DRIVER_VERSION, pbook_type[pmu_kind], pmu_version);
|
|
PMU_DRIVER_VERSION, pbook_type[pmu_kind], pmu_version);
|
|
@@ -359,11 +357,15 @@ int __init find_via_pmu(void)
|
|
sys_ctrler = SYS_CTRLER_PMU;
|
|
sys_ctrler = SYS_CTRLER_PMU;
|
|
|
|
|
|
return 1;
|
|
return 1;
|
|
- fail:
|
|
|
|
- of_node_put(vias);
|
|
|
|
|
|
+
|
|
|
|
+ fail_init:
|
|
|
|
+ iounmap(via);
|
|
|
|
+ via = NULL;
|
|
|
|
+ fail_via_remap:
|
|
iounmap(gpio_reg);
|
|
iounmap(gpio_reg);
|
|
gpio_reg = NULL;
|
|
gpio_reg = NULL;
|
|
- fail_gpio:
|
|
|
|
|
|
+ fail:
|
|
|
|
+ of_node_put(vias);
|
|
vias = NULL;
|
|
vias = NULL;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|