Commit c724c8cb6204e3e451258ebbc23b0a8c15a54503

registering backlight as REAL backlight (needs perhaps some cleanup... e.g. by GNUtoo)
  
77#include <linux/platform_device.h>
88#include <linux/delay.h>
99#include <linux/leds.h>
10#include <linux/backlight.h>
1011#include <linux/clk.h>
1112#include <linux/err.h>
1213
513513 return ret;
514514}
515515
516static void trout_brightness_set(struct led_classdev *led_cdev, enum led_brightness value)
516static int trout_brightness_set(struct led_classdev *led_cdev, enum led_brightness value)
517517{
518518 mutex_lock(&trout_backlight_lock);
519519 trout_backlight_brightness = value;
520520 if(!trout_backlight_off)
521521 trout_set_backlight_level(trout_backlight_brightness);
522522 mutex_unlock(&trout_backlight_lock);
523 return 0;
523524}
524525
525526static struct led_classdev trout_backlight_led = {
529529 .brightness_set = trout_brightness_set,
530530};
531531
532static int trout_backlight_get_brightness(void){return trout_backlight_last_level;}
533
534static struct backlight_ops trout_backlight_ops = {
535 .options = BL_CORE_SUSPENDRESUME,
536 .update_status = trout_brightness_set,
537 .get_brightness = trout_backlight_get_brightness,
538};
539
532540static int trout_backlight_probe(struct platform_device *pdev)
533541{
534 led_classdev_register(&pdev->dev, &trout_backlight_led);
542 //led_classdev_register(&pdev->dev, &trout_backlight_led);
543 backlight_device_register("trout-backlight", &pdev->dev, NULL, &trout_backlight_ops);
535544 return 0;
536545}
537546
538547static int trout_backlight_remove(struct platform_device *pdev)
539548{
540 led_classdev_unregister(&trout_backlight_led);
549 struct backlight_device *bl = platform_get_drvdata(pdev);
550 backlight_device_unregister(bl);
551// led_classdev_unregister(&trout_backlight_led);
541552 return 0;
542553}
543554
648648 rc = platform_device_register(&msm_device_mddi0);
649649 if (rc)
650650 return rc;
651// platform_device_register(&trout_backlight);
652// return platform_driver_register(&trout_backlight_driver);
653 return 0;
651 platform_device_register(&trout_backlight);
652 return platform_driver_register(&trout_backlight_driver);
654653}
655654
656655device_initcall(trout_init_panel);