Hi some comments (also see the comments for the 1/16 patch, some of which apply to this patch) On Fri, 16 Sep 2011, Tero Kristo wrote: > diff --git a/drivers/power/omap_prm.c b/drivers/power/omap_prm.c > index dfc0920..880748a 100644 > --- a/drivers/power/omap_prm.c > +++ b/drivers/power/omap_prm.c ... > +static int __init omap_prm_probe(struct platform_device *pdev) > +{ > + struct omap_hwmod *oh; This is a sign that something is wrong here. Device driver code shouldn't have any hwmod dependencies. The driver should just use whatever data it gets from the struct platform_device / platform_data. Code in arch/arm/mach-omap2 can use hwmod data to populate platform_data, if needed. But it doesn't even look like that would be needed in this case. The PRM revision register resides inside the PRM IP block, so it's valid for the PRM driver to read it directly. Anyway, this PRM revision code is presumably mooted anyway if different drivers are probed for OMAP2430 vs. OMAP4-style PRMs. > + int rev; > + > + oh = omap_hwmod_lookup("prm"); > + > + if (!oh) { > + pr_err("prm hwmod not found\n"); > + return -ENODEV; > + } > + > + prm_dev.base = omap_hwmod_get_mpu_rt_va(oh); > + > + rev = prm_read_reg(oh->class->sysc->rev_offs); > + > + switch (rev) { > + case OMAP3_PRM_REVISION: > + prm_dev.irq_setup = &omap3_prcm_irq_setup; > + prm_dev.revision = PRM_OMAP3; > + break; > + case OMAP4_PRM_REVISION: > + prm_dev.irq_setup = &omap4_prcm_irq_setup; > + prm_dev.revision = PRM_OMAP4; > + break; > + default: > + pr_err("unknown PRM revision: %08x\n", rev); > + return -ENODEV; > + } > + > + prm_dev.irq = oh->mpu_irqs[0].irq; > + > + omap_prcm_irq_init(); > + > + return 0; > +} - Paul -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html