OPP layer and additional cleanups
PATCH 6/10 OPP layer and additional cleanups
Introduce a new types for
1. for identifying voltage rails.
2. generic voltage scaling routine and its registration function.
and the prototype for the registration function itself.
arch/arm/mach-omap2/pm.h +17 -0
@@ -12,6 +12,9 @@#define __ARCH_ARM_MACH_OMAP2_PM_H#include <plat/powerdomain.h> +#ifdef CONFIG_ARCH_OMAP3 +#include <plat/opp.h> +#endif extern u32 enable_off_mode;extern u32 sleep_while_idle;
@@ -23,6 +26,20 @@ extern void omap_sram_idle(void);extern int omap3_can_sleep (void );extern int set_pwrdm_state (struct powerdomain *pwrdm,u32 state);extern int omap3_idle_init (void ); +#ifdef CONFIG_ARCH_OMAP3 +extern unsigned long get_l3_target_freq (struct omap_opp *); +enum volt_rail { +RAIL_NONE , +RAIL_VDD1 , +RAIL_VDD2 , +}; + +typedef int (*volt_scale_t ) (enum volt_rail ,struct omap_opp *, +struct omap_opp *); +extern volt_scale_t voltage_scale; +extern int pm_register_volt_scaling (volt_scale_t ); +#endif +struct cpuidle_params {u8 valid;