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 }
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); }
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); }
/** * 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); }
/** * 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); }
static void countdown_func(unsigned long data) { struct led_classdev *led_cdev = (struct led_classdev *) data; led_brightness_set(led_cdev, LED_OFF); }