[email protected] writes:

> From: Jean Pihet <[email protected]>
>
> Remove the device dependent code (ex. cpu_is_xxx()) and settings
> from the driver code and instead pass them via the platform
> data. This allows a clean separation of the driver code and the platform
> code, as required by the move of the platform header files to
> include/linux/platform_data.
>
> Note about the smartreflex functional clocks: the smartreflex fclks
> are derived from sys_clk and are named "smartreflex.%d". Since the
> smartreflex device names and the functional clock names are identical
> the device driver code uses them to control the functional clocks.

Thanks for adding this part.

One more nit below, then please resend this patch as a combined series
with the "align fclk names" patch.  (note: The previous patch 1 from this
series I've queued separately as a fix for v3.7-rc.  )

> Signed-off-by: Jean Pihet <[email protected]>
> ---
>  arch/arm/mach-omap2/sr_device.c   |   13 +++++++++++++
>  drivers/power/avs/smartreflex.c   |   38 
> +++++++++----------------------------
>  include/linux/power/smartreflex.h |   14 ++++++++++++--
>  3 files changed, 34 insertions(+), 31 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c
> index cbeae56..06de443 100644
> --- a/arch/arm/mach-omap2/sr_device.c
> +++ b/arch/arm/mach-omap2/sr_device.c
> @@ -121,6 +121,19 @@ static int __init sr_dev_init(struct omap_hwmod *oh, 
> void *user)
>       sr_data->senn_mod = 0x1;
>       sr_data->senp_mod = 0x1;
>  
> +     if (cpu_is_omap34xx() || cpu_is_omap44xx()) {
> +             sr_data->err_weight = OMAP3430_SR_ERRWEIGHT;
> +             sr_data->err_maxlimit = OMAP3430_SR_ERRMAXLIMIT;
> +             sr_data->accum_data = OMAP3430_SR_ACCUMDATA;
> +             if (!(strcmp(sr_data->name, "smartreflex_mpu"))) {
> +                     sr_data->senn_avgweight = OMAP3430_SR1_SENNAVGWEIGHT;
> +                     sr_data->senp_avgweight = OMAP3430_SR1_SENPAVGWEIGHT;
> +             } else {
> +                     sr_data->senn_avgweight = OMAP3430_SR2_SENNAVGWEIGHT;
> +                     sr_data->senp_avgweight = OMAP3430_SR2_SENPAVGWEIGHT;
> +             }
> +     }
> +
>       sr_data->voltdm = voltdm_lookup(sr_dev_attr->sensor_voltdm_name);
>       if (IS_ERR(sr_data->voltdm)) {
>               pr_err("%s: Unable to get voltage domain pointer for VDD %s\n",
> diff --git a/drivers/power/avs/smartreflex.c b/drivers/power/avs/smartreflex.c
> index 24768a2..829467f 100644
> --- a/drivers/power/avs/smartreflex.c
> +++ b/drivers/power/avs/smartreflex.c
> @@ -133,14 +133,11 @@ static void sr_set_clk_length(struct omap_sr *sr)
>       struct clk *sys_ck;
>       u32 sys_clk_speed;
>  
> -     if (cpu_is_omap34xx())
> -             sys_ck = clk_get(NULL, "sys_ck");
> -     else
> -             sys_ck = clk_get(NULL, "sys_clkin_ck");
> +     sys_ck = clk_get(&sr->pdev->dev, "fck");

nit: since this isn't the sys_clk anymore, could you s/sys_ck/fck/  ?

Thanks,

Kevin

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to