From: Guenter Roeck Date: Thu, 7 Jan 2016 16:24:58 +0000 (-0800) Subject: gpio: mm-lantiq: Do not use gpiochip_get_data() in ltq_mm_save_regs() X-Git-Tag: v5.15~14383^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=95c761705ef5c2f094c56c4b779e74958246f2aa;p=platform%2Fkernel%2Flinux-starfive.git gpio: mm-lantiq: Do not use gpiochip_get_data() in ltq_mm_save_regs() Commit 6aa7dbfa2877 ("gpio: mm-lantiq: use gpiochip data pointer") replaces the use of container_of() with gpiochip_get_data(). However, the data pointer is not yet set by the time the save_regs function is called. Fixes: 6aa7dbfa2877 ("gpio: mm-lantiq: use gpiochip data pointer") Cc: Ricardo Ribalda Delgado Cc: John Crispin Signed-off-by: Guenter Roeck Signed-off-by: Linus Walleij --- diff --git a/drivers/gpio/gpio-mm-lantiq.c b/drivers/gpio/gpio-mm-lantiq.c index a2071ed..54e5d82 100644 --- a/drivers/gpio/gpio-mm-lantiq.c +++ b/drivers/gpio/gpio-mm-lantiq.c @@ -91,7 +91,8 @@ static int ltq_mm_dir_out(struct gpio_chip *gc, unsigned offset, int value) */ static void ltq_mm_save_regs(struct of_mm_gpio_chip *mm_gc) { - struct ltq_mm *chip = gpiochip_get_data(&mm_gc->gc); + struct ltq_mm *chip = + container_of(mm_gc, struct ltq_mm, mmchip); /* tell the ebu controller which memory address we will be using */ ltq_ebu_w32(CPHYSADDR(chip->mmchip.regs) | 0x1, LTQ_EBU_ADDRSEL1);