i2c: gpio: OF gpio code does not handle defered probe case
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / i2c / busses / i2c-gpio.c
index d9f7e18..02d2d4a 100644 (file)
@@ -94,6 +94,9 @@ static int of_i2c_gpio_get_pins(struct device_node *np,
        *sda_pin = of_get_gpio(np, 0);
        *scl_pin = of_get_gpio(np, 1);
 
+       if (*sda_pin == -EPROBE_DEFER || *scl_pin == -EPROBE_DEFER)
+               return -EPROBE_DEFER;
+
        if (!gpio_is_valid(*sda_pin) || !gpio_is_valid(*scl_pin)) {
                pr_err("%s: invalid GPIO pins, sda=%d/scl=%d\n",
                       np->full_name, *sda_pin, *scl_pin);