diff options
author | Jean Pihet <j-pihet@ti.com> | 2012-10-04 12:47:11 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@ti.com> | 2012-10-15 18:22:24 -0400 |
commit | 98aed08e16c5f18d0c31fc07127bc163ccd0d04c (patch) | |
tree | a773c60cbfb39cd1b57fb2ff2d5eb7c5c157df84 /arch/arm/mach-omap2/sr_device.c | |
parent | 1bef60cc7c284fb3164a2b05e8c121ff0ef56a24 (diff) |
ARM: OMAP: SmartReflex: pass device dependent data via platform data
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 have the same name as the main_clk from
the hwmod entry, in order for the SmartReflex driver to request the
fclk (using clk_get(dev, "fck")).
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/sr_device.c')
-rw-r--r-- | arch/arm/mach-omap2/sr_device.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c index f8217a5a4a26..a04bc25a1d26 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) | |||
121 | sr_data->senn_mod = 0x1; | 121 | sr_data->senn_mod = 0x1; |
122 | sr_data->senp_mod = 0x1; | 122 | sr_data->senp_mod = 0x1; |
123 | 123 | ||
124 | if (cpu_is_omap34xx() || cpu_is_omap44xx()) { | ||
125 | sr_data->err_weight = OMAP3430_SR_ERRWEIGHT; | ||
126 | sr_data->err_maxlimit = OMAP3430_SR_ERRMAXLIMIT; | ||
127 | sr_data->accum_data = OMAP3430_SR_ACCUMDATA; | ||
128 | if (!(strcmp(sr_data->name, "smartreflex_mpu"))) { | ||
129 | sr_data->senn_avgweight = OMAP3430_SR1_SENNAVGWEIGHT; | ||
130 | sr_data->senp_avgweight = OMAP3430_SR1_SENPAVGWEIGHT; | ||
131 | } else { | ||
132 | sr_data->senn_avgweight = OMAP3430_SR2_SENNAVGWEIGHT; | ||
133 | sr_data->senp_avgweight = OMAP3430_SR2_SENPAVGWEIGHT; | ||
134 | } | ||
135 | } | ||
136 | |||
124 | sr_data->voltdm = voltdm_lookup(sr_dev_attr->sensor_voltdm_name); | 137 | sr_data->voltdm = voltdm_lookup(sr_dev_attr->sensor_voltdm_name); |
125 | if (!sr_data->voltdm) { | 138 | if (!sr_data->voltdm) { |
126 | pr_err("%s: Unable to get voltage domain pointer for VDD %s\n", | 139 | pr_err("%s: Unable to get voltage domain pointer for VDD %s\n", |