|
@@ -66,7 +66,7 @@ static int i2c_mux_gpio_probe_dt(struct gpiomux *mux,
|
|
|
struct device_node *adapter_np, *child;
|
|
|
struct i2c_adapter *adapter;
|
|
|
unsigned *values, *gpios;
|
|
|
- int i = 0;
|
|
|
+ int i = 0, ret;
|
|
|
|
|
|
if (!np)
|
|
|
return -ENODEV;
|
|
@@ -116,8 +116,12 @@ static int i2c_mux_gpio_probe_dt(struct gpiomux *mux,
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
|
|
|
- for (i = 0; i < mux->data.n_gpios; i++)
|
|
|
- gpios[i] = of_get_named_gpio(np, "mux-gpios", i);
|
|
|
+ for (i = 0; i < mux->data.n_gpios; i++) {
|
|
|
+ ret = of_get_named_gpio(np, "mux-gpios", i);
|
|
|
+ if (ret < 0)
|
|
|
+ return ret;
|
|
|
+ gpios[i] = ret;
|
|
|
+ }
|
|
|
|
|
|
mux->data.gpios = gpios;
|
|
|
|