static void asus_led_set_brightness(struct led_classdev *led_cdev,
	enum led_brightness value)
{
	struct led_info_data *led_dat = container_of(led_cdev, struct led_info_data, cdev);

	LED_INFO("%s +++ , brightness=%d, led=%s\n", __func__, value, led_dat->cdev.name);
#ifdef CONTROL_LED
	LED_INFO("disable_led_flag=%d\n", disable_led_flag);
#endif
#ifdef CONTROL_LED
	if(disable_led_flag==0) {
#endif
		if(value==0) {
			if(!strcmp(led_dat->cdev.name, "red")) {
				led_brightness_set(0, 0);
			}else if(!strcmp(led_dat->cdev.name, "green")) {
				led_brightness_set(1, 0);
			}
		}else if(value>0&&value<=255) {
			if(!strcmp(led_dat->cdev.name, "red")) {
				led_brightness_set(0, value);
			}else if(!strcmp(led_dat->cdev.name, "green")) {
				led_brightness_set(1, value);
			}
		}
#ifdef CONTROL_LED
	}
#endif
}
Esempio n. 2
0
static void timer_trig_deactivate(struct led_classdev *led_cdev)
{
	if (led_cdev->trigger_data) {
		device_remove_file(led_cdev->dev, &dev_attr_delay_on);
		device_remove_file(led_cdev->dev, &dev_attr_delay_off);
	}

	/* Stop blinking */
	led_brightness_set(led_cdev, LED_OFF);
}
Esempio n. 3
0
static void countdown_trig_deactivate(struct led_classdev *led_cdev)
{
    if (led_cdev->trigger_data) {
        device_remove_file(led_cdev->dev, &dev_attr_countdown);
    }

    /* Stop countdown */
    del_timer_sync(&timer_countdown);
    led_brightness_set(led_cdev, LED_OFF);
}
Esempio n. 4
0
/**
 * led_classdev_unregister - unregisters a object of led_properties class.
 * @led_cdev: the led device to unregister
 *
 * Unregisters a previously registered via led_classdev_register object.
 */
void led_classdev_unregister(struct led_classdev *led_cdev)
{
#ifdef CONFIG_LEDS_TRIGGERS
	down_write(&led_cdev->trigger_lock);
	if (led_cdev->trigger)
		led_trigger_set(led_cdev, NULL);
	up_write(&led_cdev->trigger_lock);
#endif

	/* Stop blinking */
	led_brightness_set(led_cdev, LED_OFF);

	device_unregister(led_cdev->dev);

	down_write(&leds_list_lock);
	list_del(&led_cdev->node);
	up_write(&leds_list_lock);
}
Esempio n. 5
0
/**
 * led_classdev_unregister - unregisters a object of led_properties class.
 * @led_cdev: the led device to unregister
 *
 * Unregisters a previously registered via led_classdev_register object.
 */
void led_classdev_unregister(struct led_classdev *led_cdev)
{
#ifdef CONFIG_LEDS_TRIGGERS
	down_write(&led_cdev->trigger_lock);
	if (led_cdev->trigger)
		led_trigger_set(led_cdev, NULL);
	up_write(&led_cdev->trigger_lock);
#endif


#ifdef CONFIG_YULONG_MODULE_MANAGEMENT	/* add by yanghao 2012/11/28 */
	yulong_unregister_module_management(led_cdev->led_module_manage);
	kfree(led_cdev->led_module_manage);
#endif

	/* Stop blinking */
	led_brightness_set(led_cdev, LED_OFF);

	device_unregister(led_cdev->dev);

	down_write(&leds_list_lock);
	list_del(&led_cdev->node);
	up_write(&leds_list_lock);
}
Esempio n. 6
0
static void countdown_func(unsigned long data)
{
    struct led_classdev *led_cdev = (struct led_classdev *) data;
    led_brightness_set(led_cdev, LED_OFF);
}