]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ASoC: Intel: sst: Simplify is_byt_cr()
authorStephan Gerhold <stephan@gerhold.net>
Wed, 2 Jan 2019 19:39:03 +0000 (20:39 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 4 Jan 2019 15:15:51 +0000 (15:15 +0000)
is_byt_cr() and its usage can be simplified by returning the bool
directly, instead of through a pointer. This works because the
return value is just treated as bytcr = false and is not used
otherwise.

This patch also removes the extra check of
IS_ENABLED(CONFIG_IOSF_MBI) in favor of checking
iosf_mbi_available() directly. The header already takes care
of returning false if the config option is not enabled.

No functional change.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/atom/sst/sst_acpi.c

index 3a95ebbfc45d30d9bfd40cee2ea05236c3e01964..9eaac450f8649a4663c5a5fa566ad74dbcb6a7c1 100644 (file)
@@ -255,18 +255,15 @@ static int is_byt(void)
        return status;
 }
 
-static int is_byt_cr(struct device *dev, bool *bytcr)
+static bool is_byt_cr(struct device *dev)
 {
        int status = 0;
 
-       if (IS_ENABLED(CONFIG_IOSF_MBI)) {
-               u32 bios_status;
-
-               if (!is_byt() || !iosf_mbi_available()) {
-                       /* bail silently */
-                       return status;
-               }
+       if (!is_byt())
+               return false;
 
+       if (iosf_mbi_available()) {
+               u32 bios_status;
                status = iosf_mbi_read(BT_MBI_UNIT_PMC, /* 0x04 PUNIT */
                                       MBI_REG_READ, /* 0x10 */
                                       0x006, /* BIOS_CONFIG */
@@ -278,15 +275,17 @@ static int is_byt_cr(struct device *dev, bool *bytcr)
                        /* bits 26:27 mirror PMIC options */
                        bios_status = (bios_status >> 26) & 3;
 
-                       if ((bios_status == 1) || (bios_status == 3))
-                               *bytcr = true;
-                       else
-                               dev_info(dev, "BYT-CR not detected\n");
+                       if (bios_status == 1 || bios_status == 3) {
+                               dev_info(dev, "Detected Baytrail-CR platform\n");
+                               return true;
+                       }
+
+                       dev_info(dev, "BYT-CR not detected\n");
                }
        } else {
-               dev_info(dev, "IOSF_MBI not enabled, no BYT-CR detection\n");
+               dev_info(dev, "IOSF_MBI not available, no BYT-CR detection\n");
        }
-       return status;
+       return false;
 }
 
 
@@ -301,7 +300,6 @@ static int sst_acpi_probe(struct platform_device *pdev)
        struct platform_device *plat_dev;
        struct sst_platform_info *pdata;
        unsigned int dev_id;
-       bool bytcr = false;
 
        id = acpi_match_device(dev->driver->acpi_match_table, dev);
        if (!id)
@@ -333,10 +331,7 @@ static int sst_acpi_probe(struct platform_device *pdev)
        if (ret < 0)
                return ret;
 
-       ret = is_byt_cr(dev, &bytcr);
-       if (!(ret < 0 || !bytcr)) {
-               dev_info(dev, "Detected Baytrail-CR platform\n");
-
+       if (is_byt_cr(dev)) {
                /* override resource info */
                byt_rvp_platform_data.res_info = &bytcr_res_info;
        }