diff options
author | Siena Richard <sienar@codeaurora.org> | 2016-11-01 11:48:03 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-11-04 13:58:31 -0700 |
commit | 633c754750adec8ab603904fd08f7cf96dd65f75 (patch) | |
tree | 29317e06798f3629f55fe7e9e0ee0113e41cc4a5 /drivers/mfd | |
parent | 758693b4a6d94a0724081578d24f6ba1cc449255 (diff) |
ASoC: wcd9xxx: clean up bootup errors
Fix errors shown during bootup to ensure robustness and enable
cleaner bootup process.
Change-Id: Ic6671aede0742f46e8573340a497e9f19773e5d8
CRs-fixed: 1073250
Signed-off-by: Siena Richard <sienar@codeaurora.org>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/wcd9xxx-utils.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/drivers/mfd/wcd9xxx-utils.c b/drivers/mfd/wcd9xxx-utils.c index fab594992df3..8c2621210969 100644 --- a/drivers/mfd/wcd9xxx-utils.c +++ b/drivers/mfd/wcd9xxx-utils.c @@ -310,6 +310,7 @@ struct wcd9xxx_pdata *wcd9xxx_populate_dt_data(struct device *dev) u32 ecpp_dmic_sample_rate = WCD9XXX_DMIC_SAMPLE_RATE_UNDEFINED; u32 dmic_clk_drive = WCD9XXX_DMIC_CLK_DRIVE_UNDEFINED; u32 prop_val; + int rc = 0; if (!dev || !dev->of_node) return NULL; @@ -368,9 +369,13 @@ struct wcd9xxx_pdata *wcd9xxx_populate_dt_data(struct device *dev) pdata->mclk_rate, "mad_dmic_rate"); - if (!(wcd9xxx_read_of_property_u32(dev, "qcom,cdc-ecpp-dmic-rate", - &prop_val))) - ecpp_dmic_sample_rate = prop_val; + if (of_find_property(dev->of_node, "qcom,cdc-ecpp-dmic-rate", NULL)) { + rc = wcd9xxx_read_of_property_u32(dev, + "qcom,cdc-ecpp-dmic-rate", + &prop_val); + if (!rc) + ecpp_dmic_sample_rate = prop_val; + } pdata->ecpp_dmic_sample_rate = wcd9xxx_validate_dmic_sample_rate(dev, ecpp_dmic_sample_rate, @@ -379,13 +384,14 @@ struct wcd9xxx_pdata *wcd9xxx_populate_dt_data(struct device *dev) if (!(of_property_read_u32(dev->of_node, "qcom,cdc-dmic-clk-drv-strength", - &prop_val))) + &prop_val))) { dmic_clk_drive = prop_val; - if (dmic_clk_drive != 2 && dmic_clk_drive != 4 && - dmic_clk_drive != 8 && dmic_clk_drive != 16) - dev_err(dev, "Invalid cdc-dmic-clk-drv-strength %d\n", - dmic_clk_drive); + if (dmic_clk_drive != 2 && dmic_clk_drive != 4 && + dmic_clk_drive != 8 && dmic_clk_drive != 16) + dev_err(dev, "Invalid cdc-dmic-clk-drv-strength %d\n", + dmic_clk_drive); + } pdata->dmic_clk_drv = dmic_clk_drive; |