| |   |
| 7 | 7 | #include <linux/platform_device.h> |
| 8 | 8 | #include <linux/delay.h> |
| 9 | 9 | #include <linux/leds.h> |
| #include <linux/backlight.h> |
| 10 | 11 | #include <linux/clk.h> |
| 11 | 12 | #include <linux/err.h> |
| 12 | 13 | |
| … | … | |
| 513 | 513 | return ret; |
| 514 | 514 | } |
| 515 | 515 | |
| static void trout_brightness_set(struct led_classdev *led_cdev, enum led_brightness value) |
| static int trout_brightness_set(struct led_classdev *led_cdev, enum led_brightness value) |
| 517 | 517 | { |
| 518 | 518 | mutex_lock(&trout_backlight_lock); |
| 519 | 519 | trout_backlight_brightness = value; |
| 520 | 520 | if(!trout_backlight_off) |
| 521 | 521 | trout_set_backlight_level(trout_backlight_brightness); |
| 522 | 522 | mutex_unlock(&trout_backlight_lock); |
| return 0; |
| 523 | 524 | } |
| 524 | 525 | |
| 525 | 526 | static struct led_classdev trout_backlight_led = { |
| … | … | |
| 529 | 529 | .brightness_set = trout_brightness_set, |
| 530 | 530 | }; |
| 531 | 531 | |
| static int trout_backlight_get_brightness(void){return trout_backlight_last_level;} |
|
| static struct backlight_ops trout_backlight_ops = { |
| .options = BL_CORE_SUSPENDRESUME, |
| .update_status = trout_brightness_set, |
| .get_brightness = trout_backlight_get_brightness, |
| }; |
|
| 532 | 540 | static int trout_backlight_probe(struct platform_device *pdev) |
| 533 | 541 | { |
| led_classdev_register(&pdev->dev, &trout_backlight_led); |
| //led_classdev_register(&pdev->dev, &trout_backlight_led); |
| backlight_device_register("trout-backlight", &pdev->dev, NULL, &trout_backlight_ops); |
| 535 | 544 | return 0; |
| 536 | 545 | } |
| 537 | 546 | |
| 538 | 547 | static int trout_backlight_remove(struct platform_device *pdev) |
| 539 | 548 | { |
| led_classdev_unregister(&trout_backlight_led); |
| struct backlight_device *bl = platform_get_drvdata(pdev); |
| backlight_device_unregister(bl); |
| // led_classdev_unregister(&trout_backlight_led); |
| 541 | 552 | return 0; |
| 542 | 553 | } |
| 543 | 554 | |
| … | … | |
| 648 | 648 | rc = platform_device_register(&msm_device_mddi0); |
| 649 | 649 | if (rc) |
| 650 | 650 | return rc; |
| // platform_device_register(&trout_backlight); |
| // return platform_driver_register(&trout_backlight_driver); |
| return 0; |
| platform_device_register(&trout_backlight); |
| return platform_driver_register(&trout_backlight_driver); |
| 654 | 653 | } |
| 655 | 654 | |
| 656 | 655 | device_initcall(trout_init_panel); |