Commit 45808094 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Jacek Anaszewski

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: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
parent 061b5c1d
...@@ -29,11 +29,16 @@ struct gpio_led_data { ...@@ -29,11 +29,16 @@ struct gpio_led_data {
gpio_blink_set_t platform_gpio_blink_set; gpio_blink_set_t platform_gpio_blink_set;
}; };
static inline struct gpio_led_data *
cdev_to_gpio_led_data(struct led_classdev *led_cdev)
{
return container_of(led_cdev, struct gpio_led_data, cdev);
}
static void gpio_led_set(struct led_classdev *led_cdev, static void gpio_led_set(struct led_classdev *led_cdev,
enum led_brightness value) enum led_brightness value)
{ {
struct gpio_led_data *led_dat = struct gpio_led_data *led_dat = cdev_to_gpio_led_data(led_cdev);
container_of(led_cdev, struct gpio_led_data, cdev);
int level; int level;
if (value == LED_OFF) if (value == LED_OFF)
...@@ -63,8 +68,7 @@ static int gpio_led_set_blocking(struct led_classdev *led_cdev, ...@@ -63,8 +68,7 @@ static int gpio_led_set_blocking(struct led_classdev *led_cdev,
static int gpio_blink_set(struct led_classdev *led_cdev, static int gpio_blink_set(struct led_classdev *led_cdev,
unsigned long *delay_on, unsigned long *delay_off) unsigned long *delay_on, unsigned long *delay_off)
{ {
struct gpio_led_data *led_dat = struct gpio_led_data *led_dat = cdev_to_gpio_led_data(led_cdev);
container_of(led_cdev, struct gpio_led_data, cdev);
led_dat->blinking = 1; led_dat->blinking = 1;
return led_dat->platform_gpio_blink_set(led_dat->gpiod, GPIO_LED_BLINK, return led_dat->platform_gpio_blink_set(led_dat->gpiod, GPIO_LED_BLINK,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment