Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754002AbbFDU1F (ORCPT ); Thu, 4 Jun 2015 16:27:05 -0400 Received: from mail.kmu-office.ch ([178.209.48.109]:47469 "EHLO mail.kmu-office.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932139AbbFDU1B (ORCPT ); Thu, 4 Jun 2015 16:27:01 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Date: Thu, 04 Jun 2015 22:24:57 +0200 From: Stefan Agner To: Zhi Li , Linus Walleij Cc: Shawn Guo , Sascha Hauer , =?UTF-8?Q?Uwe_Kleine-K=C3=B6nig?= , kernel list , linux-arm-kernel@lists.infradead.org Subject: Re: [RFC] pinctrl: pinctrl-imx: implement suspend/resume In-Reply-To: References: <1433171567-24571-1-git-send-email-stefan@agner.ch> Message-ID: <9333041871b27a3099b185e26b564e2a@agner.ch> User-Agent: Roundcube Webmail/1.1.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1699 Lines: 44 On 2015-06-04 17:00, Zhi Li wrote: > On Mon, Jun 1, 2015 at 10:12 AM, Stefan Agner wrote: >> If no other SoC is making use of it, its probably better to implement >> it in the SoC specific code (e.g. pinctrl-vf610.c?) Although, currently >> the mapped access to the registers is only locally available in >> pinctrl-imx.c. > > i.MX7 support LPSR mode, which IOMUX will lost state also. > Thanks for the information, good to know. >> >> I'm also not sure if the suspend/resume functions are currently >> early enough, at least the noirq family of suspend/resume functions >> would be earlier. Hence if a device needs to have access to pins then, >> we would restore them too late. Maybe syscore_ops would be more >> appropriate? > > Driver can call pinctrl_pm_select_sleep_state in suspend and > pinctrl_pm_select_default_state > to recover IOMUX state. > > but I think this way is more simple than driver call > pinctrl_pm_select_default_state. > I actually tried to experiment with pinctrl_pm_select_default_state and pinctrl_pm_select_sleep_state. I think, one solution would be to create sleep states for all drivers. However, it's not necessary to change to a sleep state, since the controller looses the state anyway. What would be required is having a function which allows to force the default state for all pinctrl settings... As far as I can tell, there is no such functionality currently...? Linus? -- Stefan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/