>>On Tue, Jan 03, 2017 at 05:02:47PM +0800, Peter Chen wrote: >>> At some systems, the pinctrl setting will be lost or needs to set as >>> "sleep" state to save power consumption. So, we need to configure >>> pinctrl as "sleep" state when system enters suspend, and as "default" >>> state after system resumes. In this way, the pinctrl value can be >>> recovered as "default" state after resuming. >> >>I thought this was supposed to be done automatically by the driver core? >>If not it should be, every single driver is likely to end up with that. > >Good idea, I will send a patch for that. >
After checking more, it is not suitable for driver core do it since different driver has different usage for "sleep" pinctrl. Below are some examples: - Some drivers set "idle" for pinctrl when system goes to suspend - Some drivers has some conditions for setting "sleep" for pinctrl eg: drivers/net/ethernet/freescale/fec_main.c - Some drivers may set "sleep" for pinctrl as ->close interface, but not system suspend interface - Some drivers can be woken up for "sleep" pinctrl, some may not. Peter

