summaryrefslogtreecommitdiffstats
path: root/drivers/video/ssd1307fb.c
diff options
context:
space:
mode:
authorMichael Tretter <m.tretter@pengutronix.de>2021-12-23 17:04:02 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2022-01-03 09:06:19 +0100
commit576e37e0e1d6dd86065d3e9f7615156c5872393f (patch)
tree50626ac3b1964f13efb26c9184ab7629f25c3c07 /drivers/video/ssd1307fb.c
parent7b530d907d957205984f4be70b5a15c24b5cb779 (diff)
downloadbarebox-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.c7
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);