Helpers for propulating given resource structure with memory & interrupt information. Signed-off-by: Afzal Mohammed <afzal@xxxxxx> --- arch/arm/mach-omap2/gpmc.c | 45 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index a91f40f..652b245 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c @@ -905,6 +905,51 @@ static void __devinit gpmc_mem_init(void) } } +static __devinit int gpmc_setup_cs_mem(struct gpmc_cs_data *cs, + struct resource *res) +{ + unsigned long start; + int ret; + + ret = gpmc_cs_request(cs->cs, cs->mem_size, &start); + if (IS_ERR_VALUE(ret)) { + dev_err(gpmc_dev, "error: gpmc request on CS: %d\n", cs->cs); + return ret; + } + + res->start = start + cs->mem_offset; + res->end = res->start + cs->mem_size - 1; + res->flags = IORESOURCE_MEM; + + dev_info(gpmc_dev, "memory 0x%x-0x%x on CS %d\n", res->start, + res->end, cs->cs); + + return 1; +} + +static inline unsigned gpmc_bit_to_irq(unsigned bitmask) +{ + return bitmask; +} + +static __devinit int gpmc_setup_cs_irq(struct gpmc_cs_data *cs, + struct resource *res) +{ + int i, n; + + for (i = 0, n = 0; i < GPMC_NR_IRQ; i++) + if (gpmc_bit_to_irq(gpmc_client_irq[i].bitmask) + & cs->irq_config) { + res[n].start = res[n].end = gpmc_client_irq[i].irq; + res[n].flags = IORESOURCE_IRQ; + dev_info(gpmc_dev, "irq %u on CS %d\n", + res[n].start, cs->cs); + n++; + } + + return n; +} + static __devinit int gpmc_probe(struct platform_device *pdev) { u32 l; -- 1.7.10.2 -- 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