]> git.baikalelectronics.ru Git - kernel.git/commit
omap: drop __initdata tags from static struct platform_device declarations
authorJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Mon, 4 Jul 2011 10:56:15 +0000 (03:56 -0700)
committerTony Lindgren <tony@atomide.com>
Mon, 4 Jul 2011 10:56:15 +0000 (03:56 -0700)
commit4fb3aaae4d955b71a2492550316f65613e7f4e81
tree55f00c4a08380b091253a48e728713b67214c2d0
parentb8fa7904ed875c88514d8af82c976f1b643395be
omap: drop __initdata tags from static struct platform_device declarations

Pointers to statically declared platform device structures which are
registered with platform_device_register() are then used during run time
to access these structure members, for example from platform_uevent()
and much more. Therefore, these structures should never be placed inside
sections which are dropped after boot. Fix platform devices incorrectly
tagged with __initdata which happen to exist inside OMAP sub-trees.

This bug has exhibited itself on my ARM/OMAP1 based Amstrad Delta
videophone after commit a62ecd424588c065b4c33c8dec3edb7d40f5b585, "mm:
check if any page in a pageblock is reserved before marking it
MIGRATE_RESERVE", resulting in reading from several
/sys/device/platform/*/uevent files always ending up with segmentation
faults.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Felipe Balbi <balbi@ti.com>
Cc: Varadarajan, Charulatha <charu@ti.com>
Cc: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap1/board-ams-delta.c
arch/arm/mach-omap1/gpio15xx.c
arch/arm/mach-omap1/gpio16xx.c
arch/arm/mach-omap1/gpio7xx.c
arch/arm/mach-omap2/board-rx51-peripherals.c