2013-05-06 19:37:08

by Mark Brown

[permalink] [raw]
Subject: [PATCH] spi/omap2: Let device core handle pinctrl

Since commit ab78029 (drivers/pinctrl: grab default handles from device
core) we can rely on device core for handling pinctrl so remove
devm_pinctrl_get_select_default() from the driver.

Signed-off-by: Mark Brown <[email protected]>
---
drivers/spi/spi-omap2-mcspi.c | 7 -------
1 file changed, 7 deletions(-)

diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
index 893c3d7..3777bd5 100644
--- a/drivers/spi/spi-omap2-mcspi.c
+++ b/drivers/spi/spi-omap2-mcspi.c
@@ -38,7 +38,6 @@
#include <linux/pm_runtime.h>
#include <linux/of.h>
#include <linux/of_device.h>
-#include <linux/pinctrl/consumer.h>

#include <linux/spi/spi.h>

@@ -1170,7 +1169,6 @@ static int 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) {
@@ -1268,11 +1266,6 @@ static int 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);
--
1.7.10.4


2013-05-07 03:56:28

by Hebbar, Gururaja

[permalink] [raw]
Subject: RE: [PATCH] spi/omap2: Let device core handle pinctrl

On Tue, May 07, 2013 at 01:06:38, Mark Brown wrote:
> Since commit ab78029 (drivers/pinctrl: grab default handles from device
> core) we can rely on device core for handling pinctrl so remove
> devm_pinctrl_get_select_default() from the driver.

NACK.

There are cases where driver('s) needs to place pin-mux's to sleep on suspend
& default/idle on resume. For such cases Pinctrl needs to be handled inside
the driver. Example [1].

I will be submitting a patch to enhance the existing pinctrl support for
spi omap2 shortly which does above work.

Regards
Gururaja


[1]
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/spi/spi-pl022.c

pl022_suspend_resources() & pl022_resume_resources()


>
> Signed-off-by: Mark Brown <[email protected]>
> ---
> drivers/spi/spi-omap2-mcspi.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
> index 893c3d7..3777bd5 100644
> --- a/drivers/spi/spi-omap2-mcspi.c
> +++ b/drivers/spi/spi-omap2-mcspi.c
> @@ -38,7 +38,6 @@
> #include <linux/pm_runtime.h>
> #include <linux/of.h>
> #include <linux/of_device.h>
> -#include <linux/pinctrl/consumer.h>
>
> #include <linux/spi/spi.h>
>
> @@ -1170,7 +1169,6 @@ static int 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) {
> @@ -1268,11 +1266,6 @@ static int 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);
> --
> 1.7.10.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>


Regards,
Gururaja

2013-05-07 08:56:06

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] spi/omap2: Let device core handle pinctrl

On Tue, May 07, 2013 at 03:56:09AM +0000, Hebbar, Gururaja wrote:

> There are cases where driver('s) needs to place pin-mux's to sleep on suspend
> & default/idle on resume. For such cases Pinctrl needs to be handled inside
> the driver. Example [1].

Well, obviously - but at the minute the driver is pure boilerplate.
There's also been some discussion about factoring out the suspend/resume
code since it's going to get equally repetitive.

> I will be submitting a patch to enhance the existing pinctrl support for
> spi omap2 shortly which does above work.

How soon is shortly?


Attachments:
(No filename) (586.00 B)
signature.asc (836.00 B)
Digital signature
Download all attachments

2013-05-07 10:47:57

by Hebbar, Gururaja

[permalink] [raw]
Subject: RE: [PATCH] spi/omap2: Let device core handle pinctrl

On Tue, May 07, 2013 at 14:25:35, Mark Brown wrote:
> On Tue, May 07, 2013 at 03:56:09AM +0000, Hebbar, Gururaja wrote:
>
> > There are cases where driver('s) needs to place pin-mux's to sleep on suspend
> > & default/idle on resume. For such cases Pinctrl needs to be handled inside
> > the driver. Example [1].
>
> Well, obviously - but at the minute the driver is pure boilerplate.

Correct.

> There's also been some discussion about factoring out the suspend/resume
> code since it's going to get equally repetitive.

Really. Any link/referenceso that I can follow.
But I think each module will have its own work to do. May be I can confirm once
I look at the factoring-out discussion.

>
> > I will be submitting a patch to enhance the existing pinctrl support for
> > spi omap2 shortly which does above work.
>
> How soon is shortly?

Since I am adding this Pinctrl PM mode support to many other drivers (i2c,
cpsw, da8xx-fb, hsmmc, ti-pwm, usb ...), I would say Shortly = 1 week - 10 days.

>


Regards,
Gururaja

2013-05-10 09:56:58

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] spi/omap2: Let device core handle pinctrl

On Tue, May 07, 2013 at 10:47:31AM +0000, Hebbar, Gururaja wrote:
> On Tue, May 07, 2013 at 14:25:35, Mark Brown wrote:

> > There's also been some discussion about factoring out the suspend/resume
> > code since it's going to get equally repetitive.

> Really. Any link/referenceso that I can follow.
> But I think each module will have its own work to do. May be I can confirm once
> I look at the factoring-out discussion.

It was part of the threads where the idea of adding the helper for the
boilerplate stuff to the core was discussed initially IIRC.

> > > I will be submitting a patch to enhance the existing pinctrl support for
> > > spi omap2 shortly which does above work.

> > How soon is shortly?

> Since I am adding this Pinctrl PM mode support to many other drivers (i2c,
> cpsw, da8xx-fb, hsmmc, ti-pwm, usb ...), I would say Shortly = 1 week - 10 days.

Well, I guess I'll keep the patch for now and drop it when you send out
the PM code.


Attachments:
(No filename) (961.00 B)
signature.asc (836.00 B)
Digital signature
Download all attachments

2013-05-13 06:25:29

by Hebbar, Gururaja

[permalink] [raw]
Subject: RE: [PATCH] spi/omap2: Let device core handle pinctrl

On Fri, May 10, 2013 at 15:26:29, Mark Brown wrote:
> On Tue, May 07, 2013 at 10:47:31AM +0000, Hebbar, Gururaja wrote:
> > On Tue, May 07, 2013 at 14:25:35, Mark Brown wrote:
>
> > > There's also been some discussion about factoring out the suspend/resume
> > > code since it's going to get equally repetitive.
>
> > Really. Any link/referenceso that I can follow.
> > But I think each module will have its own work to do. May be I can confirm once
> > I look at the factoring-out discussion.
>
> It was part of the threads where the idea of adding the helper for the
> boilerplate stuff to the core was discussed initially IIRC.

Ok. Thanks. I will check for it.

>
> > > > I will be submitting a patch to enhance the existing pinctrl support for
> > > > spi omap2 shortly which does above work.
>
> > > How soon is shortly?
>
> > Since I am adding this Pinctrl PM mode support to many other drivers (i2c,
> > cpsw, da8xx-fb, hsmmc, ti-pwm, usb ...), I would say Shortly = 1 week - 10 days.
>
> Well, I guess I'll keep the patch for now and drop it when you send out
> the PM code.

Fair enough.

>


Regards,
Gururaja