diff options
-rw-r--r-- | sound/soc/codecs/da7213.c | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/sound/soc/codecs/da7213.c b/sound/soc/codecs/da7213.c index 024d83fa6a7f..c3e11897f8ae 100644 --- a/sound/soc/codecs/da7213.c +++ b/sound/soc/codecs/da7213.c | |||
@@ -13,6 +13,8 @@ | |||
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <linux/acpi.h> | 15 | #include <linux/acpi.h> |
16 | #include <linux/of_device.h> | ||
17 | #include <linux/property.h> | ||
16 | #include <linux/clk.h> | 18 | #include <linux/clk.h> |
17 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
18 | #include <linux/i2c.h> | 20 | #include <linux/i2c.h> |
@@ -1606,12 +1608,12 @@ static enum da7213_dmic_clk_rate | |||
1606 | } | 1608 | } |
1607 | 1609 | ||
1608 | static struct da7213_platform_data | 1610 | static struct da7213_platform_data |
1609 | *da7213_of_to_pdata(struct snd_soc_codec *codec) | 1611 | *da7213_fw_to_pdata(struct snd_soc_codec *codec) |
1610 | { | 1612 | { |
1611 | struct device_node *np = codec->dev->of_node; | 1613 | struct device *dev = codec->dev; |
1612 | struct da7213_platform_data *pdata; | 1614 | struct da7213_platform_data *pdata; |
1613 | const char *of_str; | 1615 | const char *fw_str; |
1614 | u32 of_val32; | 1616 | u32 fw_val32; |
1615 | 1617 | ||
1616 | pdata = devm_kzalloc(codec->dev, sizeof(*pdata), GFP_KERNEL); | 1618 | pdata = devm_kzalloc(codec->dev, sizeof(*pdata), GFP_KERNEL); |
1617 | if (!pdata) { | 1619 | if (!pdata) { |
@@ -1619,29 +1621,29 @@ static struct da7213_platform_data | |||
1619 | return NULL; | 1621 | return NULL; |
1620 | } | 1622 | } |
1621 | 1623 | ||
1622 | if (of_property_read_u32(np, "dlg,micbias1-lvl", &of_val32) >= 0) | 1624 | if (device_property_read_u32(dev, "dlg,micbias1-lvl", &fw_val32) >= 0) |
1623 | pdata->micbias1_lvl = da7213_of_micbias_lvl(codec, of_val32); | 1625 | pdata->micbias1_lvl = da7213_of_micbias_lvl(codec, fw_val32); |
1624 | else | 1626 | else |
1625 | pdata->micbias1_lvl = DA7213_MICBIAS_2_2V; | 1627 | pdata->micbias1_lvl = DA7213_MICBIAS_2_2V; |
1626 | 1628 | ||
1627 | if (of_property_read_u32(np, "dlg,micbias2-lvl", &of_val32) >= 0) | 1629 | if (device_property_read_u32(dev, "dlg,micbias2-lvl", &fw_val32) >= 0) |
1628 | pdata->micbias2_lvl = da7213_of_micbias_lvl(codec, of_val32); | 1630 | pdata->micbias2_lvl = da7213_of_micbias_lvl(codec, fw_val32); |
1629 | else | 1631 | else |
1630 | pdata->micbias2_lvl = DA7213_MICBIAS_2_2V; | 1632 | pdata->micbias2_lvl = DA7213_MICBIAS_2_2V; |
1631 | 1633 | ||
1632 | if (!of_property_read_string(np, "dlg,dmic-data-sel", &of_str)) | 1634 | if (!device_property_read_string(dev, "dlg,dmic-data-sel", &fw_str)) |
1633 | pdata->dmic_data_sel = da7213_of_dmic_data_sel(codec, of_str); | 1635 | pdata->dmic_data_sel = da7213_of_dmic_data_sel(codec, fw_str); |
1634 | else | 1636 | else |
1635 | pdata->dmic_data_sel = DA7213_DMIC_DATA_LRISE_RFALL; | 1637 | pdata->dmic_data_sel = DA7213_DMIC_DATA_LRISE_RFALL; |
1636 | 1638 | ||
1637 | if (!of_property_read_string(np, "dlg,dmic-samplephase", &of_str)) | 1639 | if (!device_property_read_string(dev, "dlg,dmic-samplephase", &fw_str)) |
1638 | pdata->dmic_samplephase = | 1640 | pdata->dmic_samplephase = |
1639 | da7213_of_dmic_samplephase(codec, of_str); | 1641 | da7213_of_dmic_samplephase(codec, fw_str); |
1640 | else | 1642 | else |
1641 | pdata->dmic_samplephase = DA7213_DMIC_SAMPLE_ON_CLKEDGE; | 1643 | pdata->dmic_samplephase = DA7213_DMIC_SAMPLE_ON_CLKEDGE; |
1642 | 1644 | ||
1643 | if (of_property_read_u32(np, "dlg,dmic-clkrate", &of_val32) >= 0) | 1645 | if (device_property_read_u32(dev, "dlg,dmic-clkrate", &fw_val32) >= 0) |
1644 | pdata->dmic_clk_rate = da7213_of_dmic_clkrate(codec, of_val32); | 1646 | pdata->dmic_clk_rate = da7213_of_dmic_clkrate(codec, fw_val32); |
1645 | else | 1647 | else |
1646 | pdata->dmic_clk_rate = DA7213_DMIC_CLK_3_0MHZ; | 1648 | pdata->dmic_clk_rate = DA7213_DMIC_CLK_3_0MHZ; |
1647 | 1649 | ||
@@ -1713,10 +1715,9 @@ static int da7213_probe(struct snd_soc_codec *codec) | |||
1713 | DA7213_LINE_AMP_OE, DA7213_LINE_AMP_OE); | 1715 | DA7213_LINE_AMP_OE, DA7213_LINE_AMP_OE); |
1714 | 1716 | ||
1715 | /* Handle DT/Platform data */ | 1717 | /* Handle DT/Platform data */ |
1716 | if (codec->dev->of_node) | 1718 | da7213->pdata = dev_get_platdata(codec->dev); |
1717 | da7213->pdata = da7213_of_to_pdata(codec); | 1719 | if (!da7213->pdata) |
1718 | else | 1720 | da7213->pdata = da7213_fw_to_pdata(codec); |
1719 | da7213->pdata = dev_get_platdata(codec->dev); | ||
1720 | 1721 | ||
1721 | /* Set platform data values */ | 1722 | /* Set platform data values */ |
1722 | if (da7213->pdata) { | 1723 | if (da7213->pdata) { |