| From e7e532a922ff67b9d063d55b8dc95d33e7d71aa6 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Johnson=20CH=20Chen=20=28=E9=99=B3=E6=98=AD=E5=8B=B3=29?= |
| <JohnsonCH.Chen@moxa.com> |
| Date: Tue, 26 Nov 2019 06:51:11 +0000 |
| Subject: [PATCH] gpio: mpc8xxx: Add platform device to gpiochip->parent |
| |
| commit 322f6a3182d42df18059a89c53b09d33919f755e upstream. |
| |
| Dear Linus Walleij, |
| |
| In old kernels, some APIs still try to use parent->of_node from struct gpio_chip, |
| and it could be resulted in kernel panic because parent is NULL. Adding platform |
| device to gpiochip->parent can fix this problem. |
| |
| Signed-off-by: Johnson Chen <johnsonch.chen@moxa.com> |
| Link: https://patchwork.kernel.org/patch/11234609 |
| Link: https://lore.kernel.org/r/HK0PR01MB3521489269F76467DFD7843FFA450@HK0PR01MB3521.apcprd01.prod.exchangelabs.com |
| Signed-off-by: Linus Walleij <linus.walleij@linaro.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/gpio/gpio-mpc8xxx.c b/drivers/gpio/gpio-mpc8xxx.c |
| index 3f10f9599f2c..1899d172590b 100644 |
| --- a/drivers/gpio/gpio-mpc8xxx.c |
| +++ b/drivers/gpio/gpio-mpc8xxx.c |
| @@ -317,6 +317,7 @@ static int mpc8xxx_probe(struct platform_device *pdev) |
| return -ENOMEM; |
| |
| gc = &mpc8xxx_gc->gc; |
| + gc->parent = &pdev->dev; |
| |
| if (of_property_read_bool(np, "little-endian")) { |
| ret = bgpio_init(gc, &pdev->dev, 4, |
| -- |
| 2.7.4 |
| |