On Fri, Nov 27, 2009 at 2:36 PM, Sergey Lapin <slapinid@xxxxxxxxx> wrote: >> >> Alas, that's not because omap_chip_is() function fails >> on these structures. >> > > I mean during registration of power domains. > int pwrdm_register(struct powerdomain *pwrdm) { unsigned long flags; int ret = -EINVAL; if (!pwrdm) return -EINVAL; if (!omap_chip_is(pwrdm->omap_chip)) return -EINVAL; returns -EINVAL for pwrdm_core (both of them), so I get panic later. Since OMAP2525 vs 3515 were messed-up, I think there could be more problems there. diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h index 2e17890..8b15789 100644 --- a/arch/arm/plat-omap/include/plat/cpu.h +++ b/arch/arm/plat-omap/include/plat/cpu.h @@ -393,11 +393,11 @@ IS_OMAP_TYPE(3517, 0x3517) (!omap3_has_iva()) && \ (!omap3_has_sgx())) # define cpu_is_omap3515() (cpu_is_omap3430() && \ - (omap3_has_iva()) && \ - (!omap3_has_sgx())) + (!omap3_has_iva()) && \ + (omap3_has_sgx())) # define cpu_is_omap3525() (cpu_is_omap3430() && \ - (omap3_has_sgx()) && \ - (!omap3_has_iva())) + (!omap3_has_sgx()) && \ + (omap3_has_iva())) # define cpu_is_omap3530() (cpu_is_omap3430()) # define cpu_is_omap3505() is_omap3505() # define cpu_is_omap3517() is_omap3517() since OMAP3525 has iva but misses sgx, and vice versa 3515 has sgx but has no iva. I missed this piece before, but just accidentally found it now. I don't know if these are related, but this doesn't fix my problem with core_pwrdm. S. -- 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