diff options
author | Ryan Mallon <rmallon@gmail.com> | 2012-01-22 20:31:32 +1100 |
---|---|---|
committer | Ryan Mallon <rmallon@gmail.com> | 2012-03-14 11:41:10 +1100 |
commit | 0fd1958050e92c859152e775e548284582335d25 (patch) | |
tree | dd457bc43e459ff65aa0dba5034ec52de5d43364 /arch/arm/mach-ep93xx | |
parent | 2ae18b471d91f7622e54f18ed3a4b5b20e9bf871 (diff) | |
download | op-kernel-dev-0fd1958050e92c859152e775e548284582335d25.zip op-kernel-dev-0fd1958050e92c859152e775e548284582335d25.tar.gz |
ep93xx: Use ioremap for backlight driver
The ep93xx backlight driver uses a single register within the
framebuffer's register space. Currently the backlight driver uses a
static IO mapping for the register since the memory cannot be
requested by both drivers.
Convert the static mapping to use ioremap so that we can remove the
dependency on mach/hardware.h. To do so, we need remove the
request_mem_region from both the backlight and framebuffer drivers,
since whichever driver is loaded second will fail with -EBUSY
otherwise.
A proper fix is still required, and a FIXME comment has been added to
both drivers.
Signed-off-by: Ryan Mallon <rmallon@gmail.com>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Cc: Mika Westerberg <mika.westerberg@iki.fi>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Diffstat (limited to 'arch/arm/mach-ep93xx')
-rw-r--r-- | arch/arm/mach-ep93xx/core.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index b5c1dae..c73e299 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c @@ -682,9 +682,19 @@ static struct platform_device ep93xx_fb_device = { .resource = ep93xx_fb_resource, }; +/* The backlight use a single register in the framebuffer's register space */ +#define EP93XX_RASTER_REG_BRIGHTNESS 0x20 + +static struct resource ep93xx_bl_resources[] = { + DEFINE_RES_MEM(EP93XX_RASTER_PHYS_BASE + + EP93XX_RASTER_REG_BRIGHTNESS, 0x04), +}; + static struct platform_device ep93xx_bl_device = { .name = "ep93xx-bl", .id = -1, + .num_resources = ARRAY_SIZE(ep93xx_bl_resources), + .resource = ep93xx_bl_resources, }; /** |