* [PATCH V2] OMAP2+: SR Layer Cleanup. @ 2011-04-08 6:14 Shweta Gulati 2011-05-10 0:22 ` Menon, Nishanth 0 siblings, 1 reply; 3+ messages in thread From: Shweta Gulati @ 2011-04-08 6:14 UTC (permalink / raw) To: linux-arm-kernel As a part of Voltage Layer Cleanup Patches, submitted by Kevin Hilman, Voltage domain Information is removed from hwmod, So the patch removes 'vdd_name' info from omap_hwmod and adds that info into dev_attr as SR code uses vdd_name to get voltagedomain sructure info. Tested on OMAP3630 SDP and OMAP4430 SDP Board Signed-off-by: Shweta Gulati <shweta.gulati@ti.com> --- V2: Rebased on latest 'pm-wip/voltdm_a' branch. arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 17 +++++++++++++---- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 19 ++++++++++++++++--- arch/arm/mach-omap2/smartreflex.h | 10 ++++++++++ arch/arm/mach-omap2/sr_device.c | 11 +++++++---- arch/arm/plat-omap/include/plat/omap_hwmod.h | 1 - 5 files changed, 46 insertions(+), 12 deletions(-) diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 3cd91ac..6a704bd 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c @@ -29,6 +29,7 @@ #include "omap_hwmod_common_data.h" +#include "smartreflex.h" #include "prm-regbits-34xx.h" #include "cm-regbits-34xx.h" #include "wd_timer.h" @@ -2904,6 +2905,10 @@ static struct omap_hwmod_class omap36xx_smartreflex_hwmod_class = { }; /* SR1 */ +static struct omap_sr_dev_attr sr1_dev_attr = { + .voltdm_name = "mpu_iva", +}; + static struct omap_hwmod_ocp_if *omap3_sr1_slaves[] = { &omap3_l4_core__sr1, }; @@ -2912,7 +2917,6 @@ static struct omap_hwmod omap34xx_sr1_hwmod = { .name = "sr1_hwmod", .class = &omap34xx_smartreflex_hwmod_class, .main_clk = "sr1_fck", - .vdd_name = "mpu_iva", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -2924,6 +2928,7 @@ static struct omap_hwmod omap34xx_sr1_hwmod = { }, .slaves = omap3_sr1_slaves, .slaves_cnt = ARRAY_SIZE(omap3_sr1_slaves), + .dev_attr = &sr1_dev_attr, .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES2 | CHIP_IS_OMAP3430ES3_0 | CHIP_IS_OMAP3430ES3_1), @@ -2934,7 +2939,6 @@ static struct omap_hwmod omap36xx_sr1_hwmod = { .name = "sr1_hwmod", .class = &omap36xx_smartreflex_hwmod_class, .main_clk = "sr1_fck", - .vdd_name = "mpu_iva", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -2946,10 +2950,15 @@ static struct omap_hwmod omap36xx_sr1_hwmod = { }, .slaves = omap3_sr1_slaves, .slaves_cnt = ARRAY_SIZE(omap3_sr1_slaves), + .dev_attr = &sr1_dev_attr, .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3630ES1), }; /* SR2 */ +static struct omap_sr_dev_attr sr2_dev_attr = { + .voltdm_name = "core", +}; + static struct omap_hwmod_ocp_if *omap3_sr2_slaves[] = { &omap3_l4_core__sr2, }; @@ -2958,7 +2967,6 @@ static struct omap_hwmod omap34xx_sr2_hwmod = { .name = "sr2_hwmod", .class = &omap34xx_smartreflex_hwmod_class, .main_clk = "sr2_fck", - .vdd_name = "core", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -2970,6 +2978,7 @@ static struct omap_hwmod omap34xx_sr2_hwmod = { }, .slaves = omap3_sr2_slaves, .slaves_cnt = ARRAY_SIZE(omap3_sr2_slaves), + .dev_attr = &sr2_dev_attr, .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES2 | CHIP_IS_OMAP3430ES3_0 | CHIP_IS_OMAP3430ES3_1), @@ -2980,7 +2989,6 @@ static struct omap_hwmod omap36xx_sr2_hwmod = { .name = "sr2_hwmod", .class = &omap36xx_smartreflex_hwmod_class, .main_clk = "sr2_fck", - .vdd_name = "core", .prcm = { .omap2 = { .prcm_reg_id = 1, @@ -2992,6 +3000,7 @@ static struct omap_hwmod omap36xx_sr2_hwmod = { }, .slaves = omap3_sr2_slaves, .slaves_cnt = ARRAY_SIZE(omap3_sr2_slaves), + .dev_attr = &sr2_dev_attr, .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3630ES1), }; diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index 3e88dd3..1331b39 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c @@ -30,6 +30,7 @@ #include "omap_hwmod_common_data.h" +#include "smartreflex.h" #include "cm1_44xx.h" #include "cm2_44xx.h" #include "prm44xx.h" @@ -3775,6 +3776,10 @@ static struct omap_hwmod_class omap44xx_smartreflex_hwmod_class = { }; /* smartreflex_core */ +static struct omap_sr_dev_attr sr_core_dev_attr = { + .voltdm_name = "core", +}; + static struct omap_hwmod omap44xx_smartreflex_core_hwmod; static struct omap_hwmod_irq_info omap44xx_smartreflex_core_irqs[] = { { .irq = 19 + OMAP44XX_IRQ_GIC_START }, @@ -3809,7 +3814,6 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = { .mpu_irqs = omap44xx_smartreflex_core_irqs, .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_smartreflex_core_irqs), .main_clk = "smartreflex_core_fck", - .vdd_name = "core", .prcm = { .omap4 = { .clkctrl_reg = OMAP4430_CM_ALWON_SR_CORE_CLKCTRL, @@ -3817,10 +3821,15 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = { }, .slaves = omap44xx_smartreflex_core_slaves, .slaves_cnt = ARRAY_SIZE(omap44xx_smartreflex_core_slaves), + .dev_attr = &sr_core_dev_attr, .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430), }; /* smartreflex_iva */ +static struct omap_sr_dev_attr sr_iva_dev_attr = { + .voltdm_name = "iva", +}; + static struct omap_hwmod omap44xx_smartreflex_iva_hwmod; static struct omap_hwmod_irq_info omap44xx_smartreflex_iva_irqs[] = { { .irq = 102 + OMAP44XX_IRQ_GIC_START }, @@ -3855,7 +3864,6 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = { .mpu_irqs = omap44xx_smartreflex_iva_irqs, .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_smartreflex_iva_irqs), .main_clk = "smartreflex_iva_fck", - .vdd_name = "iva", .prcm = { .omap4 = { .clkctrl_reg = OMAP4430_CM_ALWON_SR_IVA_CLKCTRL, @@ -3863,10 +3871,15 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = { }, .slaves = omap44xx_smartreflex_iva_slaves, .slaves_cnt = ARRAY_SIZE(omap44xx_smartreflex_iva_slaves), + .dev_attr = &sr_iva_dev_attr, .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430), }; /* smartreflex_mpu */ +static struct omap_sr_dev_attr sr_mpu_dev_attr = { + .voltdm_name = "mpu", +}; + static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod; static struct omap_hwmod_irq_info omap44xx_smartreflex_mpu_irqs[] = { { .irq = 18 + OMAP44XX_IRQ_GIC_START }, @@ -3901,7 +3914,6 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = { .mpu_irqs = omap44xx_smartreflex_mpu_irqs, .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_smartreflex_mpu_irqs), .main_clk = "smartreflex_mpu_fck", - .vdd_name = "mpu", .prcm = { .omap4 = { .clkctrl_reg = OMAP4430_CM_ALWON_SR_MPU_CLKCTRL, @@ -3909,6 +3921,7 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = { }, .slaves = omap44xx_smartreflex_mpu_slaves, .slaves_cnt = ARRAY_SIZE(omap44xx_smartreflex_mpu_slaves), + .dev_attr = &sr_mpu_dev_attr, .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430), }; diff --git a/arch/arm/mach-omap2/smartreflex.h b/arch/arm/mach-omap2/smartreflex.h index 5f35b9e..9a7f770 100644 --- a/arch/arm/mach-omap2/smartreflex.h +++ b/arch/arm/mach-omap2/smartreflex.h @@ -197,6 +197,16 @@ struct omap_sr_nvalue_table { }; /** + * struct omap_sr_dev_attr - Smartreflex Device attribute. + * + * @voltdm_name: Name of voltdomain of SR instance + */ + +struct omap_sr_dev_attr { + const char *voltdm_name; +}; + +/** * struct omap_sr_data - Smartreflex platform data. * * @ip_type: Smartreflex IP type. diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c index 2782d3f..65b2aae 100644 --- a/arch/arm/mach-omap2/sr_device.c +++ b/arch/arm/mach-omap2/sr_device.c @@ -82,6 +82,7 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user) struct omap_sr_data *sr_data; struct omap_device *od; struct omap_volt_data *volt_data; + struct omap_sr_dev_attr *sr_dev_attr; char *name = "smartreflex"; static int i; @@ -92,9 +93,11 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user) return -ENOMEM; } - if (!oh->vdd_name) { + sr_dev_attr = (struct omap_sr_dev_attr *)oh->dev_attr; + if (!sr_dev_attr->voltdm_name) { pr_err("%s: No voltage domain specified for %s." - "Cannot initialize\n", __func__, oh->name); + "Cannot initialize\n", __func__, + sr_dev_attr->voltdm_name); goto exit; } @@ -102,10 +105,10 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user) sr_data->senn_mod = 0x1; sr_data->senp_mod = 0x1; - sr_data->voltdm = voltdm_lookup(oh->vdd_name); + sr_data->voltdm = voltdm_lookup(sr_dev_attr->voltdm_name); if (IS_ERR(sr_data->voltdm)) { pr_err("%s: Unable to get voltage domain pointer for VDD %s\n", - __func__, oh->vdd_name); + __func__, sr_dev_attr->voltdm_name); goto exit; } diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h index a5fa7c1..39d809a 100644 --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h @@ -519,7 +519,6 @@ struct omap_hwmod { const char *main_clk; struct clk *_clk; struct omap_hwmod_opt_clk *opt_clks; - char *vdd_name; struct omap_hwmod_ocp_if **masters; /* connect to *_IA */ struct omap_hwmod_ocp_if **slaves; /* connect to *_TA */ void *dev_attr; -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH V2] OMAP2+: SR Layer Cleanup. 2011-04-08 6:14 [PATCH V2] OMAP2+: SR Layer Cleanup Shweta Gulati @ 2011-05-10 0:22 ` Menon, Nishanth 2011-05-10 4:33 ` Gulati, Shweta 0 siblings, 1 reply; 3+ messages in thread From: Menon, Nishanth @ 2011-05-10 0:22 UTC (permalink / raw) To: linux-arm-kernel might be a bit late, but seeing that Kevin has'nt picked this up yet, a couple of cosmetic comments I think it might be great if it could be folded into one of kevin's patches. else, $subject - OMAP3+ and could you drop the .? On Fri, Apr 8, 2011 at 01:14, Shweta Gulati <shweta.gulati@ti.com> wrote: > As a part of Voltage Layer Cleanup Patches, > submitted by Kevin Hilman, Voltage domain > Information is removed from hwmod, > So the patch removes 'vdd_name' info from omap_hwmod > and adds that info into dev_attr as SR code uses vdd_name > to get voltagedomain sructure info. word wrap cleanup a bit, also please indicate the issue you see if the patch is not applied. Regards, Nishanth Menon > > Tested on OMAP3630 SDP and OMAP4430 SDP Board > > Signed-off-by: Shweta Gulati <shweta.gulati@ti.com> > --- > ?V2: > ?Rebased on latest 'pm-wip/voltdm_a' branch. > > ?arch/arm/mach-omap2/omap_hwmod_3xxx_data.c ? | ? 17 +++++++++++++---- > ?arch/arm/mach-omap2/omap_hwmod_44xx_data.c ? | ? 19 ++++++++++++++++--- > ?arch/arm/mach-omap2/smartreflex.h ? ? ? ? ? ?| ? 10 ++++++++++ > ?arch/arm/mach-omap2/sr_device.c ? ? ? ? ? ? ?| ? 11 +++++++---- > ?arch/arm/plat-omap/include/plat/omap_hwmod.h | ? ?1 - > ?5 files changed, 46 insertions(+), 12 deletions(-) > > diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c > index 3cd91ac..6a704bd 100644 > --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c > +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c > @@ -29,6 +29,7 @@ > > ?#include "omap_hwmod_common_data.h" > > +#include "smartreflex.h" > ?#include "prm-regbits-34xx.h" > ?#include "cm-regbits-34xx.h" > ?#include "wd_timer.h" > @@ -2904,6 +2905,10 @@ static struct omap_hwmod_class omap36xx_smartreflex_hwmod_class = { > ?}; > > ?/* SR1 */ > +static struct omap_sr_dev_attr sr1_dev_attr = { > + ? ? ? .voltdm_name ? = "mpu_iva", > +}; > + > ?static struct omap_hwmod_ocp_if *omap3_sr1_slaves[] = { > ? ? ? ?&omap3_l4_core__sr1, > ?}; > @@ -2912,7 +2917,6 @@ static struct omap_hwmod omap34xx_sr1_hwmod = { > ? ? ? ?.name ? ? ? ? ? = "sr1_hwmod", > ? ? ? ?.class ? ? ? ? ?= &omap34xx_smartreflex_hwmod_class, > ? ? ? ?.main_clk ? ? ? = "sr1_fck", > - ? ? ? .vdd_name ? ? ? = "mpu_iva", > ? ? ? ?.prcm ? ? ? ? ? = { > ? ? ? ? ? ? ? ?.omap2 = { > ? ? ? ? ? ? ? ? ? ? ? ?.prcm_reg_id = 1, > @@ -2924,6 +2928,7 @@ static struct omap_hwmod omap34xx_sr1_hwmod = { > ? ? ? ?}, > ? ? ? ?.slaves ? ? ? ? = omap3_sr1_slaves, > ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap3_sr1_slaves), > + ? ? ? .dev_attr ? ? ? = &sr1_dev_attr, > ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES2 | > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CHIP_IS_OMAP3430ES3_0 | > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CHIP_IS_OMAP3430ES3_1), > @@ -2934,7 +2939,6 @@ static struct omap_hwmod omap36xx_sr1_hwmod = { > ? ? ? ?.name ? ? ? ? ? = "sr1_hwmod", > ? ? ? ?.class ? ? ? ? ?= &omap36xx_smartreflex_hwmod_class, > ? ? ? ?.main_clk ? ? ? = "sr1_fck", > - ? ? ? .vdd_name ? ? ? = "mpu_iva", > ? ? ? ?.prcm ? ? ? ? ? = { > ? ? ? ? ? ? ? ?.omap2 = { > ? ? ? ? ? ? ? ? ? ? ? ?.prcm_reg_id = 1, > @@ -2946,10 +2950,15 @@ static struct omap_hwmod omap36xx_sr1_hwmod = { > ? ? ? ?}, > ? ? ? ?.slaves ? ? ? ? = omap3_sr1_slaves, > ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap3_sr1_slaves), > + ? ? ? .dev_attr ? ? ? = &sr1_dev_attr, > ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP3630ES1), > ?}; > > ?/* SR2 */ > +static struct omap_sr_dev_attr sr2_dev_attr = { > + ? ? ? .voltdm_name ? ?= "core", > +}; > + > ?static struct omap_hwmod_ocp_if *omap3_sr2_slaves[] = { > ? ? ? ?&omap3_l4_core__sr2, > ?}; > @@ -2958,7 +2967,6 @@ static struct omap_hwmod omap34xx_sr2_hwmod = { > ? ? ? ?.name ? ? ? ? ? = "sr2_hwmod", > ? ? ? ?.class ? ? ? ? ?= &omap34xx_smartreflex_hwmod_class, > ? ? ? ?.main_clk ? ? ? = "sr2_fck", > - ? ? ? .vdd_name ? ? ? = "core", > ? ? ? ?.prcm ? ? ? ? ? = { > ? ? ? ? ? ? ? ?.omap2 = { > ? ? ? ? ? ? ? ? ? ? ? ?.prcm_reg_id = 1, > @@ -2970,6 +2978,7 @@ static struct omap_hwmod omap34xx_sr2_hwmod = { > ? ? ? ?}, > ? ? ? ?.slaves ? ? ? ? = omap3_sr2_slaves, > ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap3_sr2_slaves), > + ? ? ? .dev_attr ? ? ? = &sr2_dev_attr, > ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES2 | > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CHIP_IS_OMAP3430ES3_0 | > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CHIP_IS_OMAP3430ES3_1), > @@ -2980,7 +2989,6 @@ static struct omap_hwmod omap36xx_sr2_hwmod = { > ? ? ? ?.name ? ? ? ? ? = "sr2_hwmod", > ? ? ? ?.class ? ? ? ? ?= &omap36xx_smartreflex_hwmod_class, > ? ? ? ?.main_clk ? ? ? = "sr2_fck", > - ? ? ? .vdd_name ? ? ? = "core", > ? ? ? ?.prcm ? ? ? ? ? = { > ? ? ? ? ? ? ? ?.omap2 = { > ? ? ? ? ? ? ? ? ? ? ? ?.prcm_reg_id = 1, > @@ -2992,6 +3000,7 @@ static struct omap_hwmod omap36xx_sr2_hwmod = { > ? ? ? ?}, > ? ? ? ?.slaves ? ? ? ? = omap3_sr2_slaves, > ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap3_sr2_slaves), > + ? ? ? .dev_attr ? ? ? = &sr2_dev_attr, > ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP3630ES1), > ?}; > > diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c > index 3e88dd3..1331b39 100644 > --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c > +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c > @@ -30,6 +30,7 @@ > > ?#include "omap_hwmod_common_data.h" > > +#include "smartreflex.h" > ?#include "cm1_44xx.h" > ?#include "cm2_44xx.h" > ?#include "prm44xx.h" > @@ -3775,6 +3776,10 @@ static struct omap_hwmod_class omap44xx_smartreflex_hwmod_class = { > ?}; > > ?/* smartreflex_core */ > +static struct omap_sr_dev_attr sr_core_dev_attr = { > + ? ? ? .voltdm_name ? = "core", > +}; > + > ?static struct omap_hwmod omap44xx_smartreflex_core_hwmod; > ?static struct omap_hwmod_irq_info omap44xx_smartreflex_core_irqs[] = { > ? ? ? ?{ .irq = 19 + OMAP44XX_IRQ_GIC_START }, > @@ -3809,7 +3814,6 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = { > ? ? ? ?.mpu_irqs ? ? ? = omap44xx_smartreflex_core_irqs, > ? ? ? ?.mpu_irqs_cnt ? = ARRAY_SIZE(omap44xx_smartreflex_core_irqs), > ? ? ? ?.main_clk ? ? ? = "smartreflex_core_fck", > - ? ? ? .vdd_name ? ? ? = "core", > ? ? ? ?.prcm = { > ? ? ? ? ? ? ? ?.omap4 = { > ? ? ? ? ? ? ? ? ? ? ? ?.clkctrl_reg = OMAP4430_CM_ALWON_SR_CORE_CLKCTRL, > @@ -3817,10 +3821,15 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = { > ? ? ? ?}, > ? ? ? ?.slaves ? ? ? ? = omap44xx_smartreflex_core_slaves, > ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap44xx_smartreflex_core_slaves), > + ? ? ? .dev_attr ? ? ? = &sr_core_dev_attr, > ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), > ?}; > > ?/* smartreflex_iva */ > +static struct omap_sr_dev_attr sr_iva_dev_attr = { > + ? ? ? .voltdm_name ? = "iva", > +}; > + > ?static struct omap_hwmod omap44xx_smartreflex_iva_hwmod; > ?static struct omap_hwmod_irq_info omap44xx_smartreflex_iva_irqs[] = { > ? ? ? ?{ .irq = 102 + OMAP44XX_IRQ_GIC_START }, > @@ -3855,7 +3864,6 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = { > ? ? ? ?.mpu_irqs ? ? ? = omap44xx_smartreflex_iva_irqs, > ? ? ? ?.mpu_irqs_cnt ? = ARRAY_SIZE(omap44xx_smartreflex_iva_irqs), > ? ? ? ?.main_clk ? ? ? = "smartreflex_iva_fck", > - ? ? ? .vdd_name ? ? ? = "iva", > ? ? ? ?.prcm = { > ? ? ? ? ? ? ? ?.omap4 = { > ? ? ? ? ? ? ? ? ? ? ? ?.clkctrl_reg = OMAP4430_CM_ALWON_SR_IVA_CLKCTRL, > @@ -3863,10 +3871,15 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = { > ? ? ? ?}, > ? ? ? ?.slaves ? ? ? ? = omap44xx_smartreflex_iva_slaves, > ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap44xx_smartreflex_iva_slaves), > + ? ? ? .dev_attr ? ? ? = &sr_iva_dev_attr, > ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), > ?}; > > ?/* smartreflex_mpu */ > +static struct omap_sr_dev_attr sr_mpu_dev_attr = { > + ? ? ? .voltdm_name ? = "mpu", > +}; > + > ?static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod; > ?static struct omap_hwmod_irq_info omap44xx_smartreflex_mpu_irqs[] = { > ? ? ? ?{ .irq = 18 + OMAP44XX_IRQ_GIC_START }, > @@ -3901,7 +3914,6 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = { > ? ? ? ?.mpu_irqs ? ? ? = omap44xx_smartreflex_mpu_irqs, > ? ? ? ?.mpu_irqs_cnt ? = ARRAY_SIZE(omap44xx_smartreflex_mpu_irqs), > ? ? ? ?.main_clk ? ? ? = "smartreflex_mpu_fck", > - ? ? ? .vdd_name ? ? ? = "mpu", > ? ? ? ?.prcm = { > ? ? ? ? ? ? ? ?.omap4 = { > ? ? ? ? ? ? ? ? ? ? ? ?.clkctrl_reg = OMAP4430_CM_ALWON_SR_MPU_CLKCTRL, > @@ -3909,6 +3921,7 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = { > ? ? ? ?}, > ? ? ? ?.slaves ? ? ? ? = omap44xx_smartreflex_mpu_slaves, > ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap44xx_smartreflex_mpu_slaves), > + ? ? ? .dev_attr ? ? ? = &sr_mpu_dev_attr, > ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), > ?}; > > diff --git a/arch/arm/mach-omap2/smartreflex.h b/arch/arm/mach-omap2/smartreflex.h > index 5f35b9e..9a7f770 100644 > --- a/arch/arm/mach-omap2/smartreflex.h > +++ b/arch/arm/mach-omap2/smartreflex.h > @@ -197,6 +197,16 @@ struct omap_sr_nvalue_table { > ?}; > > ?/** > + * struct omap_sr_dev_attr - Smartreflex Device attribute. > + * > + * @voltdm_name: ? ? ? Name of voltdomain of SR instance > + */ > + > +struct omap_sr_dev_attr { > + ? ? ? const char ? ? ?*voltdm_name; > +}; > + > +/** > ?* struct omap_sr_data - Smartreflex platform data. > ?* > ?* @ip_type: ? ? ? ? ? Smartreflex IP type. > diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c > index 2782d3f..65b2aae 100644 > --- a/arch/arm/mach-omap2/sr_device.c > +++ b/arch/arm/mach-omap2/sr_device.c > @@ -82,6 +82,7 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user) > ? ? ? ?struct omap_sr_data *sr_data; > ? ? ? ?struct omap_device *od; > ? ? ? ?struct omap_volt_data *volt_data; > + ? ? ? struct omap_sr_dev_attr *sr_dev_attr; > ? ? ? ?char *name = "smartreflex"; > ? ? ? ?static int i; > > @@ -92,9 +93,11 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user) > ? ? ? ? ? ? ? ?return -ENOMEM; > ? ? ? ?} > > - ? ? ? if (!oh->vdd_name) { > + ? ? ? sr_dev_attr = (struct omap_sr_dev_attr *)oh->dev_attr; > + ? ? ? if (!sr_dev_attr->voltdm_name) { > ? ? ? ? ? ? ? ?pr_err("%s: No voltage domain specified for %s." > - ? ? ? ? ? ? ? ? ? ? ? "Cannot initialize\n", __func__, oh->name); > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "Cannot initialize\n", __func__, > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sr_dev_attr->voltdm_name); > ? ? ? ? ? ? ? ?goto exit; > ? ? ? ?} > > @@ -102,10 +105,10 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user) > ? ? ? ?sr_data->senn_mod = 0x1; > ? ? ? ?sr_data->senp_mod = 0x1; > > - ? ? ? sr_data->voltdm = voltdm_lookup(oh->vdd_name); > + ? ? ? sr_data->voltdm = voltdm_lookup(sr_dev_attr->voltdm_name); > ? ? ? ?if (IS_ERR(sr_data->voltdm)) { > ? ? ? ? ? ? ? ?pr_err("%s: Unable to get voltage domain pointer for VDD %s\n", > - ? ? ? ? ? ? ? ? ? ? ? __func__, oh->vdd_name); > + ? ? ? ? ? ? ? ? ? ? ? __func__, sr_dev_attr->voltdm_name); > ? ? ? ? ? ? ? ?goto exit; > ? ? ? ?} > > diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h > index a5fa7c1..39d809a 100644 > --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h > +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h > @@ -519,7 +519,6 @@ struct omap_hwmod { > ? ? ? ?const char ? ? ? ? ? ? ? ? ? ? ?*main_clk; > ? ? ? ?struct clk ? ? ? ? ? ? ? ? ? ? ?*_clk; > ? ? ? ?struct omap_hwmod_opt_clk ? ? ? *opt_clks; > - ? ? ? char ? ? ? ? ? ? ? ? ? ? ? ? ? ?*vdd_name; > ? ? ? ?struct omap_hwmod_ocp_if ? ? ? ?**masters; /* connect to *_IA */ > ? ? ? ?struct omap_hwmod_ocp_if ? ? ? ?**slaves; ?/* connect to *_TA */ > ? ? ? ?void ? ? ? ? ? ? ? ? ? ? ? ? ? ?*dev_attr; > -- > 1.7.0.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at ?http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH V2] OMAP2+: SR Layer Cleanup. 2011-05-10 0:22 ` Menon, Nishanth @ 2011-05-10 4:33 ` Gulati, Shweta 0 siblings, 0 replies; 3+ messages in thread From: Gulati, Shweta @ 2011-05-10 4:33 UTC (permalink / raw) To: linux-arm-kernel Hi, On Tue, May 10, 2011 at 5:52 AM, Menon, Nishanth <nm@ti.com> wrote: > might be a bit late, but seeing that Kevin has'nt picked this up yet, > a couple of cosmetic comments > I think it might be great if it could be folded into one of kevin's patches. > else, > $subject - OMAP3+ and could you drop the .? Will correct the Subject line > On Fri, Apr 8, 2011 at 01:14, Shweta Gulati <shweta.gulati@ti.com> wrote: >> As a part of Voltage Layer Cleanup Patches, >> submitted by Kevin Hilman, Voltage domain >> Information is removed from hwmod, >> So the patch removes 'vdd_name' info from omap_hwmod >> and adds that info into dev_attr as SR code uses vdd_name >> to get voltagedomain sructure info. > word wrap cleanup a bit, also please indicate the issue you see if the > patch is not applied. Would Rephrase the commit log. > Regards, > Nishanth Menon > > >> >> Tested on OMAP3630 SDP and OMAP4430 SDP Board >> >> Signed-off-by: Shweta Gulati <shweta.gulati@ti.com> > > > >> --- >> ?V2: >> ?Rebased on latest 'pm-wip/voltdm_a' branch. >> >> ?arch/arm/mach-omap2/omap_hwmod_3xxx_data.c ? | ? 17 +++++++++++++---- >> ?arch/arm/mach-omap2/omap_hwmod_44xx_data.c ? | ? 19 ++++++++++++++++--- >> ?arch/arm/mach-omap2/smartreflex.h ? ? ? ? ? ?| ? 10 ++++++++++ >> ?arch/arm/mach-omap2/sr_device.c ? ? ? ? ? ? ?| ? 11 +++++++---- >> ?arch/arm/plat-omap/include/plat/omap_hwmod.h | ? ?1 - >> ?5 files changed, 46 insertions(+), 12 deletions(-) >> >> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c >> index 3cd91ac..6a704bd 100644 >> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c >> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c >> @@ -29,6 +29,7 @@ >> >> ?#include "omap_hwmod_common_data.h" >> >> +#include "smartreflex.h" >> ?#include "prm-regbits-34xx.h" >> ?#include "cm-regbits-34xx.h" >> ?#include "wd_timer.h" >> @@ -2904,6 +2905,10 @@ static struct omap_hwmod_class omap36xx_smartreflex_hwmod_class = { >> ?}; >> >> ?/* SR1 */ >> +static struct omap_sr_dev_attr sr1_dev_attr = { >> + ? ? ? .voltdm_name ? = "mpu_iva", >> +}; >> + >> ?static struct omap_hwmod_ocp_if *omap3_sr1_slaves[] = { >> ? ? ? ?&omap3_l4_core__sr1, >> ?}; >> @@ -2912,7 +2917,6 @@ static struct omap_hwmod omap34xx_sr1_hwmod = { >> ? ? ? ?.name ? ? ? ? ? = "sr1_hwmod", >> ? ? ? ?.class ? ? ? ? ?= &omap34xx_smartreflex_hwmod_class, >> ? ? ? ?.main_clk ? ? ? = "sr1_fck", >> - ? ? ? .vdd_name ? ? ? = "mpu_iva", >> ? ? ? ?.prcm ? ? ? ? ? = { >> ? ? ? ? ? ? ? ?.omap2 = { >> ? ? ? ? ? ? ? ? ? ? ? ?.prcm_reg_id = 1, >> @@ -2924,6 +2928,7 @@ static struct omap_hwmod omap34xx_sr1_hwmod = { >> ? ? ? ?}, >> ? ? ? ?.slaves ? ? ? ? = omap3_sr1_slaves, >> ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap3_sr1_slaves), >> + ? ? ? .dev_attr ? ? ? = &sr1_dev_attr, >> ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES2 | >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CHIP_IS_OMAP3430ES3_0 | >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CHIP_IS_OMAP3430ES3_1), >> @@ -2934,7 +2939,6 @@ static struct omap_hwmod omap36xx_sr1_hwmod = { >> ? ? ? ?.name ? ? ? ? ? = "sr1_hwmod", >> ? ? ? ?.class ? ? ? ? ?= &omap36xx_smartreflex_hwmod_class, >> ? ? ? ?.main_clk ? ? ? = "sr1_fck", >> - ? ? ? .vdd_name ? ? ? = "mpu_iva", >> ? ? ? ?.prcm ? ? ? ? ? = { >> ? ? ? ? ? ? ? ?.omap2 = { >> ? ? ? ? ? ? ? ? ? ? ? ?.prcm_reg_id = 1, >> @@ -2946,10 +2950,15 @@ static struct omap_hwmod omap36xx_sr1_hwmod = { >> ? ? ? ?}, >> ? ? ? ?.slaves ? ? ? ? = omap3_sr1_slaves, >> ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap3_sr1_slaves), >> + ? ? ? .dev_attr ? ? ? = &sr1_dev_attr, >> ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP3630ES1), >> ?}; >> >> ?/* SR2 */ >> +static struct omap_sr_dev_attr sr2_dev_attr = { >> + ? ? ? .voltdm_name ? ?= "core", >> +}; >> + >> ?static struct omap_hwmod_ocp_if *omap3_sr2_slaves[] = { >> ? ? ? ?&omap3_l4_core__sr2, >> ?}; >> @@ -2958,7 +2967,6 @@ static struct omap_hwmod omap34xx_sr2_hwmod = { >> ? ? ? ?.name ? ? ? ? ? = "sr2_hwmod", >> ? ? ? ?.class ? ? ? ? ?= &omap34xx_smartreflex_hwmod_class, >> ? ? ? ?.main_clk ? ? ? = "sr2_fck", >> - ? ? ? .vdd_name ? ? ? = "core", >> ? ? ? ?.prcm ? ? ? ? ? = { >> ? ? ? ? ? ? ? ?.omap2 = { >> ? ? ? ? ? ? ? ? ? ? ? ?.prcm_reg_id = 1, >> @@ -2970,6 +2978,7 @@ static struct omap_hwmod omap34xx_sr2_hwmod = { >> ? ? ? ?}, >> ? ? ? ?.slaves ? ? ? ? = omap3_sr2_slaves, >> ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap3_sr2_slaves), >> + ? ? ? .dev_attr ? ? ? = &sr2_dev_attr, >> ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES2 | >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CHIP_IS_OMAP3430ES3_0 | >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CHIP_IS_OMAP3430ES3_1), >> @@ -2980,7 +2989,6 @@ static struct omap_hwmod omap36xx_sr2_hwmod = { >> ? ? ? ?.name ? ? ? ? ? = "sr2_hwmod", >> ? ? ? ?.class ? ? ? ? ?= &omap36xx_smartreflex_hwmod_class, >> ? ? ? ?.main_clk ? ? ? = "sr2_fck", >> - ? ? ? .vdd_name ? ? ? = "core", >> ? ? ? ?.prcm ? ? ? ? ? = { >> ? ? ? ? ? ? ? ?.omap2 = { >> ? ? ? ? ? ? ? ? ? ? ? ?.prcm_reg_id = 1, >> @@ -2992,6 +3000,7 @@ static struct omap_hwmod omap36xx_sr2_hwmod = { >> ? ? ? ?}, >> ? ? ? ?.slaves ? ? ? ? = omap3_sr2_slaves, >> ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap3_sr2_slaves), >> + ? ? ? .dev_attr ? ? ? = &sr2_dev_attr, >> ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP3630ES1), >> ?}; >> >> diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c >> index 3e88dd3..1331b39 100644 >> --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c >> +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c >> @@ -30,6 +30,7 @@ >> >> ?#include "omap_hwmod_common_data.h" >> >> +#include "smartreflex.h" >> ?#include "cm1_44xx.h" >> ?#include "cm2_44xx.h" >> ?#include "prm44xx.h" >> @@ -3775,6 +3776,10 @@ static struct omap_hwmod_class omap44xx_smartreflex_hwmod_class = { >> ?}; >> >> ?/* smartreflex_core */ >> +static struct omap_sr_dev_attr sr_core_dev_attr = { >> + ? ? ? .voltdm_name ? = "core", >> +}; >> + >> ?static struct omap_hwmod omap44xx_smartreflex_core_hwmod; >> ?static struct omap_hwmod_irq_info omap44xx_smartreflex_core_irqs[] = { >> ? ? ? ?{ .irq = 19 + OMAP44XX_IRQ_GIC_START }, >> @@ -3809,7 +3814,6 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = { >> ? ? ? ?.mpu_irqs ? ? ? = omap44xx_smartreflex_core_irqs, >> ? ? ? ?.mpu_irqs_cnt ? = ARRAY_SIZE(omap44xx_smartreflex_core_irqs), >> ? ? ? ?.main_clk ? ? ? = "smartreflex_core_fck", >> - ? ? ? .vdd_name ? ? ? = "core", >> ? ? ? ?.prcm = { >> ? ? ? ? ? ? ? ?.omap4 = { >> ? ? ? ? ? ? ? ? ? ? ? ?.clkctrl_reg = OMAP4430_CM_ALWON_SR_CORE_CLKCTRL, >> @@ -3817,10 +3821,15 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = { >> ? ? ? ?}, >> ? ? ? ?.slaves ? ? ? ? = omap44xx_smartreflex_core_slaves, >> ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap44xx_smartreflex_core_slaves), >> + ? ? ? .dev_attr ? ? ? = &sr_core_dev_attr, >> ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), >> ?}; >> >> ?/* smartreflex_iva */ >> +static struct omap_sr_dev_attr sr_iva_dev_attr = { >> + ? ? ? .voltdm_name ? = "iva", >> +}; >> + >> ?static struct omap_hwmod omap44xx_smartreflex_iva_hwmod; >> ?static struct omap_hwmod_irq_info omap44xx_smartreflex_iva_irqs[] = { >> ? ? ? ?{ .irq = 102 + OMAP44XX_IRQ_GIC_START }, >> @@ -3855,7 +3864,6 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = { >> ? ? ? ?.mpu_irqs ? ? ? = omap44xx_smartreflex_iva_irqs, >> ? ? ? ?.mpu_irqs_cnt ? = ARRAY_SIZE(omap44xx_smartreflex_iva_irqs), >> ? ? ? ?.main_clk ? ? ? = "smartreflex_iva_fck", >> - ? ? ? .vdd_name ? ? ? = "iva", >> ? ? ? ?.prcm = { >> ? ? ? ? ? ? ? ?.omap4 = { >> ? ? ? ? ? ? ? ? ? ? ? ?.clkctrl_reg = OMAP4430_CM_ALWON_SR_IVA_CLKCTRL, >> @@ -3863,10 +3871,15 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = { >> ? ? ? ?}, >> ? ? ? ?.slaves ? ? ? ? = omap44xx_smartreflex_iva_slaves, >> ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap44xx_smartreflex_iva_slaves), >> + ? ? ? .dev_attr ? ? ? = &sr_iva_dev_attr, >> ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), >> ?}; >> >> ?/* smartreflex_mpu */ >> +static struct omap_sr_dev_attr sr_mpu_dev_attr = { >> + ? ? ? .voltdm_name ? = "mpu", >> +}; >> + >> ?static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod; >> ?static struct omap_hwmod_irq_info omap44xx_smartreflex_mpu_irqs[] = { >> ? ? ? ?{ .irq = 18 + OMAP44XX_IRQ_GIC_START }, >> @@ -3901,7 +3914,6 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = { >> ? ? ? ?.mpu_irqs ? ? ? = omap44xx_smartreflex_mpu_irqs, >> ? ? ? ?.mpu_irqs_cnt ? = ARRAY_SIZE(omap44xx_smartreflex_mpu_irqs), >> ? ? ? ?.main_clk ? ? ? = "smartreflex_mpu_fck", >> - ? ? ? .vdd_name ? ? ? = "mpu", >> ? ? ? ?.prcm = { >> ? ? ? ? ? ? ? ?.omap4 = { >> ? ? ? ? ? ? ? ? ? ? ? ?.clkctrl_reg = OMAP4430_CM_ALWON_SR_MPU_CLKCTRL, >> @@ -3909,6 +3921,7 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = { >> ? ? ? ?}, >> ? ? ? ?.slaves ? ? ? ? = omap44xx_smartreflex_mpu_slaves, >> ? ? ? ?.slaves_cnt ? ? = ARRAY_SIZE(omap44xx_smartreflex_mpu_slaves), >> + ? ? ? .dev_attr ? ? ? = &sr_mpu_dev_attr, >> ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), >> ?}; >> >> diff --git a/arch/arm/mach-omap2/smartreflex.h b/arch/arm/mach-omap2/smartreflex.h >> index 5f35b9e..9a7f770 100644 >> --- a/arch/arm/mach-omap2/smartreflex.h >> +++ b/arch/arm/mach-omap2/smartreflex.h >> @@ -197,6 +197,16 @@ struct omap_sr_nvalue_table { >> ?}; >> >> ?/** >> + * struct omap_sr_dev_attr - Smartreflex Device attribute. >> + * >> + * @voltdm_name: ? ? ? Name of voltdomain of SR instance >> + */ >> + >> +struct omap_sr_dev_attr { >> + ? ? ? const char ? ? ?*voltdm_name; >> +}; >> + >> +/** >> ?* struct omap_sr_data - Smartreflex platform data. >> ?* >> ?* @ip_type: ? ? ? ? ? Smartreflex IP type. >> diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c >> index 2782d3f..65b2aae 100644 >> --- a/arch/arm/mach-omap2/sr_device.c >> +++ b/arch/arm/mach-omap2/sr_device.c >> @@ -82,6 +82,7 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user) >> ? ? ? ?struct omap_sr_data *sr_data; >> ? ? ? ?struct omap_device *od; >> ? ? ? ?struct omap_volt_data *volt_data; >> + ? ? ? struct omap_sr_dev_attr *sr_dev_attr; >> ? ? ? ?char *name = "smartreflex"; >> ? ? ? ?static int i; >> >> @@ -92,9 +93,11 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user) >> ? ? ? ? ? ? ? ?return -ENOMEM; >> ? ? ? ?} >> >> - ? ? ? if (!oh->vdd_name) { >> + ? ? ? sr_dev_attr = (struct omap_sr_dev_attr *)oh->dev_attr; >> + ? ? ? if (!sr_dev_attr->voltdm_name) { >> ? ? ? ? ? ? ? ?pr_err("%s: No voltage domain specified for %s." >> - ? ? ? ? ? ? ? ? ? ? ? "Cannot initialize\n", __func__, oh->name); >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "Cannot initialize\n", __func__, >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sr_dev_attr->voltdm_name); >> ? ? ? ? ? ? ? ?goto exit; >> ? ? ? ?} >> >> @@ -102,10 +105,10 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user) >> ? ? ? ?sr_data->senn_mod = 0x1; >> ? ? ? ?sr_data->senp_mod = 0x1; >> >> - ? ? ? sr_data->voltdm = voltdm_lookup(oh->vdd_name); >> + ? ? ? sr_data->voltdm = voltdm_lookup(sr_dev_attr->voltdm_name); >> ? ? ? ?if (IS_ERR(sr_data->voltdm)) { >> ? ? ? ? ? ? ? ?pr_err("%s: Unable to get voltage domain pointer for VDD %s\n", >> - ? ? ? ? ? ? ? ? ? ? ? __func__, oh->vdd_name); >> + ? ? ? ? ? ? ? ? ? ? ? __func__, sr_dev_attr->voltdm_name); >> ? ? ? ? ? ? ? ?goto exit; >> ? ? ? ?} >> >> diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h >> index a5fa7c1..39d809a 100644 >> --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h >> +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h >> @@ -519,7 +519,6 @@ struct omap_hwmod { >> ? ? ? ?const char ? ? ? ? ? ? ? ? ? ? ?*main_clk; >> ? ? ? ?struct clk ? ? ? ? ? ? ? ? ? ? ?*_clk; >> ? ? ? ?struct omap_hwmod_opt_clk ? ? ? *opt_clks; >> - ? ? ? char ? ? ? ? ? ? ? ? ? ? ? ? ? ?*vdd_name; >> ? ? ? ?struct omap_hwmod_ocp_if ? ? ? ?**masters; /* connect to *_IA */ >> ? ? ? ?struct omap_hwmod_ocp_if ? ? ? ?**slaves; ?/* connect to *_TA */ >> ? ? ? ?void ? ? ? ? ? ? ? ? ? ? ? ? ? ?*dev_attr; >> -- >> 1.7.0.4 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-omap" in >> the body of a message to majordomo at vger.kernel.org >> More majordomo info at ?http://vger.kernel.org/majordomo-info.html >> > -- Thanks, Regards, Shweta ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-05-10 4:33 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-04-08 6:14 [PATCH V2] OMAP2+: SR Layer Cleanup Shweta Gulati 2011-05-10 0:22 ` Menon, Nishanth 2011-05-10 4:33 ` Gulati, Shweta
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).