aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2013-04-04 06:39:00 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2013-04-09 06:02:42 -0400
commit741cdecfc5255085d348ccaad1d1befbd6ae9222 (patch)
tree561ddde05193b8bfa08a0f815de0bb73631f26c1 /drivers/mfd
parent5fb1c2dd8f9e9f3fd4ecbaefc75b83ab0ec40cfa (diff)
mfd: db8500-prcmu: Return early if the TCPM cannot be located
Currently we check to see if we obtained the Tightly Coupled Program Memory (TCPM) base and only execute the code within the check if we have it. It's more traditional to return early if we don't have it. This way we can flatten most of the function's code down to a single tab spacing. Signed-off-by: Lee Jones <lee.jones@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/db8500-prcmu.c40
1 files changed, 21 insertions, 19 deletions
diff --git a/drivers/mfd/db8500-prcmu.c b/drivers/mfd/db8500-prcmu.c
index 21434beb420a..25dda8d7cb00 100644
--- a/drivers/mfd/db8500-prcmu.c
+++ b/drivers/mfd/db8500-prcmu.c
@@ -2704,6 +2704,7 @@ static void dbx500_fw_version_init(struct platform_device *pdev,
2704{ 2704{
2705 struct resource *res; 2705 struct resource *res;
2706 void __iomem *tcpm_base; 2706 void __iomem *tcpm_base;
2707 u32 version;
2707 2708
2708 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, 2709 res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
2709 "prcmu-tcpm"); 2710 "prcmu-tcpm");
@@ -2713,26 +2714,27 @@ static void dbx500_fw_version_init(struct platform_device *pdev,
2713 return; 2714 return;
2714 } 2715 }
2715 tcpm_base = ioremap(res->start, resource_size(res)); 2716 tcpm_base = ioremap(res->start, resource_size(res));
2716 if (tcpm_base != NULL) { 2717 if (!tcpm_base) {
2717 u32 version; 2718 dev_err(&pdev->dev, "no prcmu tcpm mem region provided\n");
2718 2719 return;
2719 version = readl(tcpm_base + version_offset);
2720 fw_info.version.project = (version & 0xFF);
2721 fw_info.version.api_version = (version >> 8) & 0xFF;
2722 fw_info.version.func_version = (version >> 16) & 0xFF;
2723 fw_info.version.errata = (version >> 24) & 0xFF;
2724 strncpy(fw_info.version.project_name,
2725 fw_project_name(fw_info.version.project),
2726 PRCMU_FW_PROJECT_NAME_LEN);
2727 fw_info.valid = true;
2728 pr_info("PRCMU firmware: %s(%d), version %d.%d.%d\n",
2729 fw_info.version.project_name,
2730 fw_info.version.project,
2731 fw_info.version.api_version,
2732 fw_info.version.func_version,
2733 fw_info.version.errata);
2734 iounmap(tcpm_base);
2735 } 2720 }
2721
2722 version = readl(tcpm_base + version_offset);
2723 fw_info.version.project = (version & 0xFF);
2724 fw_info.version.api_version = (version >> 8) & 0xFF;
2725 fw_info.version.func_version = (version >> 16) & 0xFF;
2726 fw_info.version.errata = (version >> 24) & 0xFF;
2727 strncpy(fw_info.version.project_name,
2728 fw_project_name(fw_info.version.project),
2729 PRCMU_FW_PROJECT_NAME_LEN);
2730 fw_info.valid = true;
2731 pr_info("PRCMU firmware: %s(%d), version %d.%d.%d\n",
2732 fw_info.version.project_name,
2733 fw_info.version.project,
2734 fw_info.version.api_version,
2735 fw_info.version.func_version,
2736 fw_info.version.errata);
2737 iounmap(tcpm_base);
2736} 2738}
2737 2739
2738void __init db8500_prcmu_early_init(u32 phy_base, u32 size) 2740void __init db8500_prcmu_early_init(u32 phy_base, u32 size)