Commit cfacae58 authored by Nuno Sá's avatar Nuno Sá Committed by Dmitry Torokhov
Browse files

Input: adp5588-keys - add optional reset gpio

parent e22d21d3
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include <linux/bits.h>
#include <linux/delay.h>
#include <linux/errno.h>
#include <linux/gpio/consumer.h>
#include <linux/gpio/driver.h>
#include <linux/i2c.h>
#include <linux/input.h>
@@ -716,6 +717,7 @@ static int adp5588_probe(struct i2c_client *client,
{
	struct adp5588_kpad *kpad;
	struct input_dev *input;
	struct gpio_desc *gpio;
	unsigned int revid;
	int ret;
	int error;
@@ -741,6 +743,16 @@ static int adp5588_probe(struct i2c_client *client,
	if (error)
		return error;

	gpio = devm_gpiod_get_optional(&client->dev, "reset", GPIOD_OUT_HIGH);
	if (IS_ERR(gpio))
		return PTR_ERR(gpio);

	if (gpio) {
		fsleep(30);
		gpiod_set_value_cansleep(gpio, 0);
		fsleep(60);
	}

	ret = adp5588_read(client, DEV_ID);
	if (ret < 0)
		return ret;