diff options
author | Juha Riihimäki <juha.riihimaki@nokia.com> | 2011-08-28 16:22:19 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2011-08-28 16:37:12 +0000 |
commit | b5325c2739d9795f9462ef87e4080b792835d70a (patch) | |
tree | 8b30d736c89dd32f999923a8660d51e5f234e9ef | |
parent | de8af7fe0158493baa1c9a5418ac598a18e86027 (diff) | |
download | qemu-b5325c2739d9795f9462ef87e4080b792835d70a.tar.gz qemu-b5325c2739d9795f9462ef87e4080b792835d70a.tar.bz2 qemu-b5325c2739d9795f9462ef87e4080b792835d70a.zip |
omap_gpmc: Take omap_mpu_state* in omap_gpmc_init
Take a pointer to the omap mpu state struct in omap_gpmc_init.
Some details of GPMC behaviour depend on the OMAP version we
are a part of.
Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>
[Riku Voipio: Fixes and restructuring patchset]
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
[Peter Maydell: More fixes and cleanups for upstream submission]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | hw/omap.h | 3 | ||||
-rw-r--r-- | hw/omap2.c | 2 | ||||
-rw-r--r-- | hw/omap_gpmc.c | 3 |
3 files changed, 5 insertions, 3 deletions
@@ -118,7 +118,8 @@ void omap_sdrc_reset(struct omap_sdrc_s *s); /* OMAP2 general purpose memory controller */ struct omap_gpmc_s; -struct omap_gpmc_s *omap_gpmc_init(target_phys_addr_t base, qemu_irq irq); +struct omap_gpmc_s *omap_gpmc_init(struct omap_mpu_state_s *mpu, + target_phys_addr_t base, qemu_irq irq); void omap_gpmc_reset(struct omap_gpmc_s *s); void omap_gpmc_attach(struct omap_gpmc_s *s, int cs, MemoryRegion *iomem); diff --git a/hw/omap2.c b/hw/omap2.c index 7e5820a97b..0feb7a55f3 100644 --- a/hw/omap2.c +++ b/hw/omap2.c @@ -2402,7 +2402,7 @@ struct omap_mpu_state_s *omap2420_mpu_init(unsigned long sdram_size, sysbus_mmio_map(busdev, 4, omap_l4_region_base(ta, 5)); s->sdrc = omap_sdrc_init(0x68009000); - s->gpmc = omap_gpmc_init(0x6800a000, s->irq[0][OMAP_INT_24XX_GPMC_IRQ]); + s->gpmc = omap_gpmc_init(s, 0x6800a000, s->irq[0][OMAP_INT_24XX_GPMC_IRQ]); dinfo = drive_get(IF_SD, 0, 0); if (!dinfo) { diff --git a/hw/omap_gpmc.c b/hw/omap_gpmc.c index 9da8491943..c86e7ed713 100644 --- a/hw/omap_gpmc.c +++ b/hw/omap_gpmc.c @@ -399,7 +399,8 @@ static const MemoryRegionOps omap_gpmc_ops = { .endianness = DEVICE_NATIVE_ENDIAN, }; -struct omap_gpmc_s *omap_gpmc_init(target_phys_addr_t base, qemu_irq irq) +struct omap_gpmc_s *omap_gpmc_init(struct omap_mpu_state_s *mpu, + target_phys_addr_t base, qemu_irq irq) { struct omap_gpmc_s *s = (struct omap_gpmc_s *) g_malloc0(sizeof(struct omap_gpmc_s)); |