aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/leds/leds-gpio.c
diff options
context:
space:
mode:
authorHeiner Kallweit <hkallweit1@gmail.com>2016-09-14 14:55:00 -0400
committerJacek Anaszewski <j.anaszewski@samsung.com>2016-09-15 10:49:40 -0400
commit4580809436fc391aff9d876a14d07f66a5de6b28 (patch)
tree9b67c6bf62acf0df033a8dea2ba9b1f43f40f747 /drivers/leds/leds-gpio.c
parent061b5c1d013a94af385ba8980ea3b2617f1ff0f6 (diff)
leds: gpio: add helper cdev_to_gpio_led_data
Add a helper for the container_of as it's used more than once. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Diffstat (limited to 'drivers/leds/leds-gpio.c')
-rw-r--r--drivers/leds/leds-gpio.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
index 10c851ecc6ce..da4aa8e95a58 100644
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -29,11 +29,16 @@ struct gpio_led_data {
29 gpio_blink_set_t platform_gpio_blink_set; 29 gpio_blink_set_t platform_gpio_blink_set;
30}; 30};
31 31
32static inline struct gpio_led_data *
33 cdev_to_gpio_led_data(struct led_classdev *led_cdev)
34{
35 return container_of(led_cdev, struct gpio_led_data, cdev);
36}
37
32static void gpio_led_set(struct led_classdev *led_cdev, 38static void gpio_led_set(struct led_classdev *led_cdev,
33 enum led_brightness value) 39 enum led_brightness value)
34{ 40{
35 struct gpio_led_data *led_dat = 41 struct gpio_led_data *led_dat = cdev_to_gpio_led_data(led_cdev);
36 container_of(led_cdev, struct gpio_led_data, cdev);
37 int level; 42 int level;
38 43
39 if (value == LED_OFF) 44 if (value == LED_OFF)
@@ -63,8 +68,7 @@ static int gpio_led_set_blocking(struct led_classdev *led_cdev,
63static int gpio_blink_set(struct led_classdev *led_cdev, 68static int gpio_blink_set(struct led_classdev *led_cdev,
64 unsigned long *delay_on, unsigned long *delay_off) 69 unsigned long *delay_on, unsigned long *delay_off)
65{ 70{
66 struct gpio_led_data *led_dat = 71 struct gpio_led_data *led_dat = cdev_to_gpio_led_data(led_cdev);
67 container_of(led_cdev, struct gpio_led_data, cdev);
68 72
69 led_dat->blinking = 1; 73 led_dat->blinking = 1;
70 return led_dat->platform_gpio_blink_set(led_dat->gpiod, GPIO_LED_BLINK, 74 return led_dat->platform_gpio_blink_set(led_dat->gpiod, GPIO_LED_BLINK,