aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/backlight
Commit message (Collapse)AuthorAge
* drivers/video/backlight/da903x.c: introduce one more missing kfreeMike Rapoport2008-11-19
| | | | | | | | | | One more error handling code should have kfree as well Signed-off-by: Mike Rapoport <mike@compulab.co.il> Acked-by: Eric Miao <eric.miao@marvell.com> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* drivers/video/backlight/da903x.c: introduce missing kfreeJulia Lawall2008-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Error handling code following a kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Cc: Mike Rapoport <mike@compulab.co.il> Cc: Richard Purdie <rpurdie@linux.intel.com> Cc: Eric Miao <eric.miao@marvell.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* lcd: fix oops if driver only interested in .set_powerBen Dooks2008-11-19
| | | | | | | | | | | | | | | | The LCD driver core calls LCD drivers when either the blanking state or the display mode has changed, but does not make any check to see if the called driver has a .set_mode method. This means if a driver only has a .set_power method then the system will OOPS on changing mode (and with the console semaphore held so you cannot easily see the problem). Fix the problem by ensuring that either callback is valid before use. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [ARM] corgi_lcd: fix simultaneous compilation with corgi_blDmitry Baryshkov2008-10-28
| | | | | | | | corgi_lcd has symbol conflict with corgi_bl driver. Fix it by renaming common symbol in new corgi_lcd driver. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2008-10-23
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] pxa: corgi backlight driver should not select ssp drivers [ARM] 5321/1: Kirkwood: fix typo in Makefile [ARM] 5320/1: fix assembly constraints in implementation of do_div() [ARM] 5318/1: Swap the PRRR and NMRR values in proc-v7.S [ARM] 5316/1: AT91: oops (regression) fix on gpio irq [ARM] msm: vreg interface to msm7k pmic [ARM] msm: dma: various basic dma improvements and bugfixes [ARM] msm: clock: provide clk_*() api support for [ARM] msm: clean up iomap and devices [ARM] msm: add proc_comm support, necessary for clock and power control [ARM] msm: rename ARCH_MSM7X00A to ARCH_MSM [ARM] pxa/spitz: fix unbalance parenthesis in header file spitz.h [ARM] pxa: update {corgi,spitz}_defconfig to favor SPI-based drivers [ARM] pxa: fix the corgi_ssp.c dependency issue in {corgi,spitz}_defconfig Revert "[ARM] pxa/corgi: remove now unused corgi_ssp.c and corgi_lcd.c"
| * [ARM] pxa: corgi backlight driver should not select ssp driversRussell King2008-10-23
| | | | | | | | | | | | | | Resolves build errors with eseries and magician defconfigs (which make use of the corgi backlight driver.) Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * Merge branch 'for-rmk' of git://git.android.com/kernel into develRussell King2008-10-22
| |\
| * | [ARM] pxa: fix the corgi_ssp.c dependency issue in {corgi,spitz}_defconfigEric Miao2008-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate building of corgi_ssp.c, and introduce a new hidden config option CONFIG_CORGI_SSP_DEPRECATED for this. Aslo mark corgi_ts.c and corgi_bl.c as deprecated. This unbreaks the legacy configs in {corgi,spitz}_defconfig, however, SPI based ADS7846 touchscreen driver and a new SPI-based corgi_lcd.c driver with integrated backlight support are recommended. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | | backlight: Add driver for Tabletkiosk Sahara TouchIT-213 Tablet PCClaudio Nieder2008-10-20
| | | | | | | | | | | | | | | | | | | | | | | | [akpm@linux-foundation.org: coding-style fixes] [rpurdie@linux.intel.com: minor tweaks] Signed-off-by: Claudio Nieder <private@claudio.ch> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* | | backlight: da903x: Add backlight driver for DA9030/DA9034Mike Rapoport2008-10-20
| | | | | | | | | | | | | | | | | | Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* | | backlight: add support for Sharp SL-6000 LCD and backlight driversDmitry Baryshkov2008-10-20
| |/ |/| | | | | | | | | | | | | | | On Sharp SL-6000 lcd/backlight is a bit complex, so add two drivers one for lcd-driving chip, other one for dac regulating the backlight LEDS. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Cc: Richard Purdie <rpurdie@rpsys.net>
* | sh: Migrate common board headers to mach-common/.Paul Mundt2008-10-20
|/ | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'master' of ↵David Woodhouse2008-10-13
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: include/asm-x86/statfs.h
| * [ARM] corgi_lcd: use GPIO API for BACKLIGHT_ON and BACKLIGHT_CONTEric Miao2008-09-25
| | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * lcd: add support for Toppoly TDO24M series LCD panelsEric Miao2008-09-23
| | | | | | | | | | | | | | | | This type of LCD panel can be found on PXA3xx/Littleton platforms. Add LCD device and SPI-based driver for this. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * lcd: add corgibl_limit_intensity() to corgi_lcdEric Miao2008-09-23
| | | | | | | | | | | | | | | | | | | | This is not generic enough, added here for backward compatibility. And make this an individual commit so future revert will be a bit easier. Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * lcd: add SPI-based LCD and backlight driver for SHARP corgi/spitzEric Miao2008-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | The driver is based on different source files including corgi_ssp.c, corgi_lcd.c and corgi_bl.c, previously authored by Richard Purdie and many others. The LCD and Backlight device actually share the same SPI device, so they are made into this single driver. Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * lcd: allow lcd device to handle mode change eventsEric Miao2008-09-23
| | | | | | | | | | | | | | | | | | | | Some LCD panels are capable of different resolutions, and is allowed to change at run-time, so to make "struct lcd_device" to be able to handle mode change events here. Signed-off-by: Eric Miao <eric.miao@marvell.com> Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Fix autoloading of MacBook Pro backlight driver.David Woodhouse2008-10-13
|/ | | | | | | | Use new MODULE_DEVICE_TABLE(dmi, ...) facility. There's no need for every driver to screw it up for themselves, when the alias can be generated automatically. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/machRussell King2008-08-07
| | | | | | This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* backlight: add MODULE_ALIAS() to pwm_backlight driverBen Dooks2008-08-05
| | | | | | | | | | Add the missing MODULE_ALIAS() to the pwm_backlight driver. Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* backlight: add more information output to pwm_backlightBen Dooks2008-08-05
| | | | | | | | | | | | Make the error paths in the pwm_backlight driver more informative in the probe path, especially for the times that it finds an error. Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org> Cc: Richard Purdie <rpurdie@rpsys.net> Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2008-08-01
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (28 commits) mm/hugetlb.c must #include <asm/io.h> video: Fix up hp6xx driver build regressions. sh: defconfig updates. sh: Kill off stray mach-rsk7203 reference. serial: sh-sci: Fix up SH7760/SH7780/SH7785 early printk regression. sh: Move out individual boards without mach groups. sh: Make sure AT_SYSINFO_EHDR is exposed to userspace in asm/auxvec.h. sh: Allow SH-3 and SH-5 to use common headers. sh: Provide common CPU headers, prune the SH-2 and SH-2A directories. sh/maple: clean maple bus code sh: More header path fixups for mach dir refactoring. sh: Move out the solution engine headers to arch/sh/include/mach-se/ sh: I2C fix for AP325RXA and Migo-R sh: Shuffle the board directories in to mach groups. sh: dma-sh: Fix up dreamcast dma.h mach path. sh: Switch KBUILD_DEFCONFIG to shx3_defconfig. sh: Add ARCH_DEFCONFIG entries for sh and sh64. sh: Fix compile error of Solution Engine sh: Proper __put_user_asm() size mismatch fix. sh: Stub in a dummy ENTRY_OFFSET for uImage offset calculation. ...
| * video: Fix up hp6xx driver build regressions.Paul Mundt2008-07-29
| | | | | | | | | | | | | | This is some more fallout from the header reorganization, fix up the paths accordingly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | backlight: ensure platform_lcd on by defaultBen Dooks2008-07-30
| | | | | | | | | | | | | | | | | | | | It seems that we need to ensure that the lcd is powered up at start, otherwise we do not see a display. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | backlight: give platform_lcd the same name as the platform device.Ben Dooks2008-07-30
|/ | | | | | | | | | | When registering an platform_lcd, use the name of the platform device specified in case there are more than one platform_lcd backlights registered. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlightLinus Torvalds2008-07-24
|\ | | | | | | | | | | * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight: backlight: Fix missing kernel doc entry backlight: Add Nvidia-based Apple Macbook Pro backlight driver
| * backlight: Fix missing kernel doc entrySebastian Siewior2008-07-23
| | | | | | | | | | Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
| * backlight: Add Nvidia-based Apple Macbook Pro backlight driverMatthew Garrett2008-07-23
| | | | | | | | | | | | | | | | | | | | | | | | Nvidia-based Apple Macbook Pros don't appear to handle backlight control through the graphics card registers or ACPI, but instead trigger changes via SMI calls. This driver registers a generic backlight device that lets existing userspace deal with it. Code derived from Julien Blache's Pommed application. Signed-off-by: Julien Blache <jb@jblache.org> Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* | fbdev: LCD backlight driver using Atmel PWM driverHans-Christian Egtvedt2008-07-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a platform driver using the ATMEL PWM driver to control a backlight which requires a PWM signal and optional GPIO signal for discrete on/off signal. It has been tested on Favr-32 board from EarthLCD. The driver is configurable by supplying a struct with the platform data. See the include/linux/atmel-pwm-bl.h for details. The board code for Favr-32 will be submitted to the AVR32 kernel list. Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Cc: Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | lcd: add platform_lcd driverBen Dooks2008-07-24
| | | | | | | | | | | | | | | | | | | | | | Add a platform_lcd driver to allow boards with simple lcd power controls to register themselves easily. [akpm@linux-foundation.org: build fix] Signed-off-by: Ben Dooks <ben-linux@fluff.org> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | lcd: add lcd_device to check_fb() entry in lcd_opsBen Dooks2008-07-24
| | | | | | | | | | | | | | | | | | | | | | Add the lcd_device being checked to the check_fb entry of lcd_ops. This ensures that any driver using this to check against it's own state can do so, and also makes all the calls in lcd_ops more orthogonal in their arguments. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | fb: add support for the ILI9320 video display controllerBen Dooks2008-07-24
|/ | | | | | | | | | Provide support for the ILI9320 display controller chip which is found in many LCD displays. Included with this is support for an example LCD using this chip, the VGG2432A4. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [ARM] 5141/1: PWM: pwm_request() should return an PTR_ERR() instead of NULL.Ben Dooks2008-07-03
| | | | | | | | | Make the return of pwm_request() be more informative than just being NULL on error by using PTR_ERR() to respond with an approriate error. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5044/1: pwm_bl: add init/notify/exit callbacksPhilipp Zabel2008-07-03
| | | | | | | | This allows platform code to manipulate GPIOs and brightness level as needed. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] pxa: add generic PWM backlight drivereric miao2008-07-03
| | | | | | | | Patch mostly from Eric Miao, with minor edits by rmk to convert Eric's driver to a generic PWM-based backlight driver. Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* backlight: Add OMAP1 PWL backlight driverAndrzej Zaborowski2008-02-07
| | | | | | | | | | | | | | This adds the OMAP1 PWL-based LCD backlight driver. It's been in the OMAP tree for some time. Note that OMAP2 can do similar things with the generic timers which have PWM outputs. Such timers are more generic than the PWL found on OMAP1 chips, but have a different EMI profile because they aren't driven by a pseudorandom number generator. [akpm@linux-foundation.org: cleanups] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrzej Zaborowski <balrogg@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* backlight: Avoid unecessary driver callbacksHelge Deller2008-02-07
| | | | | | | | Avoid driver callbacks when the brightness hasn't changed since they're not necessary. Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* atmel_lcdfb: backlight controlDavid Brownell2008-02-06
| | | | | | | | | | | | | | | | | | | | | | | | On the sam9 EK boards, the LCD backlight is hooked up to a PWM output from the LCD controller. It's controlled by "contrast" registers though. This patch lets boards declare that they have that kind of backlight control. The driver can then export this control, letting screenblank and other operations actually take effect ... reducing the typically substantial power drain from the backlight. Note that it's not fully cooked - doesn't force backlight off during system suspend - the "power" and "blank" events may not be done right This should be easily added in the future. [nicolas.ferre@atmel.com: remove unneeded inline and rename functions] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Andrew Victor <linux@maxim.org.za> Cc: Russell King <rmk@arm.linux.org.uk> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* fbdev: change asm/uaccess.h to linux/uaccess.hKrzysztof Helt2007-10-16
| | | | | | | | | | | This patch replaces <asm/uaccess.h> with <linux/uaccess.h> after the checkpatch.pl hint. The include of <asm/uaccess.h> is removed if the driver does not use it. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Antonino Daplas <adaplas@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2007-10-13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (124 commits) sh: allow building for both r2d boards in same binary. sh: fix r2d board detection sh: Discard .exit.text/.exit.data at runtime. sh: Fix up some section alignments in linker script. sh: Fix SH-4 DMAC CHCR masking. sh: Rip out left-over nommu cond syscall cruft. sh: Make kgdb i-cache flushing less inept. sh: kgdb section mismatches and tidying. sh: cleanup struct irqaction initializers. sh: early_printk tidying. video: pvr2fb: Add TV (RGB) support to Dreamcast PVR driver. sh: Conditionalize gUSA support. sh: Follow gUSA preempt changes in __switch_to(). sh: Tidy up gUSA preempt handling. sh: __copy_user() optimizations for small copies. sh: clkfwk: Support multi-level clock propagation. sh: Fix URAM start address on SH7785. sh: Use boot_cpu_data for CPU probe. sh: Support extended mode TLB on SH-X3. sh: Bump MAX_ACTIVE_REGIONS for SH7785. ...
| * backlight: Fix up hp680_bl build.Kristoffer Ericson2007-09-20
| | | | | | | | | | | | | | Trivial build fixes. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | backlight: Convert corgi backlight driver into a more generic driverRichard Purdie2007-10-11
| | | | | | | | | | | | | | | | Convert the corgi backlight driver to a more generic version so it can be reused by other code rather than being Zaurus/PXA specific. Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* | backlight: Add Samsung LTV350QV LCD driverHaavard Skinnemoen2007-10-11
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for powering on and off the Samsung LTV350QV LCD panel via SPI. The driver responds to framebuffer power management, it powers off the panel on reboot/halt/poweroff. It can also be controlled through sysfs. The panel is powered up when the module is loaded, and off when the module is unloaded. Verified on AVR32 STK1000. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* | backlight: Fix cr_bllcd allocations and error pathsJesper Juhl2007-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After fixing the too small memory allocation in cr_backlight_probe() from drivers/video/backlight/cr_bllcd.c (commit e3bbb3f05339de438faf54124f25c92e6fe4ac2e) I noticed that the Coverity checker also thought there were a few memory leaks in there. I took a closer look and confirmed that there were indeed several leaks. At the start of the function we allocate storage for a 'struct cr_panel' and store the pointer in a variable named 'crp'. Then we call pci_get_device() and pci_read_config_byte() and if either of them fail we return without freeing the memory allocated for the 'struct cr_panel'. These two leaks are easy to fix since we don't even use 'crp' for anything up to this point, so I simply moved the allocation further down in the function so it only happens just before we actually need it. A bit further down we call backlight_device_register() and store the result in 'crp->cr_backlight_device'. In case of error we return 'crp->cr_backlight_device' from the function, thus leaking 'crp' itself. The same thing happens with the call to lcd_device_register(). To fix these two leaks I declare two new pointers to hold the return values, so that in case of error we can return the pointer (as before) but without leaking 'crp'. This version of the patch also adds missing backlight_device_unregister() / lcd_device_unregister() / pci_dev_put() calls to error paths. Thanks to Richard Purdie <rpurdie@rpsys.net> for noticing. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* | backlight/leds: Make two structs staticAdrian Bunk2007-10-11
|/ | | | | | | | This patch makes two needlessly global structs static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlightLinus Torvalds2007-07-22
|\ | | | | | | | | | | | | * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight: leds: cr_bllcd.c: build fix backlight: Convert from struct class_device to struct device backlight: Fix order of Kconfig entries
| * leds: cr_bllcd.c: build fixAndrew Morton2007-07-22
| | | | | | | | | | | | | | Build fix for cr_bllcd.c Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
| * backlight: Convert from struct class_device to struct deviceRichard Purdie2007-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | Convert the backlight and LCD classes from struct class_device to struct device since class_device is scheduled for removal. One nasty API break is the backlight power attribute has had to be renamed to bl_power and the LCD power attribute has had to be renamed to lcd_power since the original names clash with the core. I can't see a way around this. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
| * backlight: Fix order of Kconfig entriesDavid Brownell2007-07-15
| | | | | | | | | | | | | | | | | | Switch the order of LCD_CLASS_DEVICE and BACKLIGHT_CLASS_DEVICE, so that it's possible to insert LCD devices without borking the dependency displays of xconfig and other config tools. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>