Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95323361 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab
Browse files

[media] media: i2c: Convert to gpio_request_one()



Replace gpio_request() with gpio_request_one() and remove the associated
gpio_direction_output() calls.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent c7e3cc3c
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -474,9 +474,9 @@ static int adv7183_s_stream(struct v4l2_subdev *sd, int enable)
	struct adv7183 *decoder = to_adv7183(sd);

	if (enable)
		gpio_direction_output(decoder->oe_pin, 0);
		gpio_set_value(decoder->oe_pin, 0);
	else
		gpio_direction_output(decoder->oe_pin, 1);
		gpio_set_value(decoder->oe_pin, 1);
	udelay(1);
	return 0;
}
@@ -580,13 +580,15 @@ static int adv7183_probe(struct i2c_client *client,
	decoder->reset_pin = pin_array[0];
	decoder->oe_pin = pin_array[1];

	if (gpio_request(decoder->reset_pin, "ADV7183 Reset")) {
	if (gpio_request_one(decoder->reset_pin, GPIOF_OUT_INIT_LOW,
			     "ADV7183 Reset")) {
		v4l_err(client, "failed to request GPIO %d\n", decoder->reset_pin);
		ret = -EBUSY;
		goto err_free_decoder;
	}

	if (gpio_request(decoder->oe_pin, "ADV7183 Output Enable")) {
	if (gpio_request_one(decoder->oe_pin, GPIOF_OUT_INIT_HIGH,
			     "ADV7183 Output Enable")) {
		v4l_err(client, "failed to request GPIO %d\n", decoder->oe_pin);
		ret = -EBUSY;
		goto err_free_reset;
@@ -619,12 +621,10 @@ static int adv7183_probe(struct i2c_client *client,
	decoder->input = ADV7183_COMPOSITE4;
	decoder->output = ADV7183_8BIT_OUT;

	gpio_direction_output(decoder->oe_pin, 1);
	/* reset chip */
	gpio_direction_output(decoder->reset_pin, 0);
	/* reset pulse width at least 5ms */
	mdelay(10);
	gpio_direction_output(decoder->reset_pin, 1);
	gpio_set_value(decoder->reset_pin, 1);
	/* wait 5ms before any further i2c writes are performed */
	mdelay(5);

+4 −2
Original line number Diff line number Diff line
@@ -930,6 +930,7 @@ static int m5mols_probe(struct i2c_client *client,
			const struct i2c_device_id *id)
{
	const struct m5mols_platform_data *pdata = client->dev.platform_data;
	unsigned long gpio_flags;
	struct m5mols_info *info;
	struct v4l2_subdev *sd;
	int ret;
@@ -956,12 +957,13 @@ static int m5mols_probe(struct i2c_client *client,
	info->pdata = pdata;
	info->set_power	= pdata->set_power;

	ret = gpio_request(pdata->gpio_reset, "M5MOLS_NRST");
	gpio_flags = pdata->reset_polarity
		   ? GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW;
	ret = gpio_request_one(pdata->gpio_reset, gpio_flags, "M5MOLS_NRST");
	if (ret) {
		dev_err(&client->dev, "Failed to request gpio: %d\n", ret);
		goto out_free;
	}
	gpio_direction_output(pdata->gpio_reset, pdata->reset_polarity);

	ret = regulator_bulk_get(&client->dev, ARRAY_SIZE(supplies), supplies);
	if (ret) {
+4 −4
Original line number Diff line number Diff line
@@ -746,24 +746,24 @@ static int noon010_probe(struct i2c_client *client,
	info->curr_win		= &noon010_sizes[0];

	if (gpio_is_valid(pdata->gpio_nreset)) {
		ret = gpio_request(pdata->gpio_nreset, "NOON010PC30 NRST");
		ret = gpio_request_one(pdata->gpio_nreset, GPIOF_OUT_INIT_LOW,
				       "NOON010PC30 NRST");
		if (ret) {
			dev_err(&client->dev, "GPIO request error: %d\n", ret);
			goto np_err;
		}
		info->gpio_nreset = pdata->gpio_nreset;
		gpio_direction_output(info->gpio_nreset, 0);
		gpio_export(info->gpio_nreset, 0);
	}

	if (gpio_is_valid(pdata->gpio_nstby)) {
		ret = gpio_request(pdata->gpio_nstby, "NOON010PC30 NSTBY");
		ret = gpio_request_one(pdata->gpio_nstby, GPIOF_OUT_INIT_LOW,
				      "NOON010PC30 NSTBY");
		if (ret) {
			dev_err(&client->dev, "GPIO request error: %d\n", ret);
			goto np_gpio_err;
		}
		info->gpio_nstby = pdata->gpio_nstby;
		gpio_direction_output(info->gpio_nstby, 0);
		gpio_export(info->gpio_nstby, 0);
	}

+1 −2
Original line number Diff line number Diff line
@@ -805,12 +805,11 @@ static int vs6624_probe(struct i2c_client *client,
	if (ce == NULL)
		return -EINVAL;

	ret = gpio_request(*ce, "VS6624 Chip Enable");
	ret = gpio_request_one(*ce, GPIOF_OUT_INIT_HIGH, "VS6624 Chip Enable");
	if (ret) {
		v4l_err(client, "failed to request GPIO %d\n", *ce);
		return ret;
	}
	gpio_direction_output(*ce, 1);
	/* wait 100ms before any further i2c writes are performed */
	mdelay(100);