ledtrig-timer.c (033692eb3ec8305f6e9998b297aaec6899680637) ledtrig-timer.c (2282e125a406e09331c5a785e3df29035c99a607)
1/*
2 * LED Kernel Timer Trigger
3 *
4 * Copyright 2005-2006 Openedhand Ltd.
5 *
6 * Author: Richard Purdie <rpurdie@openedhand.com>
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 56 unchanged lines hidden (view full) ---

65 led_cdev->blink_delay_off = state;
66
67 return size;
68}
69
70static DEVICE_ATTR(delay_on, 0644, led_delay_on_show, led_delay_on_store);
71static DEVICE_ATTR(delay_off, 0644, led_delay_off_show, led_delay_off_store);
72
1/*
2 * LED Kernel Timer Trigger
3 *
4 * Copyright 2005-2006 Openedhand Ltd.
5 *
6 * Author: Richard Purdie <rpurdie@openedhand.com>
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 56 unchanged lines hidden (view full) ---

65 led_cdev->blink_delay_off = state;
66
67 return size;
68}
69
70static DEVICE_ATTR(delay_on, 0644, led_delay_on_show, led_delay_on_store);
71static DEVICE_ATTR(delay_off, 0644, led_delay_off_show, led_delay_off_store);
72
73static void timer_trig_activate(struct led_classdev *led_cdev)
73static int timer_trig_activate(struct led_classdev *led_cdev)
74{
75 int rc;
76
77 led_cdev->trigger_data = NULL;
78
79 rc = device_create_file(led_cdev->dev, &dev_attr_delay_on);
80 if (rc)
74{
75 int rc;
76
77 led_cdev->trigger_data = NULL;
78
79 rc = device_create_file(led_cdev->dev, &dev_attr_delay_on);
80 if (rc)
81 return;
81 return 0;
82 rc = device_create_file(led_cdev->dev, &dev_attr_delay_off);
83 if (rc)
84 goto err_out_delayon;
85
86 led_blink_set(led_cdev, &led_cdev->blink_delay_on,
87 &led_cdev->blink_delay_off);
88 led_cdev->activated = true;
89
82 rc = device_create_file(led_cdev->dev, &dev_attr_delay_off);
83 if (rc)
84 goto err_out_delayon;
85
86 led_blink_set(led_cdev, &led_cdev->blink_delay_on,
87 &led_cdev->blink_delay_off);
88 led_cdev->activated = true;
89
90 return;
90 return 0;
91
92err_out_delayon:
93 device_remove_file(led_cdev->dev, &dev_attr_delay_on);
91
92err_out_delayon:
93 device_remove_file(led_cdev->dev, &dev_attr_delay_on);
94
95 return 0;
94}
95
96static void timer_trig_deactivate(struct led_classdev *led_cdev)
97{
98 if (led_cdev->activated) {
99 device_remove_file(led_cdev->dev, &dev_attr_delay_on);
100 device_remove_file(led_cdev->dev, &dev_attr_delay_off);
101 led_cdev->activated = false;

--- 28 unchanged lines hidden ---
96}
97
98static void timer_trig_deactivate(struct led_classdev *led_cdev)
99{
100 if (led_cdev->activated) {
101 device_remove_file(led_cdev->dev, &dev_attr_delay_on);
102 device_remove_file(led_cdev->dev, &dev_attr_delay_off);
103 led_cdev->activated = false;

--- 28 unchanged lines hidden ---