diff --git a/drivers/i2c/muxes/i2c-mux-pca954x.c b/drivers/i2c/muxes/i2c-mux-pca954x.c index baeae7bb9..0d5515b71 100644 --- a/drivers/i2c/muxes/i2c-mux-pca954x.c +++ b/drivers/i2c/muxes/i2c-mux-pca954x.c @@ -45,6 +45,8 @@ #include #include #include +#include +#include #define PCA954X_MAX_NCHANS 8 @@ -179,6 +181,7 @@ static int pca954x_probe(struct device_d *dev) int num, force; struct pca954x *data; int ret = -ENODEV; + int gpio; data = kzalloc(sizeof(struct pca954x), GFP_KERNEL); if (!data) { @@ -188,6 +191,10 @@ static int pca954x_probe(struct device_d *dev) i2c_set_clientdata(client, data); + gpio = of_get_named_gpio(dev->device_node, "reset-gpios", 0); + if (gpio_is_valid(gpio)) + gpio_direction_output(gpio, 1); + /* Read the mux register at addr to verify * that the mux is in fact present. */