* [PATCH v4] i2c/at91: adopt pinctrl support
@ 2014-11-10 1:55 Wenyou Yang
[not found] ` <1415584552-11390-1-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Wenyou Yang @ 2014-11-10 1:55 UTC (permalink / raw)
To: wsa, ludovic.desroches
Cc: linux-i2c, linux-kernel, nicolas.ferre, khilman, linux-arm-kernel,
wenyou.yang
Amend the at91 i2c pin controller to optionally take a pin control
handle and set the state of the pins to:
- "default" on boot and resume.
- "sleep" on suspend().
This should make it possible to optimize energy usage for the pins
both for the suspend/resume cycle
Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
---
Hi Wolfram,
Thanks a lot.
The change of this version is to remove
pinctrl_pm_select_default_state(&pdev->dev) from the _probe function.
Best Regards,
Wenyou Yang
drivers/i2c/busses/i2c-at91.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
index 7c335f4..77fb647 100644
--- a/drivers/i2c/busses/i2c-at91.c
+++ b/drivers/i2c/busses/i2c-at91.c
@@ -32,6 +32,7 @@
#include <linux/slab.h>
#include <linux/platform_data/dma-atmel.h>
#include <linux/pm_runtime.h>
+#include <linux/pinctrl/consumer.h>
#define DEFAULT_TWI_CLK_HZ 100000 /* max 400 Kbits/s */
#define AT91_I2C_TIMEOUT msecs_to_jiffies(100) /* transfer timeout */
@@ -851,6 +852,8 @@ static int at91_twi_runtime_suspend(struct device *dev)
clk_disable_unprepare(twi_dev->clk);
+ pinctrl_pm_select_sleep_state(dev);
+
return 0;
}
@@ -858,6 +861,8 @@ static int at91_twi_runtime_resume(struct device *dev)
{
struct at91_twi_dev *twi_dev = dev_get_drvdata(dev);
+ pinctrl_pm_select_default_state(dev);
+
return clk_prepare_enable(twi_dev->clk);
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 4+ messages in thread[parent not found: <1415584552-11390-1-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v4] i2c/at91: adopt pinctrl support [not found] ` <1415584552-11390-1-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> @ 2014-11-10 11:13 ` Sergei Shtylyov [not found] ` <54609DD8.8030903-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org> 2014-11-12 15:51 ` Wolfram Sang 1 sibling, 1 reply; 4+ messages in thread From: Sergei Shtylyov @ 2014-11-10 11:13 UTC (permalink / raw) To: Wenyou Yang, wsa-z923LK4zBo2bacvFa/9K2g, ludovic.desroches-AIFe0yeh4nAAvxtiuMwx3w Cc: khilman-DgEjT+Ai2ygdnm+yROfE0A, nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-i2c-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Hello. On 11/10/2014 4:55 AM, Wenyou Yang wrote: > Amend the at91 i2c pin controller You're amending the hardware itself, really? :-) > to optionally take a pin controlhandle I don't see the code that does this. > and set the state of the pins to: > - "default" on boot and resume. I don't see where you are changing anything for the probe() method. Perhaps you meant the driver core code which selects the dafault profile automatically? > - "sleep" on suspend(). > This should make it possible to optimize energy usage for the pins > both for the suspend/resume cycle > Signed-off-by: Wenyou Yang <wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> > --- > Hi Wolfram, > > Thanks a lot. > > The change of this version is to remove > pinctrl_pm_select_default_state(&pdev->dev) from the _probe function. Aha, you've specifically removed this... WBR, Sergei ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <54609DD8.8030903-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>]
* RE: [PATCH v4] i2c/at91: adopt pinctrl support [not found] ` <54609DD8.8030903-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org> @ 2014-11-11 0:53 ` Yang, Wenyou 0 siblings, 0 replies; 4+ messages in thread From: Yang, Wenyou @ 2014-11-11 0:53 UTC (permalink / raw) To: Sergei Shtylyov, wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org, Desroches, Ludovic Cc: khilman-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Ferre, Nicolas, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org Hi, > -----Original Message----- > From: Sergei Shtylyov [mailto:sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org] > Sent: Monday, November 10, 2014 7:13 PM > To: Yang, Wenyou; wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org; Desroches, Ludovic > Cc: khilman-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org; Ferre, Nicolas; linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; linux- > i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org > Subject: Re: [PATCH v4] i2c/at91: adopt pinctrl support > > Hello. > > On 11/10/2014 4:55 AM, Wenyou Yang wrote: > > > Amend the at91 i2c pin controller > > You're amending the hardware itself, really? :-) > > > to optionally take a pin controlhandle > > I don't see the code that does this. > > > and set the state of the pins to: > > - "default" on boot and resume. > > I don't see where you are changing anything for the probe() method. > Perhaps you meant the driver core code which selects the dafault profile > automatically? Yes, the driver core code default do, so remove the redundant code from _probe function. > > > - "sleep" on suspend(). > > > This should make it possible to optimize energy usage for the pins > > both for the suspend/resume cycle > > > Signed-off-by: Wenyou Yang <wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> > > --- > > Hi Wolfram, > > > > Thanks a lot. > > > > The change of this version is to remove > > pinctrl_pm_select_default_state(&pdev->dev) from the _probe function. > > Aha, you've specifically removed this... > > WBR, Sergei Best Regards, Wenyou Yang ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v4] i2c/at91: adopt pinctrl support [not found] ` <1415584552-11390-1-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> 2014-11-10 11:13 ` Sergei Shtylyov @ 2014-11-12 15:51 ` Wolfram Sang 1 sibling, 0 replies; 4+ messages in thread From: Wolfram Sang @ 2014-11-12 15:51 UTC (permalink / raw) To: Wenyou Yang Cc: ludovic.desroches-AIFe0yeh4nAAvxtiuMwx3w, linux-i2c-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w, khilman-DgEjT+Ai2ygdnm+yROfE0A, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r [-- Attachment #1: Type: text/plain, Size: 471 bytes --] On Mon, Nov 10, 2014 at 09:55:52AM +0800, Wenyou Yang wrote: > Amend the at91 i2c pin controller to optionally take a pin control > handle and set the state of the pins to: > - "default" on boot and resume. > - "sleep" on suspend(). > > This should make it possible to optimize energy usage for the pins > both for the suspend/resume cycle > > Signed-off-by: Wenyou Yang <wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> Applied to for-next, thanks! [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-11-12 15:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-10 1:55 [PATCH v4] i2c/at91: adopt pinctrl support Wenyou Yang
[not found] ` <1415584552-11390-1-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
2014-11-10 11:13 ` Sergei Shtylyov
[not found] ` <54609DD8.8030903-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2014-11-11 0:53 ` Yang, Wenyou
2014-11-12 15:51 ` Wolfram Sang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox