|
@@ -14,6 +14,7 @@
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/init.h>
|
|
|
#include <linux/gpio.h>
|
|
|
+#include <linux/gpio/consumer.h>
|
|
|
#include <linux/interrupt.h>
|
|
|
#include <linux/i2c.h>
|
|
|
#include <linux/platform_data/pca953x.h>
|
|
@@ -754,8 +755,16 @@ static int pca953x_probe(struct i2c_client *client,
|
|
|
invert = pdata->invert;
|
|
|
chip->names = pdata->names;
|
|
|
} else {
|
|
|
+ struct gpio_desc *reset_gpio;
|
|
|
+
|
|
|
chip->gpio_start = -1;
|
|
|
irq_base = 0;
|
|
|
+
|
|
|
+ /* See if we need to de-assert a reset pin */
|
|
|
+ reset_gpio = devm_gpiod_get_optional(&client->dev, "reset",
|
|
|
+ GPIOD_OUT_LOW);
|
|
|
+ if (IS_ERR(reset_gpio))
|
|
|
+ return PTR_ERR(reset_gpio);
|
|
|
}
|
|
|
|
|
|
chip->client = client;
|