Commit 7c2a3cfc authored by Mark Brown's avatar Mark Brown

ASoC: codecs: msm8916-wcd-analog: Cleanup DT bindings

Merge series from Stephan Gerhold <stephan@gerhold.net>:

Drop the redundant reg-names and mclk from the PM8916 analog codec.
Having the mclk on the analog codec is incorrect because only the
digital codec consumes it directly.
parents 3adbc7c7 5c0f9652
...@@ -19,17 +19,6 @@ properties: ...@@ -19,17 +19,6 @@ properties:
reg: reg:
maxItems: 1 maxItems: 1
reg-names:
items:
- const: pmic-codec-core
clocks:
maxItems: 1
clock-names:
items:
- const: mclk
interrupts: interrupts:
maxItems: 14 maxItems: 14
...@@ -113,48 +102,52 @@ additionalProperties: false ...@@ -113,48 +102,52 @@ additionalProperties: false
examples: examples:
- | - |
#include <dt-bindings/clock/qcom,gcc-msm8916.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
audio-codec@f000{
compatible = "qcom,pm8916-wcd-analog-codec"; pmic@1 {
reg = <0xf000 0x200>; compatible = "qcom,pm8916", "qcom,spmi-pmic";
reg-names = "pmic-codec-core"; reg = <0x1 SPMI_USID>;
clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>; #address-cells = <1>;
clock-names = "mclk"; #size-cells = <0>;
qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
qcom,mbhc-vthreshold-high = <75 150 237 450 500>; audio-codec@f000 {
interrupt-parent = <&spmi_bus>; compatible = "qcom,pm8916-wcd-analog-codec";
interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>, reg = <0xf000>;
<0x1 0xf0 0x1 IRQ_TYPE_NONE>, qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
<0x1 0xf0 0x2 IRQ_TYPE_NONE>, qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
<0x1 0xf0 0x3 IRQ_TYPE_NONE>, interrupt-parent = <&spmi_bus>;
<0x1 0xf0 0x4 IRQ_TYPE_NONE>, interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
<0x1 0xf0 0x5 IRQ_TYPE_NONE>, <0x1 0xf0 0x1 IRQ_TYPE_NONE>,
<0x1 0xf0 0x6 IRQ_TYPE_NONE>, <0x1 0xf0 0x2 IRQ_TYPE_NONE>,
<0x1 0xf0 0x7 IRQ_TYPE_NONE>, <0x1 0xf0 0x3 IRQ_TYPE_NONE>,
<0x1 0xf1 0x0 IRQ_TYPE_NONE>, <0x1 0xf0 0x4 IRQ_TYPE_NONE>,
<0x1 0xf1 0x1 IRQ_TYPE_NONE>, <0x1 0xf0 0x5 IRQ_TYPE_NONE>,
<0x1 0xf1 0x2 IRQ_TYPE_NONE>, <0x1 0xf0 0x6 IRQ_TYPE_NONE>,
<0x1 0xf1 0x3 IRQ_TYPE_NONE>, <0x1 0xf0 0x7 IRQ_TYPE_NONE>,
<0x1 0xf1 0x4 IRQ_TYPE_NONE>, <0x1 0xf1 0x0 IRQ_TYPE_NONE>,
<0x1 0xf1 0x5 IRQ_TYPE_NONE>; <0x1 0xf1 0x1 IRQ_TYPE_NONE>,
interrupt-names = "cdc_spk_cnp_int", <0x1 0xf1 0x2 IRQ_TYPE_NONE>,
"cdc_spk_clip_int", <0x1 0xf1 0x3 IRQ_TYPE_NONE>,
"cdc_spk_ocp_int", <0x1 0xf1 0x4 IRQ_TYPE_NONE>,
"mbhc_ins_rem_det1", <0x1 0xf1 0x5 IRQ_TYPE_NONE>;
"mbhc_but_rel_det", interrupt-names = "cdc_spk_cnp_int",
"mbhc_but_press_det", "cdc_spk_clip_int",
"mbhc_ins_rem_det", "cdc_spk_ocp_int",
"mbhc_switch_int", "mbhc_ins_rem_det1",
"cdc_ear_ocp_int", "mbhc_but_rel_det",
"cdc_hphr_ocp_int", "mbhc_but_press_det",
"cdc_hphl_ocp_det", "mbhc_ins_rem_det",
"cdc_ear_cnp_int", "mbhc_switch_int",
"cdc_hphr_cnp_int", "cdc_ear_ocp_int",
"cdc_hphl_cnp_int"; "cdc_hphr_ocp_int",
vdd-cdc-io-supply = <&pm8916_l5>; "cdc_hphl_ocp_det",
vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>; "cdc_ear_cnp_int",
vdd-micbias-supply = <&pm8916_l13>; "cdc_hphr_cnp_int",
#sound-dai-cells = <1>; "cdc_hphl_cnp_int";
vdd-cdc-io-supply = <&pm8916_l5>;
vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
vdd-micbias-supply = <&pm8916_l13>;
#sound-dai-cells = <1>;
};
}; };
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/regulator/consumer.h> #include <linux/regulator/consumer.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/clk.h>
#include <linux/of.h> #include <linux/of.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/regmap.h> #include <linux/regmap.h>
...@@ -1198,12 +1197,6 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev) ...@@ -1198,12 +1197,6 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev)
if (ret < 0) if (ret < 0)
return ret; return ret;
priv->mclk = devm_clk_get(dev, "mclk");
if (IS_ERR(priv->mclk)) {
dev_err(dev, "failed to get mclk\n");
return PTR_ERR(priv->mclk);
}
for (i = 0; i < ARRAY_SIZE(supply_names); i++) for (i = 0; i < ARRAY_SIZE(supply_names); i++)
priv->supplies[i].supply = supply_names[i]; priv->supplies[i].supply = supply_names[i];
...@@ -1214,55 +1207,48 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev) ...@@ -1214,55 +1207,48 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev)
return ret; return ret;
} }
ret = clk_prepare_enable(priv->mclk);
if (ret < 0) {
dev_err(dev, "failed to enable mclk %d\n", ret);
return ret;
}
irq = platform_get_irq_byname(pdev, "mbhc_switch_int"); irq = platform_get_irq_byname(pdev, "mbhc_switch_int");
if (irq < 0) { if (irq < 0)
ret = irq; return irq;
goto err_disable_clk;
}
ret = devm_request_threaded_irq(dev, irq, NULL, ret = devm_request_threaded_irq(dev, irq, NULL,
pm8916_mbhc_switch_irq_handler, pm8916_mbhc_switch_irq_handler,
IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
IRQF_ONESHOT, IRQF_ONESHOT,
"mbhc switch irq", priv); "mbhc switch irq", priv);
if (ret) if (ret) {
dev_err(dev, "cannot request mbhc switch irq\n"); dev_err(dev, "cannot request mbhc switch irq\n");
return ret;
}
if (priv->mbhc_btn_enabled) { if (priv->mbhc_btn_enabled) {
irq = platform_get_irq_byname(pdev, "mbhc_but_press_det"); irq = platform_get_irq_byname(pdev, "mbhc_but_press_det");
if (irq < 0) { if (irq < 0)
ret = irq; return irq;
goto err_disable_clk;
}
ret = devm_request_threaded_irq(dev, irq, NULL, ret = devm_request_threaded_irq(dev, irq, NULL,
mbhc_btn_press_irq_handler, mbhc_btn_press_irq_handler,
IRQF_TRIGGER_RISING | IRQF_TRIGGER_RISING |
IRQF_TRIGGER_FALLING | IRQF_ONESHOT, IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
"mbhc btn press irq", priv); "mbhc btn press irq", priv);
if (ret) if (ret) {
dev_err(dev, "cannot request mbhc button press irq\n"); dev_err(dev, "cannot request mbhc button press irq\n");
return ret;
}
irq = platform_get_irq_byname(pdev, "mbhc_but_rel_det"); irq = platform_get_irq_byname(pdev, "mbhc_but_rel_det");
if (irq < 0) { if (irq < 0)
ret = irq; return irq;
goto err_disable_clk;
}
ret = devm_request_threaded_irq(dev, irq, NULL, ret = devm_request_threaded_irq(dev, irq, NULL,
mbhc_btn_release_irq_handler, mbhc_btn_release_irq_handler,
IRQF_TRIGGER_RISING | IRQF_TRIGGER_RISING |
IRQF_TRIGGER_FALLING | IRQF_ONESHOT, IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
"mbhc btn release irq", priv); "mbhc btn release irq", priv);
if (ret) if (ret) {
dev_err(dev, "cannot request mbhc button release irq\n"); dev_err(dev, "cannot request mbhc button release irq\n");
return ret;
}
} }
dev_set_drvdata(dev, priv); dev_set_drvdata(dev, priv);
...@@ -1270,17 +1256,6 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev) ...@@ -1270,17 +1256,6 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev)
return devm_snd_soc_register_component(dev, &pm8916_wcd_analog, return devm_snd_soc_register_component(dev, &pm8916_wcd_analog,
pm8916_wcd_analog_dai, pm8916_wcd_analog_dai,
ARRAY_SIZE(pm8916_wcd_analog_dai)); ARRAY_SIZE(pm8916_wcd_analog_dai));
err_disable_clk:
clk_disable_unprepare(priv->mclk);
return ret;
}
static void pm8916_wcd_analog_spmi_remove(struct platform_device *pdev)
{
struct pm8916_wcd_analog_priv *priv = dev_get_drvdata(&pdev->dev);
clk_disable_unprepare(priv->mclk);
} }
static const struct of_device_id pm8916_wcd_analog_spmi_match_table[] = { static const struct of_device_id pm8916_wcd_analog_spmi_match_table[] = {
...@@ -1296,7 +1271,6 @@ static struct platform_driver pm8916_wcd_analog_spmi_driver = { ...@@ -1296,7 +1271,6 @@ static struct platform_driver pm8916_wcd_analog_spmi_driver = {
.of_match_table = pm8916_wcd_analog_spmi_match_table, .of_match_table = pm8916_wcd_analog_spmi_match_table,
}, },
.probe = pm8916_wcd_analog_spmi_probe, .probe = pm8916_wcd_analog_spmi_probe,
.remove_new = pm8916_wcd_analog_spmi_remove,
}; };
module_platform_driver(pm8916_wcd_analog_spmi_driver); module_platform_driver(pm8916_wcd_analog_spmi_driver);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment