|
|
@@ -103,29 +103,27 @@ Signed-off-by: Christian Marangi <[email protected]>
|
|
|
|
|
|
host->bus_clk = devm_clk_get_optional(&pdev->dev, "bus_clk");
|
|
|
if (IS_ERR(host->bus_clk))
|
|
|
-@@ -2740,11 +2767,14 @@ static int msdc_drv_probe(struct platfor
|
|
|
- goto host_free;
|
|
|
+@@ -2731,10 +2758,13 @@ static int msdc_drv_probe(struct platfor
|
|
|
+ return PTR_ERR(host->pins_default);
|
|
|
}
|
|
|
|
|
|
- host->pins_uhs = pinctrl_lookup_state(host->pinctrl, "state_uhs");
|
|
|
- if (IS_ERR(host->pins_uhs)) {
|
|
|
-- ret = PTR_ERR(host->pins_uhs);
|
|
|
- dev_err(&pdev->dev, "Cannot find pinctrl uhs!\n");
|
|
|
-- goto host_free;
|
|
|
+- return PTR_ERR(host->pins_uhs);
|
|
|
+ /* AN7581 doesn't have state_uhs pins */
|
|
|
+ if (!device_is_compatible(&pdev->dev, "airoha,an7581-mmc")) {
|
|
|
+ host->pins_uhs = pinctrl_lookup_state(host->pinctrl, "state_uhs");
|
|
|
+ if (IS_ERR(host->pins_uhs)) {
|
|
|
-+ ret = PTR_ERR(host->pins_uhs);
|
|
|
+ dev_err(&pdev->dev, "Cannot find pinctrl uhs!\n");
|
|
|
-+ goto host_free;
|
|
|
++ return PTR_ERR(host->pins_uhs);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/* Support for SDIO eint irq ? */
|
|
|
-@@ -2825,6 +2855,12 @@ static int msdc_drv_probe(struct platfor
|
|
|
+@@ -2815,6 +2845,12 @@ static int msdc_drv_probe(struct platfor
|
|
|
dev_err(&pdev->dev, "Cannot ungate clocks!\n");
|
|
|
- goto release_mem;
|
|
|
+ goto release_clk;
|
|
|
}
|
|
|
+
|
|
|
+ /* AN7581 without regulator require tune to OCR values */
|