[PATCH v2 0/9] PM: Create the AVS class of drivers
Jean Pihet
jean.pihet at newoldbits.com
Wed Apr 18 04:04:22 EDT 2012
Hi Andrew, Greg,
Can you please look at this patch set?
The idea is to create a framework and drivers for the AVS class of
devices. This patch set implements the first step by moving the
existing code to drivers/power/avs. Next steps will be to implement
class support and notifications, add more classes of operations for
OMAP chips, etc.
Keerthy J is taking over the ownership of this code and will continue
the development further.
What do you think?
Regards,
Jean
On Mon, Mar 19, 2012 at 5:12 PM, <jean.pihet at newoldbits.com> wrote:
> From: Jean Pihet <j-pihet at ti.com>
>
> AVS is a power management technique which controls the operating
> voltage of a device in order to optimize (i.e. reduce) its power
> consumption. The voltage is adapted depending on static factors
> (chip manufacturing process) and dynamic factors (temperature
> depending performance).
> AVS is also called SmartReflex on OMAP devices.
>
> To that end, create the AVS framework in drivers/power/avs and
> move the OMAP SmartReflex code to the new directory.
>
> In preparation to the move of the OMAP code the following changes have been
> made:
> - split the include files into generic and platform specific code,
> - fill in platform data from the device initialization code and pass
> it to the driver,
> - create CONFIG_AVS* config options accordingly.
>
> The platform integration data for SmartReflex is passed from hwmod
> and the voltage layer to the driver using pdata.
>
>
> Tested on OMAP3 Beagleboard using omap2plus_defconfig with the
> CONFIG_POWER_AVS* options set.
> Based on master branch of the l-o git tree (3.3.0-rc6) [1], commit
> 85244e0edd240da2004bb2ab7cbcbc67a336f20d.
>
> [1] git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git
>
>
> History:
> v2: rework after the comments on MLs
> . Keep the OMAP Kconfig options in the arch dir (Rafael),
> . Move the shared header file from plat-omap to
> include/linux/power/ (Tony)
>
> v1: initial revision
>
>
> Jean Pihet (9):
> ARM: OMAP3+: voltage: export functions to plat/voltage.h
> ARM: OMAP2+: SmartReflex: move the driver specific macros in
> include/linux/power
> ARM: OMAP3+: SmartReflex: class drivers should use struct omap_sr *
> ARM: OMAP2+: smartreflex: Use the names from hwmod data instead of
> voltage domains.
> ARM: OMAP3: hwmod: rename the smartreflex entries
> ARM: OMAP2+: SmartReflex: introduce a busy loop condition test macro
> ARM: OMAP2+: SmartReflex: Use per-OPP data structure
> ARM: OMAP2+: SmartReflex: add POWER_AVS Kconfig options
> ARM: OMAP: SmartReflex: Move smartreflex driver to drivers/
>
> arch/arm/mach-omap2/Makefile | 4 +-
> arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 +-
> arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 3 +-
> arch/arm/mach-omap2/pm.h | 2 +-
> arch/arm/mach-omap2/smartreflex-class3.c | 60 --
> arch/arm/mach-omap2/smartreflex.c | 1165 ----------------------------
> arch/arm/mach-omap2/smartreflex.h | 256 ------
> arch/arm/mach-omap2/sr_device.c | 38 +-
> arch/arm/mach-omap2/voltage.h | 1 -
> arch/arm/mach-omap2/vp.h | 2 -
> arch/arm/plat-omap/Kconfig | 30 +-
> arch/arm/plat-omap/include/plat/voltage.h | 3 +
> drivers/power/Kconfig | 2 +
> drivers/power/Makefile | 2 +
> drivers/power/avs/Kconfig | 12 +
> drivers/power/avs/Makefile | 2 +
> drivers/power/avs/smartreflex-class3.c | 61 ++
> drivers/power/avs/smartreflex.c | 1118 ++++++++++++++++++++++++++
> drivers/power/avs/smartreflex.h | 238 ++++++
> include/linux/power/smartreflex.h | 97 +++
> 20 files changed, 1590 insertions(+), 1518 deletions(-)
> delete mode 100644 arch/arm/mach-omap2/smartreflex-class3.c
> delete mode 100644 arch/arm/mach-omap2/smartreflex.c
> delete mode 100644 arch/arm/mach-omap2/smartreflex.h
> create mode 100644 drivers/power/avs/Kconfig
> create mode 100644 drivers/power/avs/Makefile
> create mode 100644 drivers/power/avs/smartreflex-class3.c
> create mode 100644 drivers/power/avs/smartreflex.c
> create mode 100644 drivers/power/avs/smartreflex.h
> create mode 100644 include/linux/power/smartreflex.h
>
> --
> 1.7.5.4
>
More information about the linux-arm-kernel
mailing list