* [PATCH 0/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data @ 2012-10-04 16:47 ` jean.pihet at newoldbits.com 0 siblings, 0 replies; 20+ messages in thread From: jean.pihet @ 2012-10-04 16:47 UTC (permalink / raw) To: linux-omap, linux-arm-kernel, tony, Kevin Hilman, Anton Vorontsov Cc: J Keerthy, Jean Pihet From: Jean Pihet <j-pihet@ti.com> 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")). Based on mainline 3.6.0. Boot tested on OMAP3&4 platforms. Jean Pihet (2): ARM: OMAP: hwmod: align the SmartReflex fck names ARM: OMAP: SmartReflex: pass device dependent data via platform data arch/arm/mach-omap2/clock33xx_data.c | 12 +++---- arch/arm/mach-omap2/clock3xxx_data.c | 12 +++---- arch/arm/mach-omap2/clock44xx_data.c | 6 ++-- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 ++--- arch/arm/mach-omap2/sr_device.c | 13 +++++++ drivers/power/avs/smartreflex.c | 54 +++++++++------------------- include/linux/power/smartreflex.h | 14 ++++++-- 7 files changed, 61 insertions(+), 58 deletions(-) -- 1.7.10.4 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 0/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data @ 2012-10-04 16:47 ` jean.pihet at newoldbits.com 0 siblings, 0 replies; 20+ messages in thread From: jean.pihet at newoldbits.com @ 2012-10-04 16:47 UTC (permalink / raw) To: linux-arm-kernel From: Jean Pihet <j-pihet@ti.com> 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")). Based on mainline 3.6.0. Boot tested on OMAP3&4 platforms. Jean Pihet (2): ARM: OMAP: hwmod: align the SmartReflex fck names ARM: OMAP: SmartReflex: pass device dependent data via platform data arch/arm/mach-omap2/clock33xx_data.c | 12 +++---- arch/arm/mach-omap2/clock3xxx_data.c | 12 +++---- arch/arm/mach-omap2/clock44xx_data.c | 6 ++-- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 ++--- arch/arm/mach-omap2/sr_device.c | 13 +++++++ drivers/power/avs/smartreflex.c | 54 +++++++++------------------- include/linux/power/smartreflex.h | 14 ++++++-- 7 files changed, 61 insertions(+), 58 deletions(-) -- 1.7.10.4 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names 2012-10-04 16:47 ` jean.pihet at newoldbits.com @ 2012-10-04 16:47 ` jean.pihet at newoldbits.com -1 siblings, 0 replies; 20+ messages in thread From: jean.pihet @ 2012-10-04 16:47 UTC (permalink / raw) To: linux-omap, linux-arm-kernel, tony, Kevin Hilman, Anton Vorontsov Cc: J Keerthy, Jean Pihet From: Jean Pihet <j-pihet@ti.com> Rename the smartreflex fck names for consistency and better readability; rename the clock aliases so that they match the hwmod main_clk names. Signed-off-by: Jean Pihet <j-pihet@ti.com> --- arch/arm/mach-omap2/clock33xx_data.c | 12 ++++++------ arch/arm/mach-omap2/clock3xxx_data.c | 12 ++++++------ arch/arm/mach-omap2/clock44xx_data.c | 6 +++--- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 ++++---- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-omap2/clock33xx_data.c b/arch/arm/mach-omap2/clock33xx_data.c index 2026311..4fa2dd9 100644 --- a/arch/arm/mach-omap2/clock33xx_data.c +++ b/arch/arm/mach-omap2/clock33xx_data.c @@ -548,16 +548,16 @@ static struct clk mcasp1_fck = { .recalc = &followparent_recalc, }; -static struct clk smartreflex0_fck = { - .name = "smartreflex0_fck", +static struct clk smartreflex_mpu_fck = { + .name = "smartreflex_mpu_fck", .clkdm_name = "l4_wkup_clkdm", .parent = &sys_clkin_ck, .ops = &clkops_null, .recalc = &followparent_recalc, }; -static struct clk smartreflex1_fck = { - .name = "smartreflex1_fck", +static struct clk smartreflex_core_fck = { + .name = "smartreflex_core_fck", .clkdm_name = "l4_wkup_clkdm", .parent = &sys_clkin_ck, .ops = &clkops_null, @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_AM33XX), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_AM33XX), CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index 700317a..81f6a15 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c @@ -3050,8 +3050,8 @@ static struct clk traceclk_fck = { /* SR clocks */ /* SmartReflex fclk (VDD1) */ -static struct clk sr1_fck = { - .name = "sr1_fck", +static struct clk smartreflex_mpu_iva_fck = { + .name = "smartreflex_mpu_iva_fck", .ops = &clkops_omap2_dflt_wait, .parent = &sys_ck, .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN), @@ -3061,8 +3061,8 @@ static struct clk sr1_fck = { }; /* SmartReflex fclk (VDD2) */ -static struct clk sr2_fck = { - .name = "sr2_fck", +static struct clk smartreflex_core_fck = { + .name = "smartreflex_core_fck", .ops = &clkops_omap2_dflt_wait, .parent = &sys_ck, .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN), @@ -3448,8 +3448,8 @@ static struct omap_clk omap3xxx_clks[] = { CLK(NULL, "atclk_fck", &atclk_fck, CK_3XXX), CLK(NULL, "traceclk_src_fck", &traceclk_src_fck, CK_3XXX), CLK(NULL, "traceclk_fck", &traceclk_fck, CK_3XXX), - CLK(NULL, "sr1_fck", &sr1_fck, CK_34XX | CK_36XX), - CLK(NULL, "sr2_fck", &sr2_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex_mpu_iva_fck", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_34XX | CK_36XX), CLK(NULL, "sr_l4_ick", &sr_l4_ick, CK_34XX | CK_36XX), CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index 500682c..9852ecb 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c @@ -3224,9 +3224,9 @@ static struct omap_clk omap44xx_clks[] = { CLK(NULL, "slimbus2_fclk_0", &slimbus2_fclk_0, CK_443X), CLK(NULL, "slimbus2_slimbus_clk", &slimbus2_slimbus_clk, CK_443X), CLK(NULL, "slimbus2_fck", &slimbus2_fck, CK_443X), - CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), - CLK(NULL, "smartreflex_iva_fck", &smartreflex_iva_fck, CK_443X), - CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_443X), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), + CLK(NULL, "smartreflex_iva_fck", &smartreflex_iva_fck, CK_443X), + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_443X), CLK(NULL, "timer1_fck", &timer1_fck, CK_443X), CLK(NULL, "timer10_fck", &timer10_fck, CK_443X), CLK(NULL, "timer11_fck", &timer11_fck, CK_443X), diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 94b38af..f1095a6 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c @@ -1368,7 +1368,7 @@ static struct omap_hwmod_irq_info omap3_smartreflex_mpu_irqs[] = { static struct omap_hwmod omap34xx_sr1_hwmod = { .name = "smartreflex_mpu_iva", .class = &omap34xx_smartreflex_hwmod_class, - .main_clk = "sr1_fck", + .main_clk = "smartreflex_mpu_iva_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1386,7 +1386,7 @@ static struct omap_hwmod omap34xx_sr1_hwmod = { static struct omap_hwmod omap36xx_sr1_hwmod = { .name = "smartreflex_mpu_iva", .class = &omap36xx_smartreflex_hwmod_class, - .main_clk = "sr1_fck", + .main_clk = "smartreflex_mpu_iva_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1413,7 +1413,7 @@ static struct omap_hwmod_irq_info omap3_smartreflex_core_irqs[] = { static struct omap_hwmod omap34xx_sr2_hwmod = { .name = "smartreflex_core", .class = &omap34xx_smartreflex_hwmod_class, - .main_clk = "sr2_fck", + .main_clk = "smartreflex_core_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1431,7 +1431,7 @@ static struct omap_hwmod omap34xx_sr2_hwmod = { static struct omap_hwmod omap36xx_sr2_hwmod = { .name = "smartreflex_core", .class = &omap36xx_smartreflex_hwmod_class, - .main_clk = "sr2_fck", + .main_clk = "smartreflex_core_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names @ 2012-10-04 16:47 ` jean.pihet at newoldbits.com 0 siblings, 0 replies; 20+ messages in thread From: jean.pihet at newoldbits.com @ 2012-10-04 16:47 UTC (permalink / raw) To: linux-arm-kernel From: Jean Pihet <j-pihet@ti.com> Rename the smartreflex fck names for consistency and better readability; rename the clock aliases so that they match the hwmod main_clk names. Signed-off-by: Jean Pihet <j-pihet@ti.com> --- arch/arm/mach-omap2/clock33xx_data.c | 12 ++++++------ arch/arm/mach-omap2/clock3xxx_data.c | 12 ++++++------ arch/arm/mach-omap2/clock44xx_data.c | 6 +++--- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 ++++---- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-omap2/clock33xx_data.c b/arch/arm/mach-omap2/clock33xx_data.c index 2026311..4fa2dd9 100644 --- a/arch/arm/mach-omap2/clock33xx_data.c +++ b/arch/arm/mach-omap2/clock33xx_data.c @@ -548,16 +548,16 @@ static struct clk mcasp1_fck = { .recalc = &followparent_recalc, }; -static struct clk smartreflex0_fck = { - .name = "smartreflex0_fck", +static struct clk smartreflex_mpu_fck = { + .name = "smartreflex_mpu_fck", .clkdm_name = "l4_wkup_clkdm", .parent = &sys_clkin_ck, .ops = &clkops_null, .recalc = &followparent_recalc, }; -static struct clk smartreflex1_fck = { - .name = "smartreflex1_fck", +static struct clk smartreflex_core_fck = { + .name = "smartreflex_core_fck", .clkdm_name = "l4_wkup_clkdm", .parent = &sys_clkin_ck, .ops = &clkops_null, @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_AM33XX), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_AM33XX), CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index 700317a..81f6a15 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c @@ -3050,8 +3050,8 @@ static struct clk traceclk_fck = { /* SR clocks */ /* SmartReflex fclk (VDD1) */ -static struct clk sr1_fck = { - .name = "sr1_fck", +static struct clk smartreflex_mpu_iva_fck = { + .name = "smartreflex_mpu_iva_fck", .ops = &clkops_omap2_dflt_wait, .parent = &sys_ck, .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN), @@ -3061,8 +3061,8 @@ static struct clk sr1_fck = { }; /* SmartReflex fclk (VDD2) */ -static struct clk sr2_fck = { - .name = "sr2_fck", +static struct clk smartreflex_core_fck = { + .name = "smartreflex_core_fck", .ops = &clkops_omap2_dflt_wait, .parent = &sys_ck, .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN), @@ -3448,8 +3448,8 @@ static struct omap_clk omap3xxx_clks[] = { CLK(NULL, "atclk_fck", &atclk_fck, CK_3XXX), CLK(NULL, "traceclk_src_fck", &traceclk_src_fck, CK_3XXX), CLK(NULL, "traceclk_fck", &traceclk_fck, CK_3XXX), - CLK(NULL, "sr1_fck", &sr1_fck, CK_34XX | CK_36XX), - CLK(NULL, "sr2_fck", &sr2_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex_mpu_iva_fck", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_34XX | CK_36XX), CLK(NULL, "sr_l4_ick", &sr_l4_ick, CK_34XX | CK_36XX), CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index 500682c..9852ecb 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c @@ -3224,9 +3224,9 @@ static struct omap_clk omap44xx_clks[] = { CLK(NULL, "slimbus2_fclk_0", &slimbus2_fclk_0, CK_443X), CLK(NULL, "slimbus2_slimbus_clk", &slimbus2_slimbus_clk, CK_443X), CLK(NULL, "slimbus2_fck", &slimbus2_fck, CK_443X), - CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), - CLK(NULL, "smartreflex_iva_fck", &smartreflex_iva_fck, CK_443X), - CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_443X), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), + CLK(NULL, "smartreflex_iva_fck", &smartreflex_iva_fck, CK_443X), + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_443X), CLK(NULL, "timer1_fck", &timer1_fck, CK_443X), CLK(NULL, "timer10_fck", &timer10_fck, CK_443X), CLK(NULL, "timer11_fck", &timer11_fck, CK_443X), diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 94b38af..f1095a6 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c @@ -1368,7 +1368,7 @@ static struct omap_hwmod_irq_info omap3_smartreflex_mpu_irqs[] = { static struct omap_hwmod omap34xx_sr1_hwmod = { .name = "smartreflex_mpu_iva", .class = &omap34xx_smartreflex_hwmod_class, - .main_clk = "sr1_fck", + .main_clk = "smartreflex_mpu_iva_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1386,7 +1386,7 @@ static struct omap_hwmod omap34xx_sr1_hwmod = { static struct omap_hwmod omap36xx_sr1_hwmod = { .name = "smartreflex_mpu_iva", .class = &omap36xx_smartreflex_hwmod_class, - .main_clk = "sr1_fck", + .main_clk = "smartreflex_mpu_iva_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1413,7 +1413,7 @@ static struct omap_hwmod_irq_info omap3_smartreflex_core_irqs[] = { static struct omap_hwmod omap34xx_sr2_hwmod = { .name = "smartreflex_core", .class = &omap34xx_smartreflex_hwmod_class, - .main_clk = "sr2_fck", + .main_clk = "smartreflex_core_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1431,7 +1431,7 @@ static struct omap_hwmod omap34xx_sr2_hwmod = { static struct omap_hwmod omap36xx_sr2_hwmod = { .name = "smartreflex_core", .class = &omap36xx_smartreflex_hwmod_class, - .main_clk = "sr2_fck", + .main_clk = "smartreflex_core_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 2/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data 2012-10-04 16:47 ` jean.pihet at newoldbits.com @ 2012-10-04 16:47 ` jean.pihet at newoldbits.com -1 siblings, 0 replies; 20+ messages in thread From: jean.pihet @ 2012-10-04 16:47 UTC (permalink / raw) To: linux-omap, linux-arm-kernel, tony, Kevin Hilman, Anton Vorontsov Cc: J Keerthy, Jean Pihet From: Jean Pihet <j-pihet@ti.com> 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> --- arch/arm/mach-omap2/sr_device.c | 13 +++++++++ drivers/power/avs/smartreflex.c | 54 ++++++++++++------------------------- include/linux/power/smartreflex.h | 14 ++++++++-- 3 files changed, 42 insertions(+), 39 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..4c4519e 100644 --- a/drivers/power/avs/smartreflex.c +++ b/drivers/power/avs/smartreflex.c @@ -130,24 +130,21 @@ static irqreturn_t sr_interrupt(int irq, void *data) static void sr_set_clk_length(struct omap_sr *sr) { - struct clk *sys_ck; - u32 sys_clk_speed; + struct clk *fck; + u32 fclk_speed; - if (cpu_is_omap34xx()) - sys_ck = clk_get(NULL, "sys_ck"); - else - sys_ck = clk_get(NULL, "sys_clkin_ck"); + fck = clk_get(&sr->pdev->dev, "fck"); - if (IS_ERR(sys_ck)) { - dev_err(&sr->pdev->dev, "%s: unable to get sys clk\n", - __func__); + if (IS_ERR(fck)) { + dev_err(&sr->pdev->dev, "%s: unable to get fck for device %s\n", + __func__, dev_name(&sr->pdev->dev)); return; } - sys_clk_speed = clk_get_rate(sys_ck); - clk_put(sys_ck); + fclk_speed = clk_get_rate(fck); + clk_put(fck); - switch (sys_clk_speed) { + switch (fclk_speed) { case 12000000: sr->clk_length = SRCLKLENGTH_12MHZ_SYSCLK; break; @@ -164,34 +161,12 @@ static void sr_set_clk_length(struct omap_sr *sr) sr->clk_length = SRCLKLENGTH_38MHZ_SYSCLK; break; default: - dev_err(&sr->pdev->dev, "%s: Invalid sysclk value: %d\n", - __func__, sys_clk_speed); + dev_err(&sr->pdev->dev, "%s: Invalid fclk rate: %d\n", + __func__, fclk_speed); break; } } -static void sr_set_regfields(struct omap_sr *sr) -{ - /* - * For time being these values are defined in smartreflex.h - * and populated during init. May be they can be moved to board - * file or pmic specific data structure. In that case these structure - * fields will have to be populated using the pdata or pmic structure. - */ - if (cpu_is_omap34xx() || cpu_is_omap44xx()) { - sr->err_weight = OMAP3430_SR_ERRWEIGHT; - sr->err_maxlimit = OMAP3430_SR_ERRMAXLIMIT; - sr->accum_data = OMAP3430_SR_ACCUMDATA; - if (!(strcmp(sr->name, "smartreflex_mpu_iva"))) { - sr->senn_avgweight = OMAP3430_SR1_SENNAVGWEIGHT; - sr->senp_avgweight = OMAP3430_SR1_SENPAVGWEIGHT; - } else { - sr->senn_avgweight = OMAP3430_SR2_SENNAVGWEIGHT; - sr->senp_avgweight = OMAP3430_SR2_SENPAVGWEIGHT; - } - } -} - static void sr_start_vddautocomp(struct omap_sr *sr) { if (!sr_class || !(sr_class->enable) || !(sr_class->configure)) { @@ -924,8 +899,14 @@ static int __init omap_sr_probe(struct platform_device *pdev) sr_info->nvalue_count = pdata->nvalue_count; sr_info->senn_mod = pdata->senn_mod; sr_info->senp_mod = pdata->senp_mod; + sr_info->err_weight = pdata->err_weight; + sr_info->err_maxlimit = pdata->err_maxlimit; + sr_info->accum_data = pdata->accum_data; + sr_info->senn_avgweight = pdata->senn_avgweight; + sr_info->senp_avgweight = pdata->senp_avgweight; sr_info->autocomp_active = false; sr_info->ip_type = pdata->ip_type; + sr_info->base = ioremap(mem->start, resource_size(mem)); if (!sr_info->base) { dev_err(&pdev->dev, "%s: ioremap fail\n", __func__); @@ -937,7 +918,6 @@ static int __init omap_sr_probe(struct platform_device *pdev) sr_info->irq = irq->start; sr_set_clk_length(sr_info); - sr_set_regfields(sr_info); list_add(&sr_info->node, &sr_list); diff --git a/include/linux/power/smartreflex.h b/include/linux/power/smartreflex.h index 4a496eb..c0f44c2 100644 --- a/include/linux/power/smartreflex.h +++ b/include/linux/power/smartreflex.h @@ -260,8 +260,13 @@ struct omap_sr_nvalue_table { * * @name: instance name * @ip_type: Smartreflex IP type. - * @senp_mod: SENPENABLE value for the sr - * @senn_mod: SENNENABLE value for sr + * @senp_mod: SENPENABLE value of the sr CONFIG register + * @senn_mod: SENNENABLE value for sr CONFIG register + * @err_weight ERRWEIGHT value of the sr ERRCONFIG register + * @err_maxlimit ERRMAXLIMIT value of the sr ERRCONFIG register + * @accum_data ACCUMDATA value of the sr CONFIG register + * @senn_avgweight SENNAVGWEIGHT value of the sr AVGWEIGHT register + * @senp_avgweight SENPAVGWEIGHT value of the sr AVGWEIGHT register * @nvalue_count: Number of distinct nvalues in the nvalue table * @enable_on_init: whether this sr module needs to enabled at * boot up or not. @@ -274,6 +279,11 @@ struct omap_sr_data { int ip_type; u32 senp_mod; u32 senn_mod; + u32 err_weight; + u32 err_maxlimit; + u32 accum_data; + u32 senn_avgweight; + u32 senp_avgweight; int nvalue_count; bool enable_on_init; struct omap_sr_nvalue_table *nvalue_table; -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 2/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data @ 2012-10-04 16:47 ` jean.pihet at newoldbits.com 0 siblings, 0 replies; 20+ messages in thread From: jean.pihet at newoldbits.com @ 2012-10-04 16:47 UTC (permalink / raw) To: linux-arm-kernel From: Jean Pihet <j-pihet@ti.com> 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> --- arch/arm/mach-omap2/sr_device.c | 13 +++++++++ drivers/power/avs/smartreflex.c | 54 ++++++++++++------------------------- include/linux/power/smartreflex.h | 14 ++++++++-- 3 files changed, 42 insertions(+), 39 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..4c4519e 100644 --- a/drivers/power/avs/smartreflex.c +++ b/drivers/power/avs/smartreflex.c @@ -130,24 +130,21 @@ static irqreturn_t sr_interrupt(int irq, void *data) static void sr_set_clk_length(struct omap_sr *sr) { - struct clk *sys_ck; - u32 sys_clk_speed; + struct clk *fck; + u32 fclk_speed; - if (cpu_is_omap34xx()) - sys_ck = clk_get(NULL, "sys_ck"); - else - sys_ck = clk_get(NULL, "sys_clkin_ck"); + fck = clk_get(&sr->pdev->dev, "fck"); - if (IS_ERR(sys_ck)) { - dev_err(&sr->pdev->dev, "%s: unable to get sys clk\n", - __func__); + if (IS_ERR(fck)) { + dev_err(&sr->pdev->dev, "%s: unable to get fck for device %s\n", + __func__, dev_name(&sr->pdev->dev)); return; } - sys_clk_speed = clk_get_rate(sys_ck); - clk_put(sys_ck); + fclk_speed = clk_get_rate(fck); + clk_put(fck); - switch (sys_clk_speed) { + switch (fclk_speed) { case 12000000: sr->clk_length = SRCLKLENGTH_12MHZ_SYSCLK; break; @@ -164,34 +161,12 @@ static void sr_set_clk_length(struct omap_sr *sr) sr->clk_length = SRCLKLENGTH_38MHZ_SYSCLK; break; default: - dev_err(&sr->pdev->dev, "%s: Invalid sysclk value: %d\n", - __func__, sys_clk_speed); + dev_err(&sr->pdev->dev, "%s: Invalid fclk rate: %d\n", + __func__, fclk_speed); break; } } -static void sr_set_regfields(struct omap_sr *sr) -{ - /* - * For time being these values are defined in smartreflex.h - * and populated during init. May be they can be moved to board - * file or pmic specific data structure. In that case these structure - * fields will have to be populated using the pdata or pmic structure. - */ - if (cpu_is_omap34xx() || cpu_is_omap44xx()) { - sr->err_weight = OMAP3430_SR_ERRWEIGHT; - sr->err_maxlimit = OMAP3430_SR_ERRMAXLIMIT; - sr->accum_data = OMAP3430_SR_ACCUMDATA; - if (!(strcmp(sr->name, "smartreflex_mpu_iva"))) { - sr->senn_avgweight = OMAP3430_SR1_SENNAVGWEIGHT; - sr->senp_avgweight = OMAP3430_SR1_SENPAVGWEIGHT; - } else { - sr->senn_avgweight = OMAP3430_SR2_SENNAVGWEIGHT; - sr->senp_avgweight = OMAP3430_SR2_SENPAVGWEIGHT; - } - } -} - static void sr_start_vddautocomp(struct omap_sr *sr) { if (!sr_class || !(sr_class->enable) || !(sr_class->configure)) { @@ -924,8 +899,14 @@ static int __init omap_sr_probe(struct platform_device *pdev) sr_info->nvalue_count = pdata->nvalue_count; sr_info->senn_mod = pdata->senn_mod; sr_info->senp_mod = pdata->senp_mod; + sr_info->err_weight = pdata->err_weight; + sr_info->err_maxlimit = pdata->err_maxlimit; + sr_info->accum_data = pdata->accum_data; + sr_info->senn_avgweight = pdata->senn_avgweight; + sr_info->senp_avgweight = pdata->senp_avgweight; sr_info->autocomp_active = false; sr_info->ip_type = pdata->ip_type; + sr_info->base = ioremap(mem->start, resource_size(mem)); if (!sr_info->base) { dev_err(&pdev->dev, "%s: ioremap fail\n", __func__); @@ -937,7 +918,6 @@ static int __init omap_sr_probe(struct platform_device *pdev) sr_info->irq = irq->start; sr_set_clk_length(sr_info); - sr_set_regfields(sr_info); list_add(&sr_info->node, &sr_list); diff --git a/include/linux/power/smartreflex.h b/include/linux/power/smartreflex.h index 4a496eb..c0f44c2 100644 --- a/include/linux/power/smartreflex.h +++ b/include/linux/power/smartreflex.h @@ -260,8 +260,13 @@ struct omap_sr_nvalue_table { * * @name: instance name * @ip_type: Smartreflex IP type. - * @senp_mod: SENPENABLE value for the sr - * @senn_mod: SENNENABLE value for sr + * @senp_mod: SENPENABLE value of the sr CONFIG register + * @senn_mod: SENNENABLE value for sr CONFIG register + * @err_weight ERRWEIGHT value of the sr ERRCONFIG register + * @err_maxlimit ERRMAXLIMIT value of the sr ERRCONFIG register + * @accum_data ACCUMDATA value of the sr CONFIG register + * @senn_avgweight SENNAVGWEIGHT value of the sr AVGWEIGHT register + * @senp_avgweight SENPAVGWEIGHT value of the sr AVGWEIGHT register * @nvalue_count: Number of distinct nvalues in the nvalue table * @enable_on_init: whether this sr module needs to enabled at * boot up or not. @@ -274,6 +279,11 @@ struct omap_sr_data { int ip_type; u32 senp_mod; u32 senn_mod; + u32 err_weight; + u32 err_maxlimit; + u32 accum_data; + u32 senn_avgweight; + u32 senp_avgweight; int nvalue_count; bool enable_on_init; struct omap_sr_nvalue_table *nvalue_table; -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH 0/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data 2012-10-04 16:47 ` jean.pihet at newoldbits.com @ 2012-10-04 23:40 ` Kevin Hilman -1 siblings, 0 replies; 20+ messages in thread From: Kevin Hilman @ 2012-10-04 23:40 UTC (permalink / raw) To: jean.pihet Cc: linux-omap, linux-arm-kernel, tony, Anton Vorontsov, J Keerthy, Jean Pihet jean.pihet@newoldbits.com writes: > From: Jean Pihet <j-pihet@ti.com> > > 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")). > > Based on mainline 3.6.0. Boot tested on OMAP3&4 platforms. Thanks, queuing this version for v3.8 (branch: for_3.8/pm/sr) Kevin P.S. in the future, It helps reviewers and maintainers if there's some versioning in the patches (e.g. PATCH v3 0/2]), especially when updated versions come in quick succession. Thanks. ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 0/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data @ 2012-10-04 23:40 ` Kevin Hilman 0 siblings, 0 replies; 20+ messages in thread From: Kevin Hilman @ 2012-10-04 23:40 UTC (permalink / raw) To: linux-arm-kernel jean.pihet at newoldbits.com writes: > From: Jean Pihet <j-pihet@ti.com> > > 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")). > > Based on mainline 3.6.0. Boot tested on OMAP3&4 platforms. Thanks, queuing this version for v3.8 (branch: for_3.8/pm/sr) Kevin P.S. in the future, It helps reviewers and maintainers if there's some versioning in the patches (e.g. PATCH v3 0/2]), especially when updated versions come in quick succession. Thanks. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data 2012-10-04 23:40 ` Kevin Hilman @ 2012-10-05 8:10 ` Jean Pihet -1 siblings, 0 replies; 20+ messages in thread From: Jean Pihet @ 2012-10-05 8:10 UTC (permalink / raw) To: Kevin Hilman Cc: linux-omap, linux-arm-kernel, tony, Anton Vorontsov, J Keerthy, Jean Pihet On Fri, Oct 5, 2012 at 1:40 AM, Kevin Hilman <khilman@deeprootsystems.com> wrote: > jean.pihet@newoldbits.com writes: > >> From: Jean Pihet <j-pihet@ti.com> >> >> 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")). >> >> Based on mainline 3.6.0. Boot tested on OMAP3&4 platforms. > > Thanks, queuing this version for v3.8 (branch: for_3.8/pm/sr) Thanks! Jean > > Kevin > > P.S. in the future, It helps reviewers and maintainers if there's some > versioning in the patches (e.g. PATCH v3 0/2]), especially when updated > versions come in quick succession. Thanks. > ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 0/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data @ 2012-10-05 8:10 ` Jean Pihet 0 siblings, 0 replies; 20+ messages in thread From: Jean Pihet @ 2012-10-05 8:10 UTC (permalink / raw) To: linux-arm-kernel On Fri, Oct 5, 2012 at 1:40 AM, Kevin Hilman <khilman@deeprootsystems.com> wrote: > jean.pihet at newoldbits.com writes: > >> From: Jean Pihet <j-pihet@ti.com> >> >> 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")). >> >> Based on mainline 3.6.0. Boot tested on OMAP3&4 platforms. > > Thanks, queuing this version for v3.8 (branch: for_3.8/pm/sr) Thanks! Jean > > Kevin > > P.S. in the future, It helps reviewers and maintainers if there's some > versioning in the patches (e.g. PATCH v3 0/2]), especially when updated > versions come in quick succession. Thanks. > ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 0/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data @ 2012-10-03 15:47 jean.pihet 2012-10-03 15:47 ` jean.pihet at newoldbits.com 0 siblings, 1 reply; 20+ messages in thread From: jean.pihet @ 2012-10-03 15:47 UTC (permalink / raw) To: linux-omap, linux-arm-kernel, tony, Kevin Hilman, Anton Vorontsov Cc: J Keerthy, Jean Pihet From: Jean Pihet <j-pihet@ti.com> 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 renamed "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. Based on mainline 3.6.0. Boot tested on OMAP3&4 platforms. Jean Pihet (2): ARM: OMAP: hwmod: align the SmartReflex fck names ARM: OMAP: SmartReflex: pass device dependent data via platform data arch/arm/mach-omap2/clock33xx_data.c | 12 +++---- arch/arm/mach-omap2/clock3xxx_data.c | 12 +++---- arch/arm/mach-omap2/clock44xx_data.c | 6 ++-- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 ++--- arch/arm/mach-omap2/sr_device.c | 13 +++++++ drivers/power/avs/smartreflex.c | 54 +++++++++------------------- include/linux/power/smartreflex.h | 14 ++++++-- 7 files changed, 61 insertions(+), 58 deletions(-) -- 1.7.10.4 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names 2012-10-03 15:47 jean.pihet @ 2012-10-03 15:47 ` jean.pihet at newoldbits.com 0 siblings, 0 replies; 20+ messages in thread From: jean.pihet @ 2012-10-03 15:47 UTC (permalink / raw) To: linux-omap, linux-arm-kernel, tony, Kevin Hilman, Anton Vorontsov Cc: J Keerthy, Jean Pihet From: Jean Pihet <j-pihet@ti.com> Rename the smartreflex fck names for consistency and better readability; rename the clock aliases for use by the SmartReflex driver, with the "smartreflex.%d" format. Signed-off-by: Jean Pihet <j-pihet@ti.com> --- arch/arm/mach-omap2/clock33xx_data.c | 12 ++++++------ arch/arm/mach-omap2/clock3xxx_data.c | 12 ++++++------ arch/arm/mach-omap2/clock44xx_data.c | 6 +++--- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 ++++---- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-omap2/clock33xx_data.c b/arch/arm/mach-omap2/clock33xx_data.c index 2026311..851fc54 100644 --- a/arch/arm/mach-omap2/clock33xx_data.c +++ b/arch/arm/mach-omap2/clock33xx_data.c @@ -548,16 +548,16 @@ static struct clk mcasp1_fck = { .recalc = &followparent_recalc, }; -static struct clk smartreflex0_fck = { - .name = "smartreflex0_fck", +static struct clk smartreflex_mpu_fck = { + .name = "smartreflex_mpu_fck", .clkdm_name = "l4_wkup_clkdm", .parent = &sys_clkin_ck, .ops = &clkops_null, .recalc = &followparent_recalc, }; -static struct clk smartreflex1_fck = { - .name = "smartreflex1_fck", +static struct clk smartreflex_core_fck = { + .name = "smartreflex_core_fck", .clkdm_name = "l4_wkup_clkdm", .parent = &sys_clkin_ck, .ops = &clkops_null, @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), + CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index 700317a..796a1dc 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c @@ -3050,8 +3050,8 @@ static struct clk traceclk_fck = { /* SR clocks */ /* SmartReflex fclk (VDD1) */ -static struct clk sr1_fck = { - .name = "sr1_fck", +static struct clk smartreflex_mpu_iva_fck = { + .name = "smartreflex_mpu_iva_fck", .ops = &clkops_omap2_dflt_wait, .parent = &sys_ck, .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN), @@ -3061,8 +3061,8 @@ static struct clk sr1_fck = { }; /* SmartReflex fclk (VDD2) */ -static struct clk sr2_fck = { - .name = "sr2_fck", +static struct clk smartreflex_core_fck = { + .name = "smartreflex_core_fck", .ops = &clkops_omap2_dflt_wait, .parent = &sys_ck, .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN), @@ -3448,8 +3448,8 @@ static struct omap_clk omap3xxx_clks[] = { CLK(NULL, "atclk_fck", &atclk_fck, CK_3XXX), CLK(NULL, "traceclk_src_fck", &traceclk_src_fck, CK_3XXX), CLK(NULL, "traceclk_fck", &traceclk_fck, CK_3XXX), - CLK(NULL, "sr1_fck", &sr1_fck, CK_34XX | CK_36XX), - CLK(NULL, "sr2_fck", &sr2_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex.0", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_34XX | CK_36XX), CLK(NULL, "sr_l4_ick", &sr_l4_ick, CK_34XX | CK_36XX), CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index 500682c..b9b988a 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c @@ -3224,9 +3224,9 @@ static struct omap_clk omap44xx_clks[] = { CLK(NULL, "slimbus2_fclk_0", &slimbus2_fclk_0, CK_443X), CLK(NULL, "slimbus2_slimbus_clk", &slimbus2_slimbus_clk, CK_443X), CLK(NULL, "slimbus2_fck", &slimbus2_fck, CK_443X), - CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), - CLK(NULL, "smartreflex_iva_fck", &smartreflex_iva_fck, CK_443X), - CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_443X), + CLK(NULL, "smartreflex.0", &smartreflex_core_fck, CK_443X), + CLK(NULL, "smartreflex.1", &smartreflex_iva_fck, CK_443X), + CLK(NULL, "smartreflex.2", &smartreflex_mpu_fck, CK_443X), CLK(NULL, "timer1_fck", &timer1_fck, CK_443X), CLK(NULL, "timer10_fck", &timer10_fck, CK_443X), CLK(NULL, "timer11_fck", &timer11_fck, CK_443X), diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 94b38af..f1095a6 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c @@ -1368,7 +1368,7 @@ static struct omap_hwmod_irq_info omap3_smartreflex_mpu_irqs[] = { static struct omap_hwmod omap34xx_sr1_hwmod = { .name = "smartreflex_mpu_iva", .class = &omap34xx_smartreflex_hwmod_class, - .main_clk = "sr1_fck", + .main_clk = "smartreflex_mpu_iva_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1386,7 +1386,7 @@ static struct omap_hwmod omap34xx_sr1_hwmod = { static struct omap_hwmod omap36xx_sr1_hwmod = { .name = "smartreflex_mpu_iva", .class = &omap36xx_smartreflex_hwmod_class, - .main_clk = "sr1_fck", + .main_clk = "smartreflex_mpu_iva_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1413,7 +1413,7 @@ static struct omap_hwmod_irq_info omap3_smartreflex_core_irqs[] = { static struct omap_hwmod omap34xx_sr2_hwmod = { .name = "smartreflex_core", .class = &omap34xx_smartreflex_hwmod_class, - .main_clk = "sr2_fck", + .main_clk = "smartreflex_core_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1431,7 +1431,7 @@ static struct omap_hwmod omap34xx_sr2_hwmod = { static struct omap_hwmod omap36xx_sr2_hwmod = { .name = "smartreflex_core", .class = &omap36xx_smartreflex_hwmod_class, - .main_clk = "sr2_fck", + .main_clk = "smartreflex_core_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names @ 2012-10-03 15:47 ` jean.pihet at newoldbits.com 0 siblings, 0 replies; 20+ messages in thread From: jean.pihet at newoldbits.com @ 2012-10-03 15:47 UTC (permalink / raw) To: linux-arm-kernel From: Jean Pihet <j-pihet@ti.com> Rename the smartreflex fck names for consistency and better readability; rename the clock aliases for use by the SmartReflex driver, with the "smartreflex.%d" format. Signed-off-by: Jean Pihet <j-pihet@ti.com> --- arch/arm/mach-omap2/clock33xx_data.c | 12 ++++++------ arch/arm/mach-omap2/clock3xxx_data.c | 12 ++++++------ arch/arm/mach-omap2/clock44xx_data.c | 6 +++--- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 ++++---- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-omap2/clock33xx_data.c b/arch/arm/mach-omap2/clock33xx_data.c index 2026311..851fc54 100644 --- a/arch/arm/mach-omap2/clock33xx_data.c +++ b/arch/arm/mach-omap2/clock33xx_data.c @@ -548,16 +548,16 @@ static struct clk mcasp1_fck = { .recalc = &followparent_recalc, }; -static struct clk smartreflex0_fck = { - .name = "smartreflex0_fck", +static struct clk smartreflex_mpu_fck = { + .name = "smartreflex_mpu_fck", .clkdm_name = "l4_wkup_clkdm", .parent = &sys_clkin_ck, .ops = &clkops_null, .recalc = &followparent_recalc, }; -static struct clk smartreflex1_fck = { - .name = "smartreflex1_fck", +static struct clk smartreflex_core_fck = { + .name = "smartreflex_core_fck", .clkdm_name = "l4_wkup_clkdm", .parent = &sys_clkin_ck, .ops = &clkops_null, @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), + CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index 700317a..796a1dc 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c @@ -3050,8 +3050,8 @@ static struct clk traceclk_fck = { /* SR clocks */ /* SmartReflex fclk (VDD1) */ -static struct clk sr1_fck = { - .name = "sr1_fck", +static struct clk smartreflex_mpu_iva_fck = { + .name = "smartreflex_mpu_iva_fck", .ops = &clkops_omap2_dflt_wait, .parent = &sys_ck, .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN), @@ -3061,8 +3061,8 @@ static struct clk sr1_fck = { }; /* SmartReflex fclk (VDD2) */ -static struct clk sr2_fck = { - .name = "sr2_fck", +static struct clk smartreflex_core_fck = { + .name = "smartreflex_core_fck", .ops = &clkops_omap2_dflt_wait, .parent = &sys_ck, .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN), @@ -3448,8 +3448,8 @@ static struct omap_clk omap3xxx_clks[] = { CLK(NULL, "atclk_fck", &atclk_fck, CK_3XXX), CLK(NULL, "traceclk_src_fck", &traceclk_src_fck, CK_3XXX), CLK(NULL, "traceclk_fck", &traceclk_fck, CK_3XXX), - CLK(NULL, "sr1_fck", &sr1_fck, CK_34XX | CK_36XX), - CLK(NULL, "sr2_fck", &sr2_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex.0", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_34XX | CK_36XX), CLK(NULL, "sr_l4_ick", &sr_l4_ick, CK_34XX | CK_36XX), CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index 500682c..b9b988a 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c @@ -3224,9 +3224,9 @@ static struct omap_clk omap44xx_clks[] = { CLK(NULL, "slimbus2_fclk_0", &slimbus2_fclk_0, CK_443X), CLK(NULL, "slimbus2_slimbus_clk", &slimbus2_slimbus_clk, CK_443X), CLK(NULL, "slimbus2_fck", &slimbus2_fck, CK_443X), - CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), - CLK(NULL, "smartreflex_iva_fck", &smartreflex_iva_fck, CK_443X), - CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_443X), + CLK(NULL, "smartreflex.0", &smartreflex_core_fck, CK_443X), + CLK(NULL, "smartreflex.1", &smartreflex_iva_fck, CK_443X), + CLK(NULL, "smartreflex.2", &smartreflex_mpu_fck, CK_443X), CLK(NULL, "timer1_fck", &timer1_fck, CK_443X), CLK(NULL, "timer10_fck", &timer10_fck, CK_443X), CLK(NULL, "timer11_fck", &timer11_fck, CK_443X), diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 94b38af..f1095a6 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c @@ -1368,7 +1368,7 @@ static struct omap_hwmod_irq_info omap3_smartreflex_mpu_irqs[] = { static struct omap_hwmod omap34xx_sr1_hwmod = { .name = "smartreflex_mpu_iva", .class = &omap34xx_smartreflex_hwmod_class, - .main_clk = "sr1_fck", + .main_clk = "smartreflex_mpu_iva_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1386,7 +1386,7 @@ static struct omap_hwmod omap34xx_sr1_hwmod = { static struct omap_hwmod omap36xx_sr1_hwmod = { .name = "smartreflex_mpu_iva", .class = &omap36xx_smartreflex_hwmod_class, - .main_clk = "sr1_fck", + .main_clk = "smartreflex_mpu_iva_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1413,7 +1413,7 @@ static struct omap_hwmod_irq_info omap3_smartreflex_core_irqs[] = { static struct omap_hwmod omap34xx_sr2_hwmod = { .name = "smartreflex_core", .class = &omap34xx_smartreflex_hwmod_class, - .main_clk = "sr2_fck", + .main_clk = "smartreflex_core_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -1431,7 +1431,7 @@ static struct omap_hwmod omap34xx_sr2_hwmod = { static struct omap_hwmod omap36xx_sr2_hwmod = { .name = "smartreflex_core", .class = &omap36xx_smartreflex_hwmod_class, - .main_clk = "sr2_fck", + .main_clk = "smartreflex_core_fck", .prcm = { .omap2 = { .prcm_reg_id = 1, -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names 2012-10-03 15:47 ` jean.pihet at newoldbits.com @ 2012-10-03 17:00 ` Tony Lindgren -1 siblings, 0 replies; 20+ messages in thread From: Tony Lindgren @ 2012-10-03 17:00 UTC (permalink / raw) To: jean.pihet Cc: linux-omap, linux-arm-kernel, Kevin Hilman, Anton Vorontsov, J Keerthy, Jean Pihet * jean.pihet@newoldbits.com <jean.pihet@newoldbits.com> [121003 08:48]: > @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { > CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), > CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), > CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), > - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), > - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), > + CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), > + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), > CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), > CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), > CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), I think this should be something like this instead: CLK("smartreflex.0", "fck", &smartreflex_mpu_fck, CK_AM33XX), CLK("smartreflex.1", "fck", &smartreflex_core_fck, CK_AM33XX), Where the first one is the dev name, the second one is the alias you want to use in the client driver? Regards, Tony ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names @ 2012-10-03 17:00 ` Tony Lindgren 0 siblings, 0 replies; 20+ messages in thread From: Tony Lindgren @ 2012-10-03 17:00 UTC (permalink / raw) To: linux-arm-kernel * jean.pihet at newoldbits.com <jean.pihet@newoldbits.com> [121003 08:48]: > @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { > CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), > CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), > CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), > - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), > - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), > + CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), > + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), > CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), > CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), > CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), I think this should be something like this instead: CLK("smartreflex.0", "fck", &smartreflex_mpu_fck, CK_AM33XX), CLK("smartreflex.1", "fck", &smartreflex_core_fck, CK_AM33XX), Where the first one is the dev name, the second one is the alias you want to use in the client driver? Regards, Tony ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names 2012-10-03 17:00 ` Tony Lindgren @ 2012-10-03 18:19 ` Jean Pihet -1 siblings, 0 replies; 20+ messages in thread From: Jean Pihet @ 2012-10-03 18:19 UTC (permalink / raw) To: Tony Lindgren Cc: linux-omap, linux-arm-kernel, Kevin Hilman, Anton Vorontsov, J Keerthy, Jean Pihet Hi Tony, On Wed, Oct 3, 2012 at 7:00 PM, Tony Lindgren <tony@atomide.com> wrote: > * jean.pihet@newoldbits.com <jean.pihet@newoldbits.com> [121003 08:48]: >> @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { >> CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), >> CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), >> CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), >> - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), >> - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), >> + CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), >> + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), >> CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), >> CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), >> CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), > > I think this should be something like this instead: > > CLK("smartreflex.0", "fck", &smartreflex_mpu_fck, CK_AM33XX), > CLK("smartreflex.1", "fck", &smartreflex_core_fck, CK_AM33XX), > > Where the first one is the dev name, the second one is the > alias you want to use in the client driver? Ok, thanks for the suggestion. It works however I get a ' smartreflex.0: alias fck already exists' warning at boot, coming from _add_hwmod_clocks_clkdev (called from omap_device_alloc). Since an "fck" is implicitly added for every device (in _add_hwmod_clocks_clkdev) I replaced "fck" in the alias definition by NULL but the warning is still present. What do you think? /me dives into the omap_device code for details... > Regards, > > Tony Thanks, Jean ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names @ 2012-10-03 18:19 ` Jean Pihet 0 siblings, 0 replies; 20+ messages in thread From: Jean Pihet @ 2012-10-03 18:19 UTC (permalink / raw) To: linux-arm-kernel Hi Tony, On Wed, Oct 3, 2012 at 7:00 PM, Tony Lindgren <tony@atomide.com> wrote: > * jean.pihet at newoldbits.com <jean.pihet@newoldbits.com> [121003 08:48]: >> @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { >> CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), >> CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), >> CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), >> - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), >> - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), >> + CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), >> + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), >> CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), >> CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), >> CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), > > I think this should be something like this instead: > > CLK("smartreflex.0", "fck", &smartreflex_mpu_fck, CK_AM33XX), > CLK("smartreflex.1", "fck", &smartreflex_core_fck, CK_AM33XX), > > Where the first one is the dev name, the second one is the > alias you want to use in the client driver? Ok, thanks for the suggestion. It works however I get a ' smartreflex.0: alias fck already exists' warning at boot, coming from _add_hwmod_clocks_clkdev (called from omap_device_alloc). Since an "fck" is implicitly added for every device (in _add_hwmod_clocks_clkdev) I replaced "fck" in the alias definition by NULL but the warning is still present. What do you think? /me dives into the omap_device code for details... > Regards, > > Tony Thanks, Jean ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names 2012-10-03 17:00 ` Tony Lindgren @ 2012-10-04 0:33 ` Kevin Hilman -1 siblings, 0 replies; 20+ messages in thread From: Kevin Hilman @ 2012-10-04 0:33 UTC (permalink / raw) To: Tony Lindgren Cc: jean.pihet, linux-omap, linux-arm-kernel, Anton Vorontsov, J Keerthy, Jean Pihet Tony Lindgren <tony@atomide.com> writes: > * jean.pihet@newoldbits.com <jean.pihet@newoldbits.com> [121003 08:48]: >> @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { >> CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), >> CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), >> CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), >> - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), >> - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), >> + CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), >> + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), >> CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), >> CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), >> CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), > > I think this should be something like this instead: > > CLK("smartreflex.0", "fck", &smartreflex_mpu_fck, CK_AM33XX), > CLK("smartreflex.1", "fck", &smartreflex_core_fck, CK_AM33XX), > > Where the first one is the dev name, the second one is the > alias you want to use in the client driver? Actually, the omap_device creation will create this kind of alias for you, with the device name populated etc, so adding device names here isn't necessary. For omap_devices where drivers are always using clk_get(dev, ...), the name in the initial clkdev table here really doesn't matter. However, for core code that needs to do a clk_get(NULL, "name"), then this name matters. In chatting with Paul offline, he mentioned part of the CCF conversion will be using clk_get(NULL, ...) on the main_clk listed in each hwmod. For that reason, it's important that this string match the name in the hwmod. I belive the patch below should make this compatible with any future use. Jean, can you fold this into $SUBJECT patch? Thanks, Kevin diff --git a/arch/arm/mach-omap2/clock33xx_data.c b/arch/arm/mach-omap2/clock33xx_data.c index 6de3dc7..8a16504 100644 --- a/arch/arm/mach-omap2/clock33xx_data.c +++ b/arch/arm/mach-omap2/clock33xx_data.c @@ -1034,8 +1034,8 @@ static struct omap_clk am33xx_clks[] = { CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), - CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), - CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_AM33XX), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_AM33XX), CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index a197cf2..191d261 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c @@ -3447,8 +3447,8 @@ static struct omap_clk omap3xxx_clks[] = { CLK(NULL, "atclk_fck", &atclk_fck, CK_3XXX), CLK(NULL, "traceclk_src_fck", &traceclk_src_fck, CK_3XXX), CLK(NULL, "traceclk_fck", &traceclk_fck, CK_3XXX), - CLK(NULL, "smartreflex.0", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), - CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex_mpu_iva_fck", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_34XX | CK_36XX), CLK(NULL, "sr_l4_ick", &sr_l4_ick, CK_34XX | CK_36XX), CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index 9cc1112..19e0c1e 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c @@ -3224,8 +3224,8 @@ static struct omap_clk omap44xx_clks[] = { CLK(NULL, "slimbus2_fclk_0", &slimbus2_fclk_0, CK_443X), CLK(NULL, "slimbus2_slimbus_clk", &slimbus2_slimbus_clk, CK_443X), CLK(NULL, "slimbus2_fck", &slimbus2_fck, CK_443X), - CLK(NULL, "smartreflex.0", &smartreflex_core_fck, CK_443X), - CLK(NULL, "smartreflex.1", &smartreflex_iva_fck, CK_443X), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_iva_fck, CK_443X), CLK(NULL, "smartreflex.2", &smartreflex_mpu_fck, CK_443X), CLK(NULL, "timer1_fck", &timer1_fck, CK_443X), CLK(NULL, "timer10_fck", &timer10_fck, CK_443X), ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names @ 2012-10-04 0:33 ` Kevin Hilman 0 siblings, 0 replies; 20+ messages in thread From: Kevin Hilman @ 2012-10-04 0:33 UTC (permalink / raw) To: linux-arm-kernel Tony Lindgren <tony@atomide.com> writes: > * jean.pihet at newoldbits.com <jean.pihet@newoldbits.com> [121003 08:48]: >> @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { >> CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), >> CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), >> CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), >> - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), >> - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), >> + CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), >> + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), >> CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), >> CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), >> CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), > > I think this should be something like this instead: > > CLK("smartreflex.0", "fck", &smartreflex_mpu_fck, CK_AM33XX), > CLK("smartreflex.1", "fck", &smartreflex_core_fck, CK_AM33XX), > > Where the first one is the dev name, the second one is the > alias you want to use in the client driver? Actually, the omap_device creation will create this kind of alias for you, with the device name populated etc, so adding device names here isn't necessary. For omap_devices where drivers are always using clk_get(dev, ...), the name in the initial clkdev table here really doesn't matter. However, for core code that needs to do a clk_get(NULL, "name"), then this name matters. In chatting with Paul offline, he mentioned part of the CCF conversion will be using clk_get(NULL, ...) on the main_clk listed in each hwmod. For that reason, it's important that this string match the name in the hwmod. I belive the patch below should make this compatible with any future use. Jean, can you fold this into $SUBJECT patch? Thanks, Kevin diff --git a/arch/arm/mach-omap2/clock33xx_data.c b/arch/arm/mach-omap2/clock33xx_data.c index 6de3dc7..8a16504 100644 --- a/arch/arm/mach-omap2/clock33xx_data.c +++ b/arch/arm/mach-omap2/clock33xx_data.c @@ -1034,8 +1034,8 @@ static struct omap_clk am33xx_clks[] = { CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), - CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), - CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_AM33XX), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_AM33XX), CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index a197cf2..191d261 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c @@ -3447,8 +3447,8 @@ static struct omap_clk omap3xxx_clks[] = { CLK(NULL, "atclk_fck", &atclk_fck, CK_3XXX), CLK(NULL, "traceclk_src_fck", &traceclk_src_fck, CK_3XXX), CLK(NULL, "traceclk_fck", &traceclk_fck, CK_3XXX), - CLK(NULL, "smartreflex.0", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), - CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex_mpu_iva_fck", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_34XX | CK_36XX), CLK(NULL, "sr_l4_ick", &sr_l4_ick, CK_34XX | CK_36XX), CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index 9cc1112..19e0c1e 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c @@ -3224,8 +3224,8 @@ static struct omap_clk omap44xx_clks[] = { CLK(NULL, "slimbus2_fclk_0", &slimbus2_fclk_0, CK_443X), CLK(NULL, "slimbus2_slimbus_clk", &slimbus2_slimbus_clk, CK_443X), CLK(NULL, "slimbus2_fck", &slimbus2_fck, CK_443X), - CLK(NULL, "smartreflex.0", &smartreflex_core_fck, CK_443X), - CLK(NULL, "smartreflex.1", &smartreflex_iva_fck, CK_443X), + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_iva_fck, CK_443X), CLK(NULL, "smartreflex.2", &smartreflex_mpu_fck, CK_443X), CLK(NULL, "timer1_fck", &timer1_fck, CK_443X), CLK(NULL, "timer10_fck", &timer10_fck, CK_443X), ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names 2012-10-04 0:33 ` Kevin Hilman @ 2012-10-04 16:49 ` Jean Pihet -1 siblings, 0 replies; 20+ messages in thread From: Jean Pihet @ 2012-10-04 16:49 UTC (permalink / raw) To: Kevin Hilman Cc: Tony Lindgren, linux-omap, linux-arm-kernel, Anton Vorontsov, J Keerthy, Jean Pihet Hi Kevin, On Thu, Oct 4, 2012 at 2:33 AM, Kevin Hilman <khilman@deeprootsystems.com> wrote: > Tony Lindgren <tony@atomide.com> writes: > >> * jean.pihet@newoldbits.com <jean.pihet@newoldbits.com> [121003 08:48]: >>> @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { >>> CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), >>> CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), >>> CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), >>> - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), >>> - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), >>> + CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), >>> + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), >>> CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), >>> CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), >>> CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), >> >> I think this should be something like this instead: >> >> CLK("smartreflex.0", "fck", &smartreflex_mpu_fck, CK_AM33XX), >> CLK("smartreflex.1", "fck", &smartreflex_core_fck, CK_AM33XX), >> >> Where the first one is the dev name, the second one is the >> alias you want to use in the client driver? > > Actually, the omap_device creation will create this kind of alias for > you, with the device name populated etc, so adding device names here > isn't necessary. > > For omap_devices where drivers are always using clk_get(dev, ...), > the name in the initial clkdev table here really doesn't matter. > > However, for core code that needs to do a clk_get(NULL, "name"), then > this name matters. In chatting with Paul offline, he mentioned part of > the CCF conversion will be using clk_get(NULL, ...) on the main_clk > listed in each hwmod. For that reason, it's important that this string > match the name in the hwmod. That makes it clear. Thanks for looking at it! > I belive the patch below should make this compatible with any future > use. Sure. The driver uses clk_get(dev, "fck") to request the fcuntional clock of the device. > Jean, can you fold this into $SUBJECT patch? Sure! I just re-sent a new version of the 2 patches. > > Thanks, > > Kevin Thanks, Jean > > > diff --git a/arch/arm/mach-omap2/clock33xx_data.c b/arch/arm/mach-omap2/clock33xx_data.c > index 6de3dc7..8a16504 100644 > --- a/arch/arm/mach-omap2/clock33xx_data.c > +++ b/arch/arm/mach-omap2/clock33xx_data.c > @@ -1034,8 +1034,8 @@ static struct omap_clk am33xx_clks[] = { > CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), > CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), > CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), > - CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), > - CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), > + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_AM33XX), > + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_AM33XX), > CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), > CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), > CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), > diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c > index a197cf2..191d261 100644 > --- a/arch/arm/mach-omap2/clock3xxx_data.c > +++ b/arch/arm/mach-omap2/clock3xxx_data.c > @@ -3447,8 +3447,8 @@ static struct omap_clk omap3xxx_clks[] = { > CLK(NULL, "atclk_fck", &atclk_fck, CK_3XXX), > CLK(NULL, "traceclk_src_fck", &traceclk_src_fck, CK_3XXX), > CLK(NULL, "traceclk_fck", &traceclk_fck, CK_3XXX), > - CLK(NULL, "smartreflex.0", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), > - CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_34XX | CK_36XX), > + CLK(NULL, "smartreflex_mpu_iva_fck", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), > + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_34XX | CK_36XX), > CLK(NULL, "sr_l4_ick", &sr_l4_ick, CK_34XX | CK_36XX), > CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), > CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), > diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c > index 9cc1112..19e0c1e 100644 > --- a/arch/arm/mach-omap2/clock44xx_data.c > +++ b/arch/arm/mach-omap2/clock44xx_data.c > @@ -3224,8 +3224,8 @@ static struct omap_clk omap44xx_clks[] = { > CLK(NULL, "slimbus2_fclk_0", &slimbus2_fclk_0, CK_443X), > CLK(NULL, "slimbus2_slimbus_clk", &slimbus2_slimbus_clk, CK_443X), > CLK(NULL, "slimbus2_fck", &slimbus2_fck, CK_443X), > - CLK(NULL, "smartreflex.0", &smartreflex_core_fck, CK_443X), > - CLK(NULL, "smartreflex.1", &smartreflex_iva_fck, CK_443X), > + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), > + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_iva_fck, CK_443X), > CLK(NULL, "smartreflex.2", &smartreflex_mpu_fck, CK_443X), > CLK(NULL, "timer1_fck", &timer1_fck, CK_443X), > CLK(NULL, "timer10_fck", &timer10_fck, CK_443X), ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names @ 2012-10-04 16:49 ` Jean Pihet 0 siblings, 0 replies; 20+ messages in thread From: Jean Pihet @ 2012-10-04 16:49 UTC (permalink / raw) To: linux-arm-kernel Hi Kevin, On Thu, Oct 4, 2012 at 2:33 AM, Kevin Hilman <khilman@deeprootsystems.com> wrote: > Tony Lindgren <tony@atomide.com> writes: > >> * jean.pihet at newoldbits.com <jean.pihet@newoldbits.com> [121003 08:48]: >>> @@ -1036,8 +1036,8 @@ static struct omap_clk am33xx_clks[] = { >>> CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), >>> CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), >>> CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), >>> - CLK(NULL, "smartreflex0_fck", &smartreflex0_fck, CK_AM33XX), >>> - CLK(NULL, "smartreflex1_fck", &smartreflex1_fck, CK_AM33XX), >>> + CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), >>> + CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), >>> CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), >>> CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), >>> CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), >> >> I think this should be something like this instead: >> >> CLK("smartreflex.0", "fck", &smartreflex_mpu_fck, CK_AM33XX), >> CLK("smartreflex.1", "fck", &smartreflex_core_fck, CK_AM33XX), >> >> Where the first one is the dev name, the second one is the >> alias you want to use in the client driver? > > Actually, the omap_device creation will create this kind of alias for > you, with the device name populated etc, so adding device names here > isn't necessary. > > For omap_devices where drivers are always using clk_get(dev, ...), > the name in the initial clkdev table here really doesn't matter. > > However, for core code that needs to do a clk_get(NULL, "name"), then > this name matters. In chatting with Paul offline, he mentioned part of > the CCF conversion will be using clk_get(NULL, ...) on the main_clk > listed in each hwmod. For that reason, it's important that this string > match the name in the hwmod. That makes it clear. Thanks for looking at it! > I belive the patch below should make this compatible with any future > use. Sure. The driver uses clk_get(dev, "fck") to request the fcuntional clock of the device. > Jean, can you fold this into $SUBJECT patch? Sure! I just re-sent a new version of the 2 patches. > > Thanks, > > Kevin Thanks, Jean > > > diff --git a/arch/arm/mach-omap2/clock33xx_data.c b/arch/arm/mach-omap2/clock33xx_data.c > index 6de3dc7..8a16504 100644 > --- a/arch/arm/mach-omap2/clock33xx_data.c > +++ b/arch/arm/mach-omap2/clock33xx_data.c > @@ -1034,8 +1034,8 @@ static struct omap_clk am33xx_clks[] = { > CLK("davinci-mcasp.1", NULL, &mcasp1_fck, CK_AM33XX), > CLK("NULL", "mmc2_fck", &mmc2_fck, CK_AM33XX), > CLK(NULL, "mmu_fck", &mmu_fck, CK_AM33XX), > - CLK(NULL, "smartreflex.0", &smartreflex_mpu_fck, CK_AM33XX), > - CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_AM33XX), > + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_mpu_fck, CK_AM33XX), > + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_AM33XX), > CLK(NULL, "timer1_fck", &timer1_fck, CK_AM33XX), > CLK(NULL, "timer2_fck", &timer2_fck, CK_AM33XX), > CLK(NULL, "timer3_fck", &timer3_fck, CK_AM33XX), > diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c > index a197cf2..191d261 100644 > --- a/arch/arm/mach-omap2/clock3xxx_data.c > +++ b/arch/arm/mach-omap2/clock3xxx_data.c > @@ -3447,8 +3447,8 @@ static struct omap_clk omap3xxx_clks[] = { > CLK(NULL, "atclk_fck", &atclk_fck, CK_3XXX), > CLK(NULL, "traceclk_src_fck", &traceclk_src_fck, CK_3XXX), > CLK(NULL, "traceclk_fck", &traceclk_fck, CK_3XXX), > - CLK(NULL, "smartreflex.0", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), > - CLK(NULL, "smartreflex.1", &smartreflex_core_fck, CK_34XX | CK_36XX), > + CLK(NULL, "smartreflex_mpu_iva_fck", &smartreflex_mpu_iva_fck, CK_34XX | CK_36XX), > + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_34XX | CK_36XX), > CLK(NULL, "sr_l4_ick", &sr_l4_ick, CK_34XX | CK_36XX), > CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), > CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), > diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c > index 9cc1112..19e0c1e 100644 > --- a/arch/arm/mach-omap2/clock44xx_data.c > +++ b/arch/arm/mach-omap2/clock44xx_data.c > @@ -3224,8 +3224,8 @@ static struct omap_clk omap44xx_clks[] = { > CLK(NULL, "slimbus2_fclk_0", &slimbus2_fclk_0, CK_443X), > CLK(NULL, "slimbus2_slimbus_clk", &slimbus2_slimbus_clk, CK_443X), > CLK(NULL, "slimbus2_fck", &slimbus2_fck, CK_443X), > - CLK(NULL, "smartreflex.0", &smartreflex_core_fck, CK_443X), > - CLK(NULL, "smartreflex.1", &smartreflex_iva_fck, CK_443X), > + CLK(NULL, "smartreflex_core_fck", &smartreflex_core_fck, CK_443X), > + CLK(NULL, "smartreflex_mpu_fck", &smartreflex_iva_fck, CK_443X), > CLK(NULL, "smartreflex.2", &smartreflex_mpu_fck, CK_443X), > CLK(NULL, "timer1_fck", &timer1_fck, CK_443X), > CLK(NULL, "timer10_fck", &timer10_fck, CK_443X), ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2012-10-05 8:10 UTC | newest] Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-10-04 16:47 [PATCH 0/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data jean.pihet 2012-10-04 16:47 ` jean.pihet at newoldbits.com 2012-10-04 16:47 ` [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names jean.pihet 2012-10-04 16:47 ` jean.pihet at newoldbits.com 2012-10-04 16:47 ` [PATCH 2/2] ARM: OMAP: SmartReflex: pass device dependent data via platform data jean.pihet 2012-10-04 16:47 ` jean.pihet at newoldbits.com 2012-10-04 23:40 ` [PATCH 0/2] " Kevin Hilman 2012-10-04 23:40 ` Kevin Hilman 2012-10-05 8:10 ` Jean Pihet 2012-10-05 8:10 ` Jean Pihet -- strict thread matches above, loose matches on Subject: below -- 2012-10-03 15:47 jean.pihet 2012-10-03 15:47 ` [PATCH 1/2] ARM: OMAP: hwmod: align the SmartReflex fck names jean.pihet 2012-10-03 15:47 ` jean.pihet at newoldbits.com 2012-10-03 17:00 ` Tony Lindgren 2012-10-03 17:00 ` Tony Lindgren 2012-10-03 18:19 ` Jean Pihet 2012-10-03 18:19 ` Jean Pihet 2012-10-04 0:33 ` Kevin Hilman 2012-10-04 0:33 ` Kevin Hilman 2012-10-04 16:49 ` Jean Pihet 2012-10-04 16:49 ` Jean Pihet
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.