123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /* Quanta I2C Backlight Driver
- *
- * Copyright (C) 2009 Quanta Computer Inc.
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
- /*
- *
- * The Driver with I/O communications via the I2C Interface for ST15 platform.
- * And it is only working on the nuvoTon WPCE775x Embedded Controller.
- *
- */
- #include <linux/module.h>
- #include <linux/leds.h>
- #include <linux/platform_device.h>
- #include <linux/delay.h>
- #include <linux/wpce775x.h>
- #define EC_CMD_SET_BACKLIGHT 0xB1
- static void qci_backlight_store(struct led_classdev *led_cdev,
- enum led_brightness val);
- static struct platform_device *bl_pdev;
- static struct led_classdev lcd_backlight = {
- .name = "lcd-backlight",
- .brightness = 147,
- .brightness_set = qci_backlight_store,
- };
- static void qci_backlight_store(struct led_classdev *led_cdev,
- enum led_brightness val)
- {
- u16 value = val;
- wpce_smbus_write_word_data(EC_CMD_SET_BACKLIGHT, value);
- msleep(10);
- dev_dbg(&bl_pdev->dev, "[backlight_store] : value = %d\n", value);
- }
- static int __init qci_backlight_init(void)
- {
- int err = 0;
- bl_pdev = platform_device_register_simple("backlight", 0, NULL, 0);
- err = led_classdev_register(&bl_pdev->dev, &lcd_backlight);
- return err;
- }
- static void __exit qci_backlight_exit(void)
- {
- led_classdev_unregister(&lcd_backlight);
- platform_device_unregister(bl_pdev);
- }
- module_init(qci_backlight_init);
- module_exit(qci_backlight_exit);
- MODULE_AUTHOR("Quanta Computer Inc.");
- MODULE_DESCRIPTION("Quanta Embedded Controller I2C Backlight Driver");
- MODULE_LICENSE("GPL v2");
|