drivers/video/backlight/adp8860_bl.c: fix ambient light zone overwrite handling
authorMichael Hennerich <michael.hennerich@analog.com>
Thu, 11 Nov 2010 22:05:29 +0000 (14:05 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Nov 2010 15:55:33 +0000 (07:55 -0800)
commitc7ce2500e3140b728d8a98a1acb1c2690af51eae
treec656a165112af36bae03e9e43af9f64b4355788a
parentfef7764f8bca9d603a8a51dcb522db97739a33c2
drivers/video/backlight/adp8860_bl.c: fix ambient light zone overwrite handling

This affects the get/set of the current Ambient Light Zone.  Reading
should return an integer between 1..3 (1 = Daylight, 2 = office, 3 =
dark).  Writing a value between 1..3 forces the backlight controller to
enter the corresponding Ambient Light Zone.  Writing 0 returns to normal
operation.

Fix valid range checking so we don't write invalid values to the
controller, and make sure we subtract 1, since this is what the register
definition (CFGR:BLV) requires.  Otherwise the values written don't work
correctly.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Richard Purdie <rpurdie@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/backlight/adp8860_bl.c