static int rt_timer_remove(struct platform_device *pdev) { struct rt_timer *rt = platform_get_drvdata(pdev); rt_timer_disable(rt); rt_timer_free(rt); return 0; }
static int rt_timer_remove(struct platform_device *pdev) { struct rt_timer *rt = platform_get_drvdata(pdev); led_trigger_unregister(&rt->led_trigger); rt_timer_disable(rt); rt_timer_free(rt); return 0; }
static void rt_timer_trig_deactivate(struct led_classdev *led_cdev) { struct rt_timer *rt = container_of(led_cdev->trigger, struct rt_timer, led_trigger); struct rt_timer_gpio *gpio_data = (struct rt_timer_gpio*) led_cdev->trigger_data; if (led_cdev->activated) { device_remove_file(led_cdev->dev, &dev_attr_duty_cycle); device_remove_file(led_cdev->dev, &dev_attr_fade); led_cdev->activated = false; } list_del(&gpio_data->list); rt_timer_disable(rt); led_set_brightness(led_cdev, LED_OFF); }