Add code to the OPP layer to find OPPs by OPP ID. This is needed to hide the details of the struct omap_opp from SmartReflex and SRF code. --- arch/arm/plat-omap/include/plat/opp.h | 3 +++ arch/arm/plat-omap/opp.c | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 0 deletions(-) diff --git a/arch/arm/plat-omap/include/plat/opp.h b/arch/arm/plat-omap/include/plat/opp.h index 4329767..38b5069 100644 --- a/arch/arm/plat-omap/include/plat/opp.h +++ b/arch/arm/plat-omap/include/plat/opp.h @@ -241,4 +241,7 @@ int opp_enable(struct omap_opp *opp); */ int opp_disable(struct omap_opp *opp); +struct omap_opp * __deprecated opp_find_by_opp_id(struct omap_opp *opps, + u8 opp_id); + #endif /* __ASM_ARM_OMAP_OPP_H */ diff --git a/arch/arm/plat-omap/opp.c b/arch/arm/plat-omap/opp.c index 2e97237..a5cc9a6 100644 --- a/arch/arm/plat-omap/opp.c +++ b/arch/arm/plat-omap/opp.c @@ -43,6 +43,31 @@ unsigned long opp_get_freq(const struct omap_opp *opp) return opp->rate; } +/** + * opp_find_by_opp_id - look up OPP by OPP ID (deprecated) + * @opps: pointer to an array of struct omap_opp + * + * Returns the struct omap_opp pointer corresponding to the given OPP + * ID @opp_id, or returns NULL on error. + */ +struct omap_opp * __deprecated opp_find_by_opp_id(struct omap_opp *opps, + u8 opp_id) +{ + int i = 1; + + if (!opps || !opp_id) + return NULL; + + /* The first entry is a dummy one, loop till we hit terminator */ + while (!OPP_TERM(&opps[i])) { + if (opps[i].enabled && (opps[i].opp_id == opp_id)) + return &opps[i]; + i++; + } + + return NULL; +} + int opp_get_opp_count(struct omap_opp *oppl) { u8 n = 0; -- 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