All of lore.kernel.org
 help / color / mirror / Atom feed
From: vipul kumar samar <vipulkumar.samar-qxv4g6HH51o@public.gmane.org>
To: Linus WALLEIJ <linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
Cc: "spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org"
	<spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
	Anmar Oueja <anmar.oueja-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Mark Brown
	<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
	Viresh Kumar
	<viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCH v2] spi/pl022: get/put resources on suspend/resume
Date: Thu, 27 Sep 2012 09:57:49 +0530	[thread overview]
Message-ID: <5063D5C5.2050303@st.com> (raw)
In-Reply-To: <1348675582-11538-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>

On 9/26/2012 9:36 PM, Linus WALLEIJ wrote:
> This factors out the resource handling in runtime
> suspend/resume and also calls it from the ordinary suspend
> and resume hooks.
>
> The semantics require that ordinary PM op suspend is called
> with runtime PM in resumed mode, so that ordinary suspend
> can assume that it will e.g. decrease the clock reference
> counter to 0, runtime resume having previously increased it
> to 1.
>
> Cc: Vipul Kumar Samar<vipulkumar.samar-qxv4g6HH51o@public.gmane.org>
> Cc: Viresh Kumar<viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> Acked-by: Ulf Hansson<ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> Signed-off-by: Linus Walleij<linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
> ---
> ChangeLog v1->v2:
> - Add more #ifdef for the case where we have neither normal
>    PM nor runtime PM.
> ---
>   drivers/spi/spi-pl022.c | 66 ++++++++++++++++++++++++++++++++-----------------
>   1 file changed, 44 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
> index 15737bc..9194641 100644
> --- a/drivers/spi/spi-pl022.c
> +++ b/drivers/spi/spi-pl022.c
> @@ -2300,6 +2300,45 @@ pl022_remove(struct amba_device *adev)
>   	return 0;
>   }
>
> +#if defined(CONFIG_SUSPEND) || defined(CONFIG_PM_RUNTIME)
> +/*
> + * These two functions are used from both suspend/resume and
> + * the runtime counterparts to handle external resources like
> + * clocks, pins and regulators when going to sleep.
> + */
> +static void pl022_suspend_resources(struct pl022 *pl022)
> +{
> +	int ret;
> +
> +	clk_disable(pl022->clk);
> +
> +	/* Optionally let pins go into sleep states */
> +	if (!IS_ERR(pl022->pins_sleep)) {
> +		ret = pinctrl_select_state(pl022->pinctrl,
> +					   pl022->pins_sleep);
> +		if (ret)
> +			dev_err(&pl022->adev->dev,
> +				"could not set pins to sleep state\n");
> +	}
> +}
> +
> +static void pl022_resume_resources(struct pl022 *pl022)
> +{
> +	int ret;
> +
> +	/* Optionaly enable pins to be muxed in and configured */
> +	if (!IS_ERR(pl022->pins_default)) {
> +		ret = pinctrl_select_state(pl022->pinctrl,
> +					   pl022->pins_default);
> +		if (ret)
> +			dev_err(&pl022->adev->dev,
> +				"could not set default pins\n");
> +	}
> +
> +	clk_enable(pl022->clk);

What happen in case clk_enable returns an error??

Rest all is fine.

Regards
Vipul Samar

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html

  parent reply	other threads:[~2012-09-27  4:27 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-26 16:06 [PATCH v2] spi/pl022: get/put resources on suspend/resume Linus Walleij
     [not found] ` <1348675582-11538-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
2012-09-27  4:27   ` vipul kumar samar [this message]
     [not found]     ` <5063D5C5.2050303-qxv4g6HH51o@public.gmane.org>
2012-09-27 11:28       ` Linus Walleij
2012-09-28 13:04   ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5063D5C5.2050303@st.com \
    --to=vipulkumar.samar-qxv4g6hh51o@public.gmane.org \
    --cc=anmar.oueja-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
    --cc=linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org \
    --cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.