leds: tca6507: use gpiochip data pointer
This makes the driver use the data pointer added to the gpio_chip to store a pointer to the state container instead of relying on container_of(). Cc: Riku Voipio <riku.voipio@iki.fi> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: linux-leds@vger.kernel.org Acked-by: Jacek Anaszewski <j.anaszewski@samsung.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
@@ -603,7 +603,7 @@ static int tca6507_blink_set(struct led_classdev *led_cdev,
|
|||||||
static void tca6507_gpio_set_value(struct gpio_chip *gc,
|
static void tca6507_gpio_set_value(struct gpio_chip *gc,
|
||||||
unsigned offset, int val)
|
unsigned offset, int val)
|
||||||
{
|
{
|
||||||
struct tca6507_chip *tca = container_of(gc, struct tca6507_chip, gpio);
|
struct tca6507_chip *tca = gpiochip_get_data(gc);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
spin_lock_irqsave(&tca->lock, flags);
|
spin_lock_irqsave(&tca->lock, flags);
|
||||||
@@ -655,7 +655,7 @@ static int tca6507_probe_gpios(struct i2c_client *client,
|
|||||||
#ifdef CONFIG_OF_GPIO
|
#ifdef CONFIG_OF_GPIO
|
||||||
tca->gpio.of_node = of_node_get(client->dev.of_node);
|
tca->gpio.of_node = of_node_get(client->dev.of_node);
|
||||||
#endif
|
#endif
|
||||||
err = gpiochip_add(&tca->gpio);
|
err = gpiochip_add_data(&tca->gpio, tca);
|
||||||
if (err) {
|
if (err) {
|
||||||
tca->gpio.ngpio = 0;
|
tca->gpio.ngpio = 0;
|
||||||
return err;
|
return err;
|
||||||
|
|||||||
Reference in New Issue
Block a user