Commit 72db3335 authored by Jyri Sarha's avatar Jyri Sarha Committed by Bartlomiej Zolnierkiewicz
Browse files

fbdev: ssd1307fb: Start to use gpiod API for reset gpio



Start to use gpiod API for reset gpio.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Benoît Cousson <bcousson@baylibre.com>
Signed-off-by: default avatarJyri Sarha <jsarha@ti.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
parent b49898ce
Loading
Loading
Loading
Loading
+8 −17
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ struct ssd1307fb_par {
	u32 prechargep2;
	struct pwm_device *pwm;
	u32 pwm_period;
	int reset;
	struct gpio_desc *reset;
	u32 seg_remap;
	u32 vcomh;
	u32 width;
@@ -561,10 +561,11 @@ static int ssd1307fb_probe(struct i2c_client *client,

	par->device_info = of_device_get_match_data(&client->dev);

	par->reset = of_get_named_gpio(client->dev.of_node,
					 "reset-gpios", 0);
	if (!gpio_is_valid(par->reset)) {
		ret = -EINVAL;
	par->reset = devm_gpiod_get(&client->dev, "reset", GPIOD_OUT_LOW);
	if (IS_ERR(par->reset)) {
		dev_err(&client->dev, "failed to get reset gpio: %ld\n",
			PTR_ERR(par->reset));
		ret = PTR_ERR(par->reset);
		goto fb_alloc_error;
	}

@@ -642,22 +643,12 @@ static int ssd1307fb_probe(struct i2c_client *client,

	fb_deferred_io_init(info);

	ret = devm_gpio_request_one(&client->dev, par->reset,
				    GPIOF_OUT_INIT_HIGH,
				    "oled-reset");
	if (ret) {
		dev_err(&client->dev,
			"failed to request gpio %d: %d\n",
			par->reset, ret);
		goto reset_oled_error;
	}

	i2c_set_clientdata(client, info);

	/* Reset the screen */
	gpio_set_value(par->reset, 0);
	gpiod_set_value(par->reset, 0);
	udelay(4);
	gpio_set_value(par->reset, 1);
	gpiod_set_value(par->reset, 1);
	udelay(4);

	ret = ssd1307fb_init(par);