linux/arch/arm
Russell King a1af0fbbba ARM: OMAP: Cleanup OMAP FB SDRAM reservation
The logic in this file is rather convoluted, but essentially:

1. region type 0 is SDRAM
2. referring to the code fragment
                if (set_fbmem_region_type(&rg, OMAPFB_MEMTYPE_SDRAM,
                                          sdram_start, sdram_size) < 0 ||
                    (rg.type != OMAPFB_MEMTYPE_SDRAM))
                        continue;
   - if rg.type is not OMAPFB_MEMTYPE_SDRAM, set_fbmem_region_type()
     returns zero immediately (since rg.type is non-zero), and so we
     'continue'.
   - if rg.type is OMAPFB_MEMTYPE_SDRAM, and rg.paddr is zero,
     we fall through.
   - if rg.type is OMAPFB_MEMTYPE_SDRAM, and the region lies within
     SDRAM, we fall through.
   - if rg.type is OMAPFB_MEMTYPE_SDRAM, and the region is not within
     SDRAM, we 'continue'.
3. check_fbmem_region seems unnecessary.
   - we know rg.type is OMAPFB_MEMTYPE_SDRAM
   - we can check rg.size independently
   - bootmem_reserve() can check for overlapping reservations itself
   - we've already validated that the requested region lies within SDRAM.
4. avoid BUG()ing if the region entry is already set; print an error,
   and mark the configuration invalid - at least we'll continue booting
   so the error message has a chance of being logged/visible via serial
   console.

