summaryrefslogtreecommitdiff
path: root/packages/linux/linux-2.6.27/progear/progear-bl.patch
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openembedded.org>2008-11-27 20:55:09 +0100
committerMarcin Juszkiewicz <hrw@openembedded.org>2008-11-27 20:55:09 +0100
commitb1ae267e2b6beb5e60ded3a23c20788c94054db1 (patch)
treeb7ba14fca7cf3eabffe17fd865a4e55b4c32c81d /packages/linux/linux-2.6.27/progear/progear-bl.patch
parenta3957793fcacb87edf416c269f1e1deb23c1f829 (diff)
linux: added 2.6.27 as default for Progear
Progear also use one update for backlight and experimental driver for AC status.
Diffstat (limited to 'packages/linux/linux-2.6.27/progear/progear-bl.patch')
-rw-r--r--packages/linux/linux-2.6.27/progear/progear-bl.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/packages/linux/linux-2.6.27/progear/progear-bl.patch b/packages/linux/linux-2.6.27/progear/progear-bl.patch
new file mode 100644
index 0000000000..7466239f30
--- /dev/null
+++ b/packages/linux/linux-2.6.27/progear/progear-bl.patch
@@ -0,0 +1,45 @@
+
+This change also fixes error handling when platform_device_alloc() fails.
+(When platform_device_alloc() failed, it returns error without
+unregistering progearbl_driver)
+
+Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
+Cc: Marcin Juszkiewicz <linux@hrw.one.pl>
+Cc: Richard Purdie <rpurdie@rpsys.net>
+---
+ drivers/video/backlight/progear_bl.c | 20 ++++++++------------
+ 1 file changed, 8 insertions(+), 12 deletions(-)
+
+Index: 2.6-git/drivers/video/backlight/progear_bl.c
+===================================================================
+--- 2.6-git.orig/drivers/video/backlight/progear_bl.c
++++ 2.6-git/drivers/video/backlight/progear_bl.c
+@@ -119,20 +119,16 @@ static int __init progearbl_init(void)
+ {
+ int ret = platform_driver_register(&progearbl_driver);
+
+- if (!ret) {
+- progearbl_device = platform_device_alloc("progear-bl", -1);
+- if (!progearbl_device)
+- return -ENOMEM;
+-
+- ret = platform_device_add(progearbl_device);
+-
+- if (ret) {
+- platform_device_put(progearbl_device);
+- platform_driver_unregister(&progearbl_driver);
+- }
++ if (ret)
++ return ret;
++ progearbl_device = platform_device_register_simple("progear-bl", -1,
++ NULL, 0);
++ if (IS_ERR(progearbl_device)) {
++ platform_driver_unregister(&progearbl_driver);
++ return PTR_ERR(progearbl_device);
+ }
+
+- return ret;
++ return 0;
+ }
+
+ static void __exit progearbl_exit(void)