With device core now able to setup the default pin configuration,
the call to devm_pinctrl_get_select_default can be removed. And
the pin configuration code based on the deprecated Samsung specific
gpio bindings is also removed.
Signed-off-by: Thomas Abraham thomas.abra...@linaro.org
---
.../devicetree/bindings/mmc/samsung-sdhci.txt | 35 +-
drivers/mmc/host/sdhci-s3c.c | 71 ++-
2 files changed, 12 insertions(+), 94 deletions(-)
diff --git a/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
b/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
index 3b3a1ee..328e990 100644
--- a/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
+++ b/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
@@ -5,13 +5,6 @@ MMC, SD and eMMC storage mediums. This file documents
differences between the
core mmc properties described by mmc.txt and the properties used by the
Samsung implmentation of the SDHCI controller.
-Note: The mmc core bindings documentation states that if none of the core
-card-detect bindings are used, then the standard sdhci card detect mechanism
-is used. The Samsung's SDHCI controller bindings extends this as listed below.
-
-[A] The property samsung,cd-pinmux-gpio can be used as stated in the
-Optional Board Specific Properties section below.
-
Required SoC Specific Properties:
- compatible: should be one of the following
- samsung,s3c6410-sdhci: For controllers compatible with s3c6410 sdhci
@@ -20,18 +13,8 @@ Required SoC Specific Properties:
controller.
Required Board Specific Properties:
-- Samsung GPIO variant (will be completely replaced by pinctrl):
- - gpios: Should specify the gpios used for clock, command and data lines. The
-gpio specifier format depends on the gpio controller.
-- Pinctrl variant (preferred if available):
- - pinctrl-0: Should specify pin control groups used for this controller.
- - pinctrl-names: Should contain only one value - default.
-
-Optional Board Specific Properties:
-- samsung,cd-pinmux-gpio: Specifies the card detect line that is routed
- through a pinmux to the card-detect pin of the card slot. This property
- should be used only if none of the mmc core card-detect properties are
- used. Only for Samsung GPIO variant.
+- pinctrl-0: Should specify pin control groups used for this controller.
+- pinctrl-names: Should contain only one value - default.
Example:
sdhci@1253 {
@@ -39,19 +22,9 @@ Example:
reg = 0x1253 0x100;
interrupts = 0 75 0;
bus-width = 4;
- cd-gpios = gpk2 2 2 3 3;
-
- /* Samsung GPIO variant */
- gpios = gpk2 0 2 0 3, /* clock line */
- gpk2 1 2 0 3, /* command line */
- gpk2 3 2 3 3, /* data line 0 */
- gpk2 4 2 3 3, /* data line 1 */
- gpk2 5 2 3 3, /* data line 2 */
- gpk2 6 2 3 3; /* data line 3 */
-
- /* Pinctrl variant */
- pinctrl-0 = sd0_clk sd0_cmd sd0_bus4;
+ cd-gpios = gpk2 2 0;
pinctrl-names = default;
+ pinctrl-0 = sd0_clk sd0_cmd sd0_bus4;
};
Note: This example shows both SoC specific and board specific properties
diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
index 7363efe..86e0bd7 100644
--- a/drivers/mmc/host/sdhci-s3c.c
+++ b/drivers/mmc/host/sdhci-s3c.c
@@ -24,7 +24,6 @@
#include linux/of_gpio.h
#include linux/pm.h
#include linux/pm_runtime.h
-#include linux/pinctrl/consumer.h
#include linux/mmc/host.h
@@ -45,7 +44,6 @@
* @ioarea: The resource created when we claimed the IO area.
* @pdata: The platform data for this controller.
* @cur_clk: The index of the current bus clock.
- * @gpios: List of gpio numbers parsed from device tree.
* @clk_io: The clock for the internal bus interface.
* @clk_bus: The clocks that are available for the SD/MMC bus clock.
*/
@@ -57,8 +55,6 @@ struct sdhci_s3c {
unsigned intcur_clk;
int ext_cd_irq;
int ext_cd_gpio;
- int *gpios;
- struct pinctrl *pctrl;
struct clk *clk_io;
struct clk *clk_bus[MAX_BUS_CLK];
@@ -447,88 +443,39 @@ static int sdhci_s3c_parse_dt(struct device *dev,
struct device_node *node = dev-of_node;
struct sdhci_s3c *ourhost = to_s3c(host);
u32 max_width;
- int gpio, cnt, ret;
+ int gpio;
/* if the bus-width property is not specified, assume width as 1 */
if (of_property_read_u32(node, bus-width, max_width))
max_width = 1;
pdata-max_width = max_width;
- ourhost-gpios = devm_kzalloc(dev, NUM_GPIOS(pdata-max_width) *
- sizeof(int), GFP_KERNEL);
- if