From: Kevin Hilman <khilman@ti.com>
To: jean.pihet@newoldbits.com
Cc: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
"Rafael J. Wysocki" <rjw@sisk.pl>,
LKML <linux-kernel@vger.kernel.org>, Jean Pihet <j-pihet@ti.com>
Subject: Re: [PATCH 1/9] ARM: OMAP3+: voltage: export functions to plat/voltage.h
Date: Wed, 18 Apr 2012 10:27:45 -0700 [thread overview]
Message-ID: <87y5ptkl0u.fsf@ti.com> (raw)
In-Reply-To: <1332173578-27422-2-git-send-email-j-pihet@ti.com> (jean pihet's message of "Mon, 19 Mar 2012 17:12:50 +0100")
Hi Jean,
jean.pihet@newoldbits.com writes:
> From: Jean Pihet <j-pihet@ti.com>
>
> Move some functions from mach-omap2/ dir to the plat/ dir.
> The SmartReflex class driver is a user of the basic voltage domains
> functions (enable, disable, reset).
>
> Signed-off-by: Jean Pihet <j-pihet@ti.com>
> Cc: Kevin Hilman <khilman@ti.com>
Rather than expose the VP functions directly, how about adding a new API
at the voltdm layer to start/stop AVS. Maybe something like:
voltdm_avs_start(struct voltagedomain *voltdm)
voltdm_avs_stop(struct voltagedomain *voltdm)
These will internally just call VP enable/disable for now, but we may
have more to add to these in the future to support other SR classes.
Kevin
> ---
> arch/arm/mach-omap2/smartreflex-class3.c | 1 +
> arch/arm/mach-omap2/smartreflex.h | 2 +-
> arch/arm/mach-omap2/voltage.h | 1 -
> arch/arm/mach-omap2/vp.h | 2 --
> arch/arm/plat-omap/include/plat/voltage.h | 3 +++
> 5 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/smartreflex-class3.c b/arch/arm/mach-omap2/smartreflex-class3.c
> index 955566e..e12c51e 100644
> --- a/arch/arm/mach-omap2/smartreflex-class3.c
> +++ b/arch/arm/mach-omap2/smartreflex-class3.c
> @@ -12,6 +12,7 @@
> */
>
> #include "smartreflex.h"
> +#include "voltage.h"
>
> static int sr_class3_enable(struct voltagedomain *voltdm)
> {
> diff --git a/arch/arm/mach-omap2/smartreflex.h b/arch/arm/mach-omap2/smartreflex.h
> index 5809141..c4e8530 100644
> --- a/arch/arm/mach-omap2/smartreflex.h
> +++ b/arch/arm/mach-omap2/smartreflex.h
> @@ -22,7 +22,7 @@
>
> #include <linux/platform_device.h>
>
> -#include "voltage.h"
> +#include <plat/voltage.h>
>
> /*
> * Different Smartreflex IPs version. The v1 is the 65nm version used in
> diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
> index 16a1b09..a81dea8 100644
> --- a/arch/arm/mach-omap2/voltage.h
> +++ b/arch/arm/mach-omap2/voltage.h
> @@ -167,6 +167,5 @@ int voltdm_for_each_pwrdm(struct voltagedomain *voltdm,
> int (*fn)(struct voltagedomain *voltdm,
> struct powerdomain *pwrdm));
> int voltdm_scale(struct voltagedomain *voltdm, unsigned long target_volt);
> -void voltdm_reset(struct voltagedomain *voltdm);
> unsigned long voltdm_get_voltage(struct voltagedomain *voltdm);
> #endif
> diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
> index 7c155d2..837cb8d 100644
> --- a/arch/arm/mach-omap2/vp.h
> +++ b/arch/arm/mach-omap2/vp.h
> @@ -118,8 +118,6 @@ extern struct omap_vp_instance omap4_vp_iva;
> extern struct omap_vp_instance omap4_vp_core;
>
> void omap_vp_init(struct voltagedomain *voltdm);
> -void omap_vp_enable(struct voltagedomain *voltdm);
> -void omap_vp_disable(struct voltagedomain *voltdm);
> int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
> unsigned long target_volt);
> int omap_vp_update_errorgain(struct voltagedomain *voltdm,
> diff --git a/arch/arm/plat-omap/include/plat/voltage.h b/arch/arm/plat-omap/include/plat/voltage.h
> index 0a6a482..1842709 100644
> --- a/arch/arm/plat-omap/include/plat/voltage.h
> +++ b/arch/arm/plat-omap/include/plat/voltage.h
> @@ -16,5 +16,8 @@ struct voltagedomain;
> struct voltagedomain *voltdm_lookup(const char *name);
> int voltdm_scale(struct voltagedomain *voltdm, unsigned long target_volt);
> unsigned long voltdm_get_voltage(struct voltagedomain *voltdm);
> +void voltdm_reset(struct voltagedomain *voltdm);
>
> +void omap_vp_enable(struct voltagedomain *voltdm);
> +void omap_vp_disable(struct voltagedomain *voltdm);
> #endif
WARNING: multiple messages have this Message-ID (diff)
From: khilman@ti.com (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/9] ARM: OMAP3+: voltage: export functions to plat/voltage.h
Date: Wed, 18 Apr 2012 10:27:45 -0700 [thread overview]
Message-ID: <87y5ptkl0u.fsf@ti.com> (raw)
In-Reply-To: <1332173578-27422-2-git-send-email-j-pihet@ti.com> (jean pihet's message of "Mon, 19 Mar 2012 17:12:50 +0100")
Hi Jean,
jean.pihet at newoldbits.com writes:
> From: Jean Pihet <j-pihet@ti.com>
>
> Move some functions from mach-omap2/ dir to the plat/ dir.
> The SmartReflex class driver is a user of the basic voltage domains
> functions (enable, disable, reset).
>
> Signed-off-by: Jean Pihet <j-pihet@ti.com>
> Cc: Kevin Hilman <khilman@ti.com>
Rather than expose the VP functions directly, how about adding a new API
at the voltdm layer to start/stop AVS. Maybe something like:
voltdm_avs_start(struct voltagedomain *voltdm)
voltdm_avs_stop(struct voltagedomain *voltdm)
These will internally just call VP enable/disable for now, but we may
have more to add to these in the future to support other SR classes.
Kevin
> ---
> arch/arm/mach-omap2/smartreflex-class3.c | 1 +
> arch/arm/mach-omap2/smartreflex.h | 2 +-
> arch/arm/mach-omap2/voltage.h | 1 -
> arch/arm/mach-omap2/vp.h | 2 --
> arch/arm/plat-omap/include/plat/voltage.h | 3 +++
> 5 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/smartreflex-class3.c b/arch/arm/mach-omap2/smartreflex-class3.c
> index 955566e..e12c51e 100644
> --- a/arch/arm/mach-omap2/smartreflex-class3.c
> +++ b/arch/arm/mach-omap2/smartreflex-class3.c
> @@ -12,6 +12,7 @@
> */
>
> #include "smartreflex.h"
> +#include "voltage.h"
>
> static int sr_class3_enable(struct voltagedomain *voltdm)
> {
> diff --git a/arch/arm/mach-omap2/smartreflex.h b/arch/arm/mach-omap2/smartreflex.h
> index 5809141..c4e8530 100644
> --- a/arch/arm/mach-omap2/smartreflex.h
> +++ b/arch/arm/mach-omap2/smartreflex.h
> @@ -22,7 +22,7 @@
>
> #include <linux/platform_device.h>
>
> -#include "voltage.h"
> +#include <plat/voltage.h>
>
> /*
> * Different Smartreflex IPs version. The v1 is the 65nm version used in
> diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
> index 16a1b09..a81dea8 100644
> --- a/arch/arm/mach-omap2/voltage.h
> +++ b/arch/arm/mach-omap2/voltage.h
> @@ -167,6 +167,5 @@ int voltdm_for_each_pwrdm(struct voltagedomain *voltdm,
> int (*fn)(struct voltagedomain *voltdm,
> struct powerdomain *pwrdm));
> int voltdm_scale(struct voltagedomain *voltdm, unsigned long target_volt);
> -void voltdm_reset(struct voltagedomain *voltdm);
> unsigned long voltdm_get_voltage(struct voltagedomain *voltdm);
> #endif
> diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
> index 7c155d2..837cb8d 100644
> --- a/arch/arm/mach-omap2/vp.h
> +++ b/arch/arm/mach-omap2/vp.h
> @@ -118,8 +118,6 @@ extern struct omap_vp_instance omap4_vp_iva;
> extern struct omap_vp_instance omap4_vp_core;
>
> void omap_vp_init(struct voltagedomain *voltdm);
> -void omap_vp_enable(struct voltagedomain *voltdm);
> -void omap_vp_disable(struct voltagedomain *voltdm);
> int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
> unsigned long target_volt);
> int omap_vp_update_errorgain(struct voltagedomain *voltdm,
> diff --git a/arch/arm/plat-omap/include/plat/voltage.h b/arch/arm/plat-omap/include/plat/voltage.h
> index 0a6a482..1842709 100644
> --- a/arch/arm/plat-omap/include/plat/voltage.h
> +++ b/arch/arm/plat-omap/include/plat/voltage.h
> @@ -16,5 +16,8 @@ struct voltagedomain;
> struct voltagedomain *voltdm_lookup(const char *name);
> int voltdm_scale(struct voltagedomain *voltdm, unsigned long target_volt);
> unsigned long voltdm_get_voltage(struct voltagedomain *voltdm);
> +void voltdm_reset(struct voltagedomain *voltdm);
>
> +void omap_vp_enable(struct voltagedomain *voltdm);
> +void omap_vp_disable(struct voltagedomain *voltdm);
> #endif
next prev parent reply other threads:[~2012-04-18 17:27 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-19 16:12 [PATCH v2 0/9] PM: Create the AVS class of drivers jean.pihet
2012-03-19 16:12 ` jean.pihet at newoldbits.com
2012-03-19 16:12 ` [PATCH 1/9] ARM: OMAP3+: voltage: export functions to plat/voltage.h jean.pihet
2012-03-19 16:12 ` jean.pihet at newoldbits.com
2012-04-18 17:27 ` Kevin Hilman [this message]
2012-04-18 17:27 ` Kevin Hilman
2012-04-18 20:36 ` Jean Pihet
2012-04-18 20:36 ` Jean Pihet
2012-04-18 20:36 ` Jean Pihet
2012-03-19 16:12 ` [PATCH 2/9] ARM: OMAP2+: SmartReflex: move the driver specific macros in include/linux/power jean.pihet
2012-03-19 16:12 ` jean.pihet at newoldbits.com
2012-04-04 19:10 ` Trilok Soni
2012-04-04 19:10 ` Trilok Soni
2012-04-04 19:41 ` Cousson, Benoit
2012-04-04 19:41 ` Cousson, Benoit
2012-04-04 19:41 ` Cousson, Benoit
2012-04-05 6:53 ` Trilok Soni
2012-04-05 6:53 ` Trilok Soni
2012-04-05 8:59 ` Jean Pihet
2012-04-05 8:59 ` Jean Pihet
2012-04-05 9:35 ` Trilok Soni
2012-04-05 9:35 ` Trilok Soni
2012-04-19 13:54 ` Arnd Bergmann
2012-04-19 13:54 ` Arnd Bergmann
2012-04-19 16:02 ` Jean Pihet
2012-04-19 16:02 ` Jean Pihet
2012-04-19 16:02 ` Jean Pihet
2012-04-19 17:06 ` Kevin Hilman
2012-04-19 17:06 ` Kevin Hilman
2012-04-19 17:06 ` Kevin Hilman
2012-03-19 16:12 ` [PATCH 3/9] ARM: OMAP3+: SmartReflex: class drivers should use struct omap_sr * jean.pihet
2012-03-19 16:12 ` jean.pihet at newoldbits.com
2012-03-19 16:12 ` [PATCH 4/9] ARM: OMAP2+: smartreflex: Use the names from hwmod data instead of voltage domains jean.pihet
2012-03-19 16:12 ` jean.pihet at newoldbits.com
2012-03-19 16:12 ` [PATCH 5/9] ARM: OMAP3: hwmod: rename the smartreflex entries jean.pihet
2012-03-19 16:12 ` jean.pihet at newoldbits.com
2012-04-18 17:33 ` Kevin Hilman
2012-04-18 17:33 ` Kevin Hilman
2012-04-18 20:41 ` Jean Pihet
2012-04-18 20:41 ` Jean Pihet
2012-04-18 20:41 ` Jean Pihet
2012-03-19 16:12 ` [PATCH 6/9] ARM: OMAP2+: SmartReflex: introduce a busy loop condition test macro jean.pihet
2012-03-19 16:12 ` jean.pihet at newoldbits.com
2012-03-19 16:12 ` [PATCH 7/9] ARM: OMAP2+: SmartReflex: Use per-OPP data structure jean.pihet
2012-03-19 16:12 ` jean.pihet at newoldbits.com
2012-04-18 18:21 ` Kevin Hilman
2012-04-18 18:21 ` Kevin Hilman
2012-04-18 20:52 ` Jean Pihet
2012-04-18 20:52 ` Jean Pihet
2012-04-18 20:52 ` Jean Pihet
2012-03-19 16:12 ` [PATCH 8/9] ARM: OMAP2+: SmartReflex: add POWER_AVS Kconfig options jean.pihet
2012-03-19 16:12 ` jean.pihet at newoldbits.com
2012-03-19 16:12 ` [PATCH 9/9] ARM: OMAP: SmartReflex: Move smartreflex driver to drivers/ jean.pihet
2012-03-19 16:12 ` jean.pihet at newoldbits.com
2012-04-18 18:17 ` Kevin Hilman
2012-04-18 18:17 ` Kevin Hilman
2012-04-03 11:14 ` [PATCH v2 0/9] PM: Create the AVS class of drivers Jean Pihet
2012-04-03 11:14 ` Jean Pihet
2012-04-03 11:14 ` Jean Pihet
2012-04-18 8:04 ` Jean Pihet
2012-04-18 8:04 ` Jean Pihet
2012-04-19 0:08 ` Greg KH
2012-04-19 0:08 ` Greg KH
2012-04-18 18:29 ` Kevin Hilman
2012-04-18 18:29 ` Kevin Hilman
2012-04-18 18:30 ` Kevin Hilman
2012-04-18 18:30 ` Kevin Hilman
2012-04-18 18:30 ` Kevin Hilman
2012-04-18 18:49 ` Rafael J. Wysocki
2012-04-18 18:49 ` Rafael J. Wysocki
2012-04-18 18:49 ` Rafael J. Wysocki
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=87y5ptkl0u.fsf@ti.com \
--to=khilman@ti.com \
--cc=j-pihet@ti.com \
--cc=jean.pihet@newoldbits.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=rjw@sisk.pl \
/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.