With these changes in place, it makes the code much easier to understand
and hence easier to convert to LMB.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-07-16 11:06:41 +01:00
..
boot ARM: arch/arm/boot/bootp/bootp.lds: Checkpatch cleanup 2010-05-24 20:40:09 +01:00
common ARM: Remove 'node' argument form arch_adjust_zones() 2010-07-16 10:57:36 +01:00
configs ARM: reduce defconfigs 2010-06-10 07:12:18 +02:00
include/asm ARM: Move platform memory reservations out of generic code 2010-07-16 11:06:40 +01:00
kernel ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
lib ARM: 6110/1: Fix Thumb-2 kernel builds when UACCESS_WITH_MEMCPY is enabled 2010-05-08 10:45:26 +01:00
mach-aaec2000 ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-at91 ARM: mach-at91: duplicated include 2010-05-24 20:40:13 +01:00
mach-bcmring Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-clps711x ARM: Move platform memory reservations out of generic code 2010-07-16 11:06:40 +01:00
mach-cns3xxx ARM: cns3xxx: Add CNS3420 Validation Board support 2010-05-02 21:55:49 +04:00
mach-davinci ARM: Remove 'node' argument form arch_adjust_zones() 2010-07-16 10:57:36 +01:00
mach-dove Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-ebsa110 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-ep93xx Merge remote branch 'origin' into secretlab/next-spi 2010-05-25 00:38:26 -06:00
mach-footbridge ARM: arch/arm/mach-footbridge/ebsa285-pci.c: Checkpatch cleanup 2010-05-24 20:40:10 +01:00
mach-gemini Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
mach-h720x ARM: arch/arm/mach-h720x/common.h: Checkpatch cleanup 2010-05-24 20:40:10 +01:00
mach-integrator ARM: Move platform memory reservations out of generic code 2010-07-16 11:06:40 +01:00
mach-iop13xx ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-iop32x Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-iop33x include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mach-ixp4xx ARM: Remove 'node' argument form arch_adjust_zones() 2010-07-16 10:57:36 +01:00
mach-ixp23xx include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mach-ixp2000 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mach-kirkwood Merge git://git.infradead.org/mtd-2.6 2010-05-21 07:25:43 -07:00
mach-ks8695 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-l7200 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-lh7a40x ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-loki Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-mmp [ARM] mmp: append device support in jasper 2010-05-11 17:25:06 +02:00
mach-msm ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-mv78xx0 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-mx1 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-mx2 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-05-25 12:06:33 -07:00
mach-mx3 ARM: mx3: mx31lilly: fix build error for !CONFIG_USB_ULPI 2010-07-01 09:52:39 +02:00
mach-mx5 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2010-05-20 23:43:18 +01:00
mach-mx25 arm/mx25: add watchdog device 2010-05-18 08:32:33 +02:00
mach-mxc91231 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-netx include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mach-nomadik ARM: 6145/1: ux500 MTU clockrate correction 2010-05-27 10:36:08 +01:00
mach-ns9xxx include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mach-nuc93x ARM: 5859/1: Add nuc93x platform support 2010-01-27 22:03:00 +00:00
mach-omap1 Merge branch 'omap4-i2c-init' into omap-for-linus 2010-05-20 11:37:23 -07:00
mach-omap2 Merge branch 'for_2.6.35rc' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus 2010-06-28 15:47:04 +03:00
mach-orion5x leds: leds-gpio: Change blink_set callback to be able to turn off blinking 2010-05-26 13:07:55 +01:00
mach-pnx4008 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mach-pxa ARM: Move platform memory reservations out of generic code 2010-07-16 11:06:40 +01:00
mach-realview ARM: Remove 'node' argument form arch_adjust_zones() 2010-07-16 10:57:36 +01:00
mach-rpc include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mach-s3c24a0/include/mach Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-s3c64xx ARM: S3C64XX: Add USB OTG HCLK to the list of clocks 2010-05-28 19:31:34 +09:00
mach-s3c2400
mach-s3c2410 ARM: Move platform memory reservations out of generic code 2010-07-16 11:06:40 +01:00
mach-s3c2412 ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-s3c2416 ARM: SMDK2416: Add support for framebuffer device and ensure correct setup 2010-05-18 18:46:30 +09:00
mach-s3c2440 ARM: Move platform memory reservations out of generic code 2010-07-16 11:06:40 +01:00
mach-s3c2443 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-05-20 09:20:59 -07:00
mach-s5p6440 ARM: S5P: Fix the platform external interrupt issues. 2010-05-26 19:09:50 +09:00
mach-s5p6442 ARM: S5P6442: Fix PLL setting announce message. 2010-07-05 16:01:04 +09:00
mach-s5pc100 ARM: S5PC100: Fixup cross tree merge problems 2010-05-26 19:09:50 +09:00
mach-s5pv210 ARM: S5PV210: Correct clock register properties 2010-07-05 16:01:04 +09:00
mach-sa1100 ARM: Remove 'node' argument form arch_adjust_zones() 2010-07-16 10:57:36 +01:00
mach-shark ARM: Remove 'node' argument form arch_adjust_zones() 2010-07-16 10:57:36 +01:00
mach-shmobile ARM: remove 'select GENERIC_TIME' 2010-05-18 08:17:56 +01:00
mach-spear3xx ARM: 6091/1: ST SPEAr: Adding support for shared irq layer 2010-05-04 16:54:54 +01:00
mach-spear6xx ARM: SPEAR6xx: remove duplicated #include 2010-05-24 20:39:52 +01:00
mach-stmp37xx
mach-stmp378x
mach-u300 ARM: Move platform memory reservations out of generic code 2010-07-16 11:06:40 +01:00
mach-ux500 ARM: 6184/2: ux500: use neutral PRCMU base 2010-07-09 14:46:47 +01:00
mach-versatile Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-vexpress ARM: 6192/1: VExpress: Align the machine_desc.phys_io to 1MB section 2010-07-01 10:13:41 +01:00
mach-w90x900 ARM: 6141/1: Add audio support part in arch/arm/mach-w90x900 2010-05-24 22:25:34 +01:00
mm ARM: Move platform memory reservations out of generic code 2010-07-16 11:06:40 +01:00
nwfpe ARM: arch/arm/nwfpe/fpsr.h: Checkpatch cleanup 2010-05-24 20:40:12 +01:00
oprofile ARM: 6074/1: oprofile: convert from sysdev to platform device 2010-05-17 11:53:59 +01:00
plat-iop ARM: 6048/1: ARM: iop3xx: register PMU IRQs during board initialisation 2010-04-29 18:03:49 +01:00
plat-mxc Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2010-05-20 23:43:18 +01:00
plat-nomadik ARM: 6145/1: ux500 MTU clockrate correction 2010-05-27 10:36:08 +01:00
plat-omap ARM: OMAP: Cleanup OMAP FB SDRAM reservation 2010-07-16 11:06:41 +01:00
plat-orion mtd: orion/kirkwood: add RnB line support to orion mtd driver 2010-05-14 01:04:19 +01:00
plat-pxa [ARM] mmp: fix build failure due to IRQ_PMU depends on ARCH_PXA 2010-06-14 00:45:26 +08:00
plat-s3c24xx ARM: SAMSUNG: Move WDT device definitions in plat-samsung 2010-05-20 19:44:18 +09:00
plat-s5p ARM: S5P: Bug fix on external interrupt for S5P SoCs 2010-07-05 16:01:04 +09:00
plat-samsung ARM: SAMSUNG: Fix on wrong function name for S5PV210 sdhci0 2010-07-05 16:01:04 +09:00
plat-spear ARM: 6091/1: ST SPEAr: Adding support for shared irq layer 2010-05-04 16:54:54 +01:00
plat-stmp3xxx include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
plat-versatile ARM: Indirect round/set_rate operations through clk structure 2010-05-02 09:35:38 +01:00
tools ARM: Update mach-types 2010-07-12 21:14:53 +01:00
vfp ARM: VFP: Fix vfp_put_double() for d16-d31 2010-05-27 10:32:06 +01:00
Kconfig ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
Kconfig-nommu
Kconfig.debug ARM: SAMSUNG: Move plat-s3c Kconfig entries to plat-samsung and plat-s3c24xx 2010-02-24 01:52:06 +00:00
Makefile Merge branch 'for-rmk/samsung3' of git://git.fluff.org/bjdooks/linux into devel-stable 2010-05-24 23:08:36 +01:00