diff options
| author | Javier Martinez Canillas <javierm@redhat.com> | 2025-07-15 13:03:52 +0200 | 
|---|---|---|
| committer | Javier Martinez Canillas <javierm@redhat.com> | 2025-07-16 12:12:38 +0200 | 
| commit | d9ace6d5508020040fa39edbc72a1c544a99bbbe (patch) | |
| tree | 75390d7b7f2b82f16f196171d96dc8582b00eab3 | |
| parent | 720799d9462ccade1deb8d05d8b63e2cfd7f4e41 (diff) | |
drm/sitronix/st7571-i2c: Add an indirection level to parse DT
Other Sitronix display controllers might need a different parsing DT
logic, so lets add a .parse_dt callback to struct st7571_panel_data.
Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Link: https://lore.kernel.org/r/20250715110411.448343-4-javierm@redhat.com
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
| -rw-r--r-- | drivers/gpu/drm/sitronix/st7571-i2c.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/drivers/gpu/drm/sitronix/st7571-i2c.c b/drivers/gpu/drm/sitronix/st7571-i2c.c index fd9d6c701cc4..f9c4fedb3cca 100644 --- a/drivers/gpu/drm/sitronix/st7571-i2c.c +++ b/drivers/gpu/drm/sitronix/st7571-i2c.c @@ -92,6 +92,7 @@ struct st7571_panel_constraints {  struct st7571_panel_data {  	int (*init)(struct st7571_device *st7571); +	int (*parse_dt)(struct st7571_device *st7571);  	struct st7571_panel_constraints constraints;  }; @@ -881,7 +882,7 @@ static int st7571_probe(struct i2c_client *client)  	i2c_set_clientdata(client, st7571);  	st7571->pdata = device_get_match_data(&client->dev); -	ret = st7571_parse_dt(st7571); +	ret = st7571->pdata->parse_dt(st7571);  	if (ret)  		return ret; @@ -964,6 +965,7 @@ static void st7571_remove(struct i2c_client *client)  struct st7571_panel_data st7571_config = {  	.init = st7571_lcd_init, +	.parse_dt = st7571_parse_dt,  	.constraints = {  		.min_nlines = 1,  		.max_nlines = 128, | 
