aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorMatt Porter <mporter@ti.com>2012-09-18 08:01:25 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-09-22 12:06:10 -0400
commitec155afa82cb10d97b6c10d6ede5b0ffa321e816 (patch)
tree2dcdbb191cda7b0d55a8b887c98673e36266edd3 /drivers/spi
parent4f5e1b370845a0a5789ff7271004ca49e5baa46f (diff)
spi: omap2-mcspi: add pinctrl support
Adds pinctrl support to support OMAP platforms that boot from DT and rely on pinctrl support to set pinmuxes. Signed-off-by: Matt Porter <mporter@ti.com> Acked-by: Shubhrajyoti D <shubhrajyoti@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-omap2-mcspi.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
index 5560b708e62..9926f2784bb 100644
--- a/drivers/spi/spi-omap2-mcspi.c
+++ b/drivers/spi/spi-omap2-mcspi.c
@@ -38,6 +38,8 @@
38#include <linux/pm_runtime.h> 38#include <linux/pm_runtime.h>
39#include <linux/of.h> 39#include <linux/of.h>
40#include <linux/of_device.h> 40#include <linux/of_device.h>
41#include <linux/pinctrl/consumer.h>
42#include <linux/err.h>
41 43
42#include <linux/spi/spi.h> 44#include <linux/spi/spi.h>
43 45
@@ -1148,6 +1150,7 @@ static int __devinit omap2_mcspi_probe(struct platform_device *pdev)
1148 static int bus_num = 1; 1150 static int bus_num = 1;
1149 struct device_node *node = pdev->dev.of_node; 1151 struct device_node *node = pdev->dev.of_node;
1150 const struct of_device_id *match; 1152 const struct of_device_id *match;
1153 struct pinctrl *pinctrl;
1151 1154
1152 master = spi_alloc_master(&pdev->dev, sizeof *mcspi); 1155 master = spi_alloc_master(&pdev->dev, sizeof *mcspi);
1153 if (master == NULL) { 1156 if (master == NULL) {
@@ -1243,6 +1246,11 @@ static int __devinit omap2_mcspi_probe(struct platform_device *pdev)
1243 if (status < 0) 1246 if (status < 0)
1244 goto dma_chnl_free; 1247 goto dma_chnl_free;
1245 1248
1249 pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
1250 if (IS_ERR(pinctrl))
1251 dev_warn(&pdev->dev,
1252 "pins are not configured from the driver\n");
1253
1246 pm_runtime_use_autosuspend(&pdev->dev); 1254 pm_runtime_use_autosuspend(&pdev->dev);
1247 pm_runtime_set_autosuspend_delay(&pdev->dev, SPI_AUTOSUSPEND_TIMEOUT); 1255 pm_runtime_set_autosuspend_delay(&pdev->dev, SPI_AUTOSUSPEND_TIMEOUT);
1248 pm_runtime_enable(&pdev->dev); 1256 pm_runtime_enable(&pdev->dev);