]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.19.41/gpio-mxc-add-check-to-return-defer-probe-if-clock-tree-not-ready.patch
5.1-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 4.19.41 / gpio-mxc-add-check-to-return-defer-probe-if-clock-tree-not-ready.patch
1 From a329bbe707cee2cf8c660890ef2ad0d00ec7e8a3 Mon Sep 17 00:00:00 2001
2 From: Anson Huang <anson.huang@nxp.com>
3 Date: Sat, 23 Feb 2019 03:18:25 +0000
4 Subject: gpio: mxc: add check to return defer probe if clock tree NOT ready
5
6 From: Anson Huang <anson.huang@nxp.com>
7
8 commit a329bbe707cee2cf8c660890ef2ad0d00ec7e8a3 upstream.
9
10 On i.MX8MQ platform, clock driver uses platform driver
11 model and it is probed after GPIO driver, so when GPIO
12 driver fails to get clock, it should check the error type
13 to decide whether to return defer probe or just ignore
14 the clock operation.
15
16 Fixes: 2808801aab8a ("gpio: mxc: add clock operation")
17 Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
18 Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
19 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20
21 ---
22 drivers/gpio/gpio-mxc.c | 5 ++++-
23 1 file changed, 4 insertions(+), 1 deletion(-)
24
25 --- a/drivers/gpio/gpio-mxc.c
26 +++ b/drivers/gpio/gpio-mxc.c
27 @@ -438,8 +438,11 @@ static int mxc_gpio_probe(struct platfor
28
29 /* the controller clock is optional */
30 port->clk = devm_clk_get(&pdev->dev, NULL);
31 - if (IS_ERR(port->clk))
32 + if (IS_ERR(port->clk)) {
33 + if (PTR_ERR(port->clk) == -EPROBE_DEFER)
34 + return -EPROBE_DEFER;
35 port->clk = NULL;
36 + }
37
38 err = clk_prepare_enable(port->clk);
39 if (err) {