diff options
author | Michael Tretter <m.tretter@pengutronix.de> | 2021-12-23 17:04:02 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2022-01-03 09:06:19 +0100 |
commit | 576e37e0e1d6dd86065d3e9f7615156c5872393f (patch) | |
tree | 50626ac3b1964f13efb26c9184ab7629f25c3c07 /drivers/video/ssd1307fb.c | |
parent | 7b530d907d957205984f4be70b5a15c24b5cb779 (diff) | |
download | barebox-576e37e0e1d6dd86065d3e9f7615156c5872393f.tar.gz barebox-576e37e0e1d6dd86065d3e9f7615156c5872393f.tar.xz |
video: ssd1307fb: move i2c setup to single place
By having the entire i2c dependent initialzation in a single place, it
is easier to make it optional later.
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Link: https://lore.barebox.org/20211223160404.119970-7-m.tretter@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/video/ssd1307fb.c')
-rw-r--r-- | drivers/video/ssd1307fb.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/video/ssd1307fb.c b/drivers/video/ssd1307fb.c index 88c88e3253..1538a1b640 100644 --- a/drivers/video/ssd1307fb.c +++ b/drivers/video/ssd1307fb.c @@ -387,7 +387,6 @@ static const struct of_device_id ssd1307fb_of_match[] = { static int ssd1307fb_probe(struct device_d *dev) { - struct i2c_client *client = to_i2c_client(dev); struct fb_info *info; struct device_node *node = dev->device_node; const struct of_device_id *match = @@ -410,10 +409,12 @@ static int ssd1307fb_probe(struct device_d *dev) info->priv = par; par->info = info; - par->client = client; par->device_info = (struct ssd1307fb_deviceinfo *)match->data; + par->client = to_i2c_client(dev); + i2c_set_clientdata(par->client, par); + par->reset = of_get_named_gpio_flags(node, "reset-gpios", 0, &of_flags); if (!gpio_is_valid(par->reset) && par->reset == -EPROBE_DEFER) { @@ -519,8 +520,6 @@ static int ssd1307fb_probe(struct device_d *dev) if (ret < 0) goto reset_oled_error; - i2c_set_clientdata(client, info); - if (par->reset > 0) { /* Reset the screen */ gpio_set_active(par->reset, 1); |