|
@@ -38,6 +38,8 @@
|
|
|
#include <linux/pm_runtime.h>
|
|
|
#include <linux/of.h>
|
|
|
#include <linux/of_device.h>
|
|
|
+#include <linux/pinctrl/consumer.h>
|
|
|
+#include <linux/err.h>
|
|
|
|
|
|
#include <linux/spi/spi.h>
|
|
|
|
|
@@ -1148,6 +1150,7 @@ static int __devinit omap2_mcspi_probe(struct platform_device *pdev)
|
|
|
static int bus_num = 1;
|
|
|
struct device_node *node = pdev->dev.of_node;
|
|
|
const struct of_device_id *match;
|
|
|
+ struct pinctrl *pinctrl;
|
|
|
|
|
|
master = spi_alloc_master(&pdev->dev, sizeof *mcspi);
|
|
|
if (master == NULL) {
|
|
@@ -1243,6 +1246,11 @@ static int __devinit omap2_mcspi_probe(struct platform_device *pdev)
|
|
|
if (status < 0)
|
|
|
goto dma_chnl_free;
|
|
|
|
|
|
+ pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
|
|
|
+ if (IS_ERR(pinctrl))
|
|
|
+ dev_warn(&pdev->dev,
|
|
|
+ "pins are not configured from the driver\n");
|
|
|
+
|
|
|
pm_runtime_use_autosuspend(&pdev->dev);
|
|
|
pm_runtime_set_autosuspend_delay(&pdev->dev, SPI_AUTOSUSPEND_TIMEOUT);
|
|
|
pm_runtime_enable(&pdev->dev);
|