mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] video: reunite fb devices with their hardware parent
@ 2021-05-27 12:44 Ahmad Fatoum
  2021-05-31  7:13 ` Sascha Hauer
  0 siblings, 1 reply; 5+ messages in thread
From: Ahmad Fatoum @ 2021-05-27 12:44 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

So far, only sdlfb and efi associated the framebuffer device they
register with the hardware device providing it.

Follow suit for all other frame buffers.  This enables devinfo
to display parentage.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 drivers/video/atmel_lcdfb_core.c | 1 +
 drivers/video/bcm2835.c          | 1 +
 drivers/video/bochs/bochs_hw.c   | 1 +
 drivers/video/imx-ipu-fb.c       | 2 ++
 drivers/video/imx-ipu-v3/ipufb.c | 1 +
 drivers/video/imx.c              | 2 ++
 drivers/video/omap.c             | 1 +
 drivers/video/pxa.c              | 1 +
 drivers/video/s3c24xx.c          | 1 +
 drivers/video/simplefb-client.c  | 1 +
 drivers/video/ssd1307fb.c        | 1 +
 drivers/video/stm.c              | 1 +
 12 files changed, 14 insertions(+)

diff --git a/drivers/video/atmel_lcdfb_core.c b/drivers/video/atmel_lcdfb_core.c
index daabfe92d2ca..e7e420d38f86 100644
--- a/drivers/video/atmel_lcdfb_core.c
+++ b/drivers/video/atmel_lcdfb_core.c
@@ -489,6 +489,7 @@ int atmel_lcdc_register(struct device_d *dev, struct atmel_lcdfb_devdata *data)
 		sinfo->dma_desc = dma_alloc_coherent(data->dma_desc_size,
 						     DMA_ADDRESS_BROKEN);
 
+	info->dev.parent = dev;
 	ret = register_framebuffer(info);
 	if (ret != 0) {
 		dev_err(dev, "Failed to register framebuffer\n");
diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c
index 3d52f8b6b8e7..d808bc5c9fa3 100644
--- a/drivers/video/bcm2835.c
+++ b/drivers/video/bcm2835.c
@@ -118,6 +118,7 @@ static int bcm2835fb_probe(struct device_d *dev)
 	info->fbi.mode->xres = info->fbi.xres;
 	info->fbi.mode->yres = info->fbi.yres;
 
+	info->fbi.dev.parent = dev;
 	ret = register_framebuffer(&info->fbi);
 	if (ret) {
 		free(info);
diff --git a/drivers/video/bochs/bochs_hw.c b/drivers/video/bochs/bochs_hw.c
index 252350aebb5a..debdd36941f4 100644
--- a/drivers/video/bochs/bochs_hw.c
+++ b/drivers/video/bochs/bochs_hw.c
@@ -201,5 +201,6 @@ int bochs_hw_probe(struct device_d *dev, void __iomem *fb_map, void __iomem *mmi
 	fb->priv = bochs;
 	fb->fbops = &bochs_fb_ops;
 
+	fb->dev.parent = dev;
 	return register_framebuffer(fb);
 }
diff --git a/drivers/video/imx-ipu-fb.c b/drivers/video/imx-ipu-fb.c
index a3f195373b4e..f39b74676cde 100644
--- a/drivers/video/imx-ipu-fb.c
+++ b/drivers/video/imx-ipu-fb.c
@@ -969,6 +969,7 @@ static int sdc_fb_register_overlay(struct ipu_fb_info *fbi, void *fb)
 
 	sdc_enable_channel(fbi, overlay->screen_base, IDMAC_SDC_1);
 
+	fbi->overlay.dev.parent = &fbi->info.dev;
 	ret = register_framebuffer(&fbi->overlay);
 	if (ret < 0) {
 		dev_err(fbi->dev, "failed to register framebuffer\n");
@@ -1039,6 +1040,7 @@ static int imxfb_probe(struct device_d *dev)
 
 	sdc_enable_channel(fbi, info->screen_base, IDMAC_SDC_0);
 
+	fbi->info.dev.parent = dev;
 	ret = register_framebuffer(&fbi->info);
 	if (ret < 0) {
 		dev_err(dev, "failed to register framebuffer\n");
diff --git a/drivers/video/imx-ipu-v3/ipufb.c b/drivers/video/imx-ipu-v3/ipufb.c
index 0b5391643450..68e87ff3fb8f 100644
--- a/drivers/video/imx-ipu-v3/ipufb.c
+++ b/drivers/video/imx-ipu-v3/ipufb.c
@@ -336,6 +336,7 @@ static int ipufb_probe(struct device_d *dev)
 		if (ret)
 			dev_dbg(fbi->dev, "failed to get modes: %s\n", strerror(-ret));
 
+		info->dev.parent = dev;
 		ret = register_framebuffer(info);
 		if (ret < 0) {
 			dev_err(fbi->dev, "failed to register framebuffer\n");
diff --git a/drivers/video/imx.c b/drivers/video/imx.c
index e93859775a60..f4f58b3ce353 100644
--- a/drivers/video/imx.c
+++ b/drivers/video/imx.c
@@ -514,6 +514,7 @@ static int imxfb_register_overlay(struct imxfb_info *fbi, void *fb)
 	overlay->blue   = rgb->blue;
 	overlay->transp = rgb->transp;
 
+	overlay->dev.parent = &fbi->info.dev;
 	ret = register_framebuffer(overlay);
 	if (ret < 0) {
 		dev_err(fbi->dev, "failed to register framebuffer\n");
@@ -592,6 +593,7 @@ static int imxfb_probe(struct device_d *dev)
 
 	imxfb_activate_var(&fbi->info);
 
+	fbi->info.dev.parent = dev;
 	ret = register_framebuffer(&fbi->info);
 	if (ret < 0) {
 		dev_err(dev, "failed to register framebuffer\n");
diff --git a/drivers/video/omap.c b/drivers/video/omap.c
index 009626fefc1f..52a68ef627b7 100644
--- a/drivers/video/omap.c
+++ b/drivers/video/omap.c
@@ -493,6 +493,7 @@ static int omapfb_probe(struct device_d *dev)
 		goto out;
 	}
 
+	info->dev.parent = dev;
 	rc = register_framebuffer(info);
 	if (rc < 0) {
 		dev_err(dev, "failed to register framebuffer: %d\n", rc);
diff --git a/drivers/video/pxa.c b/drivers/video/pxa.c
index a2ff4bce2a38..45efa6b71d9f 100644
--- a/drivers/video/pxa.c
+++ b/drivers/video/pxa.c
@@ -533,6 +533,7 @@ static int pxafb_probe(struct device_d *dev)
 
 	pxafb_activate_var(fbi);
 
+	fbi->info.dev.parent = dev;
 	ret = register_framebuffer(&fbi->info);
 	if (ret < 0) {
 		dev_err(dev, "failed to register framebuffer\n");
diff --git a/drivers/video/s3c24xx.c b/drivers/video/s3c24xx.c
index 84ed0aee3941..36c91e74ebd5 100644
--- a/drivers/video/s3c24xx.c
+++ b/drivers/video/s3c24xx.c
@@ -395,6 +395,7 @@ static int s3cfb_probe(struct device_d *hw_dev)
 	if (IS_ENABLED(CONFIG_DRIVER_VIDEO_S3C_VERBOSE))
 		hw_dev->info = s3cfb_info;
 
+	fbi.info.dev.parent = dev;
 	ret = register_framebuffer(&fbi.info);
 	if (ret != 0) {
 		dev_err(hw_dev, "Failed to register framebuffer\n");
diff --git a/drivers/video/simplefb-client.c b/drivers/video/simplefb-client.c
index 2d0495f6162e..1f26ac506741 100644
--- a/drivers/video/simplefb-client.c
+++ b/drivers/video/simplefb-client.c
@@ -121,6 +121,7 @@ static int simplefb_probe(struct device_d *dev)
 		 info->xres, info->yres,
 		 info->bits_per_pixel, info->line_length);
 
+	info->dev.parent = dev;
 	ret = register_framebuffer(info);
 	if (ret < 0) {
 		dev_err(dev, "Unable to register simplefb: %d\n", ret);
diff --git a/drivers/video/ssd1307fb.c b/drivers/video/ssd1307fb.c
index 994f43dc5cf5..af5d6086e1d8 100644
--- a/drivers/video/ssd1307fb.c
+++ b/drivers/video/ssd1307fb.c
@@ -543,6 +543,7 @@ static int ssd1307fb_probe(struct device_d *dev)
 	if (ret)
 		goto reset_oled_error;
 
+	info->dev.parent = dev;
 	ret = register_framebuffer(info);
 	if (ret) {
 		dev_err(&client->dev, "Couldn't register the framebuffer\n");
diff --git a/drivers/video/stm.c b/drivers/video/stm.c
index d4a618fe5091..1c8336f7e2c3 100644
--- a/drivers/video/stm.c
+++ b/drivers/video/stm.c
@@ -571,6 +571,7 @@ static int stmfb_probe(struct device_d *hw_dev)
 
 	fb_of_reserve_add_fixup(&fbi.info);
 
+	fbi.info.dev.parent = dev;
 	ret = register_framebuffer(&fbi.info);
 	if (ret != 0) {
 		dev_err(hw_dev, "Failed to register framebuffer\n");
-- 
2.29.2


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] video: reunite fb devices with their hardware parent
  2021-05-27 12:44 [PATCH] video: reunite fb devices with their hardware parent Ahmad Fatoum
@ 2021-05-31  7:13 ` Sascha Hauer
  2021-05-31  8:20   ` Ahmad Fatoum
  0 siblings, 1 reply; 5+ messages in thread
From: Sascha Hauer @ 2021-05-31  7:13 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

On Thu, May 27, 2021 at 02:44:53PM +0200, Ahmad Fatoum wrote:
> So far, only sdlfb and efi associated the framebuffer device they
> register with the hardware device providing it.
> 
> Follow suit for all other frame buffers.  This enables devinfo
> to display parentage.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
>  drivers/video/atmel_lcdfb_core.c | 1 +
>  drivers/video/bcm2835.c          | 1 +
>  drivers/video/bochs/bochs_hw.c   | 1 +
>  drivers/video/imx-ipu-fb.c       | 2 ++
>  drivers/video/imx-ipu-v3/ipufb.c | 1 +
>  drivers/video/imx.c              | 2 ++
>  drivers/video/omap.c             | 1 +
>  drivers/video/pxa.c              | 1 +
>  drivers/video/s3c24xx.c          | 1 +
>  drivers/video/simplefb-client.c  | 1 +
>  drivers/video/ssd1307fb.c        | 1 +
>  drivers/video/stm.c              | 1 +
>  12 files changed, 14 insertions(+)
> 
> diff --git a/drivers/video/atmel_lcdfb_core.c b/drivers/video/atmel_lcdfb_core.c
> index daabfe92d2ca..e7e420d38f86 100644
> --- a/drivers/video/atmel_lcdfb_core.c
> +++ b/drivers/video/atmel_lcdfb_core.c
> @@ -489,6 +489,7 @@ int atmel_lcdc_register(struct device_d *dev, struct atmel_lcdfb_devdata *data)
>  		sinfo->dma_desc = dma_alloc_coherent(data->dma_desc_size,
>  						     DMA_ADDRESS_BROKEN);
>  
> +	info->dev.parent = dev;
>  	ret = register_framebuffer(info);
>  	if (ret != 0) {
>  		dev_err(dev, "Failed to register framebuffer\n");
> diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c
> index 3d52f8b6b8e7..d808bc5c9fa3 100644
> --- a/drivers/video/bcm2835.c
> +++ b/drivers/video/bcm2835.c
> @@ -118,6 +118,7 @@ static int bcm2835fb_probe(struct device_d *dev)
>  	info->fbi.mode->xres = info->fbi.xres;
>  	info->fbi.mode->yres = info->fbi.yres;
>  
> +	info->fbi.dev.parent = dev;
>  	ret = register_framebuffer(&info->fbi);
>  	if (ret) {
>  		free(info);
> diff --git a/drivers/video/bochs/bochs_hw.c b/drivers/video/bochs/bochs_hw.c
> index 252350aebb5a..debdd36941f4 100644
> --- a/drivers/video/bochs/bochs_hw.c
> +++ b/drivers/video/bochs/bochs_hw.c
> @@ -201,5 +201,6 @@ int bochs_hw_probe(struct device_d *dev, void __iomem *fb_map, void __iomem *mmi
>  	fb->priv = bochs;
>  	fb->fbops = &bochs_fb_ops;
>  
> +	fb->dev.parent = dev;
>  	return register_framebuffer(fb);
>  }
> diff --git a/drivers/video/imx-ipu-fb.c b/drivers/video/imx-ipu-fb.c
> index a3f195373b4e..f39b74676cde 100644
> --- a/drivers/video/imx-ipu-fb.c
> +++ b/drivers/video/imx-ipu-fb.c
> @@ -969,6 +969,7 @@ static int sdc_fb_register_overlay(struct ipu_fb_info *fbi, void *fb)
>  
>  	sdc_enable_channel(fbi, overlay->screen_base, IDMAC_SDC_1);
>  
> +	fbi->overlay.dev.parent = &fbi->info.dev;
>  	ret = register_framebuffer(&fbi->overlay);
>  	if (ret < 0) {
>  		dev_err(fbi->dev, "failed to register framebuffer\n");
> @@ -1039,6 +1040,7 @@ static int imxfb_probe(struct device_d *dev)
>  
>  	sdc_enable_channel(fbi, info->screen_base, IDMAC_SDC_0);
>  
> +	fbi->info.dev.parent = dev;
>  	ret = register_framebuffer(&fbi->info);
>  	if (ret < 0) {
>  		dev_err(dev, "failed to register framebuffer\n");
> diff --git a/drivers/video/imx-ipu-v3/ipufb.c b/drivers/video/imx-ipu-v3/ipufb.c
> index 0b5391643450..68e87ff3fb8f 100644
> --- a/drivers/video/imx-ipu-v3/ipufb.c
> +++ b/drivers/video/imx-ipu-v3/ipufb.c
> @@ -336,6 +336,7 @@ static int ipufb_probe(struct device_d *dev)
>  		if (ret)
>  			dev_dbg(fbi->dev, "failed to get modes: %s\n", strerror(-ret));
>  
> +		info->dev.parent = dev;
>  		ret = register_framebuffer(info);
>  		if (ret < 0) {
>  			dev_err(fbi->dev, "failed to register framebuffer\n");
> diff --git a/drivers/video/imx.c b/drivers/video/imx.c
> index e93859775a60..f4f58b3ce353 100644
> --- a/drivers/video/imx.c
> +++ b/drivers/video/imx.c
> @@ -514,6 +514,7 @@ static int imxfb_register_overlay(struct imxfb_info *fbi, void *fb)
>  	overlay->blue   = rgb->blue;
>  	overlay->transp = rgb->transp;
>  
> +	overlay->dev.parent = &fbi->info.dev;
>  	ret = register_framebuffer(overlay);
>  	if (ret < 0) {
>  		dev_err(fbi->dev, "failed to register framebuffer\n");
> @@ -592,6 +593,7 @@ static int imxfb_probe(struct device_d *dev)
>  
>  	imxfb_activate_var(&fbi->info);
>  
> +	fbi->info.dev.parent = dev;
>  	ret = register_framebuffer(&fbi->info);
>  	if (ret < 0) {
>  		dev_err(dev, "failed to register framebuffer\n");
> diff --git a/drivers/video/omap.c b/drivers/video/omap.c
> index 009626fefc1f..52a68ef627b7 100644
> --- a/drivers/video/omap.c
> +++ b/drivers/video/omap.c
> @@ -493,6 +493,7 @@ static int omapfb_probe(struct device_d *dev)
>  		goto out;
>  	}
>  
> +	info->dev.parent = dev;
>  	rc = register_framebuffer(info);
>  	if (rc < 0) {
>  		dev_err(dev, "failed to register framebuffer: %d\n", rc);
> diff --git a/drivers/video/pxa.c b/drivers/video/pxa.c
> index a2ff4bce2a38..45efa6b71d9f 100644
> --- a/drivers/video/pxa.c
> +++ b/drivers/video/pxa.c
> @@ -533,6 +533,7 @@ static int pxafb_probe(struct device_d *dev)
>  
>  	pxafb_activate_var(fbi);
>  
> +	fbi->info.dev.parent = dev;
>  	ret = register_framebuffer(&fbi->info);
>  	if (ret < 0) {
>  		dev_err(dev, "failed to register framebuffer\n");
> diff --git a/drivers/video/s3c24xx.c b/drivers/video/s3c24xx.c
> index 84ed0aee3941..36c91e74ebd5 100644
> --- a/drivers/video/s3c24xx.c
> +++ b/drivers/video/s3c24xx.c
> @@ -395,6 +395,7 @@ static int s3cfb_probe(struct device_d *hw_dev)
>  	if (IS_ENABLED(CONFIG_DRIVER_VIDEO_S3C_VERBOSE))
>  		hw_dev->info = s3cfb_info;
>  
> +	fbi.info.dev.parent = dev;
>  	ret = register_framebuffer(&fbi.info);
>  	if (ret != 0) {
>  		dev_err(hw_dev, "Failed to register framebuffer\n");
> diff --git a/drivers/video/simplefb-client.c b/drivers/video/simplefb-client.c
> index 2d0495f6162e..1f26ac506741 100644
> --- a/drivers/video/simplefb-client.c
> +++ b/drivers/video/simplefb-client.c
> @@ -121,6 +121,7 @@ static int simplefb_probe(struct device_d *dev)
>  		 info->xres, info->yres,
>  		 info->bits_per_pixel, info->line_length);
>  
> +	info->dev.parent = dev;
>  	ret = register_framebuffer(info);
>  	if (ret < 0) {
>  		dev_err(dev, "Unable to register simplefb: %d\n", ret);
> diff --git a/drivers/video/ssd1307fb.c b/drivers/video/ssd1307fb.c
> index 994f43dc5cf5..af5d6086e1d8 100644
> --- a/drivers/video/ssd1307fb.c
> +++ b/drivers/video/ssd1307fb.c
> @@ -543,6 +543,7 @@ static int ssd1307fb_probe(struct device_d *dev)
>  	if (ret)
>  		goto reset_oled_error;
>  
> +	info->dev.parent = dev;
>  	ret = register_framebuffer(info);
>  	if (ret) {
>  		dev_err(&client->dev, "Couldn't register the framebuffer\n");
> diff --git a/drivers/video/stm.c b/drivers/video/stm.c
> index d4a618fe5091..1c8336f7e2c3 100644
> --- a/drivers/video/stm.c
> +++ b/drivers/video/stm.c
> @@ -571,6 +571,7 @@ static int stmfb_probe(struct device_d *hw_dev)
>  
>  	fb_of_reserve_add_fixup(&fbi.info);
>  
> +	fbi.info.dev.parent = dev;

Should be hw_dev here. Fixed while applying, thanks

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] video: reunite fb devices with their hardware parent
  2021-05-31  7:13 ` Sascha Hauer
@ 2021-05-31  8:20   ` Ahmad Fatoum
  2021-05-31  8:24     ` Sascha Hauer
  0 siblings, 1 reply; 5+ messages in thread
From: Ahmad Fatoum @ 2021-05-31  8:20 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox



On 31.05.21 09:13, Sascha Hauer wrote:
> On Thu, May 27, 2021 at 02:44:53PM +0200, Ahmad Fatoum wrote:
>> So far, only sdlfb and efi associated the framebuffer device they
>> register with the hardware device providing it.
>>
>> Follow suit for all other frame buffers.  This enables devinfo
>> to display parentage.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
>> ---
>>  drivers/video/atmel_lcdfb_core.c | 1 +
>>  drivers/video/bcm2835.c          | 1 +
>>  drivers/video/bochs/bochs_hw.c   | 1 +
>>  drivers/video/imx-ipu-fb.c       | 2 ++
>>  drivers/video/imx-ipu-v3/ipufb.c | 1 +
>>  drivers/video/imx.c              | 2 ++
>>  drivers/video/omap.c             | 1 +
>>  drivers/video/pxa.c              | 1 +
>>  drivers/video/s3c24xx.c          | 1 +
>>  drivers/video/simplefb-client.c  | 1 +
>>  drivers/video/ssd1307fb.c        | 1 +
>>  drivers/video/stm.c              | 1 +
>>  12 files changed, 14 insertions(+)
>>
>> diff --git a/drivers/video/atmel_lcdfb_core.c b/drivers/video/atmel_lcdfb_core.c
>> index daabfe92d2ca..e7e420d38f86 100644
>> --- a/drivers/video/atmel_lcdfb_core.c
>> +++ b/drivers/video/atmel_lcdfb_core.c
>> @@ -489,6 +489,7 @@ int atmel_lcdc_register(struct device_d *dev, struct atmel_lcdfb_devdata *data)
>>  		sinfo->dma_desc = dma_alloc_coherent(data->dma_desc_size,
>>  						     DMA_ADDRESS_BROKEN);
>>  
>> +	info->dev.parent = dev;
>>  	ret = register_framebuffer(info);
>>  	if (ret != 0) {
>>  		dev_err(dev, "Failed to register framebuffer\n");
>> diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c
>> index 3d52f8b6b8e7..d808bc5c9fa3 100644
>> --- a/drivers/video/bcm2835.c
>> +++ b/drivers/video/bcm2835.c
>> @@ -118,6 +118,7 @@ static int bcm2835fb_probe(struct device_d *dev)
>>  	info->fbi.mode->xres = info->fbi.xres;
>>  	info->fbi.mode->yres = info->fbi.yres;
>>  
>> +	info->fbi.dev.parent = dev;
>>  	ret = register_framebuffer(&info->fbi);
>>  	if (ret) {
>>  		free(info);
>> diff --git a/drivers/video/bochs/bochs_hw.c b/drivers/video/bochs/bochs_hw.c
>> index 252350aebb5a..debdd36941f4 100644
>> --- a/drivers/video/bochs/bochs_hw.c
>> +++ b/drivers/video/bochs/bochs_hw.c
>> @@ -201,5 +201,6 @@ int bochs_hw_probe(struct device_d *dev, void __iomem *fb_map, void __iomem *mmi
>>  	fb->priv = bochs;
>>  	fb->fbops = &bochs_fb_ops;
>>  
>> +	fb->dev.parent = dev;
>>  	return register_framebuffer(fb);
>>  }
>> diff --git a/drivers/video/imx-ipu-fb.c b/drivers/video/imx-ipu-fb.c
>> index a3f195373b4e..f39b74676cde 100644
>> --- a/drivers/video/imx-ipu-fb.c
>> +++ b/drivers/video/imx-ipu-fb.c
>> @@ -969,6 +969,7 @@ static int sdc_fb_register_overlay(struct ipu_fb_info *fbi, void *fb)
>>  
>>  	sdc_enable_channel(fbi, overlay->screen_base, IDMAC_SDC_1);
>>  
>> +	fbi->overlay.dev.parent = &fbi->info.dev;
>>  	ret = register_framebuffer(&fbi->overlay);
>>  	if (ret < 0) {
>>  		dev_err(fbi->dev, "failed to register framebuffer\n");
>> @@ -1039,6 +1040,7 @@ static int imxfb_probe(struct device_d *dev)
>>  
>>  	sdc_enable_channel(fbi, info->screen_base, IDMAC_SDC_0);
>>  
>> +	fbi->info.dev.parent = dev;
>>  	ret = register_framebuffer(&fbi->info);
>>  	if (ret < 0) {
>>  		dev_err(dev, "failed to register framebuffer\n");
>> diff --git a/drivers/video/imx-ipu-v3/ipufb.c b/drivers/video/imx-ipu-v3/ipufb.c
>> index 0b5391643450..68e87ff3fb8f 100644
>> --- a/drivers/video/imx-ipu-v3/ipufb.c
>> +++ b/drivers/video/imx-ipu-v3/ipufb.c
>> @@ -336,6 +336,7 @@ static int ipufb_probe(struct device_d *dev)
>>  		if (ret)
>>  			dev_dbg(fbi->dev, "failed to get modes: %s\n", strerror(-ret));
>>  
>> +		info->dev.parent = dev;
>>  		ret = register_framebuffer(info);
>>  		if (ret < 0) {
>>  			dev_err(fbi->dev, "failed to register framebuffer\n");
>> diff --git a/drivers/video/imx.c b/drivers/video/imx.c
>> index e93859775a60..f4f58b3ce353 100644
>> --- a/drivers/video/imx.c
>> +++ b/drivers/video/imx.c
>> @@ -514,6 +514,7 @@ static int imxfb_register_overlay(struct imxfb_info *fbi, void *fb)
>>  	overlay->blue   = rgb->blue;
>>  	overlay->transp = rgb->transp;
>>  
>> +	overlay->dev.parent = &fbi->info.dev;
>>  	ret = register_framebuffer(overlay);
>>  	if (ret < 0) {
>>  		dev_err(fbi->dev, "failed to register framebuffer\n");
>> @@ -592,6 +593,7 @@ static int imxfb_probe(struct device_d *dev)
>>  
>>  	imxfb_activate_var(&fbi->info);
>>  
>> +	fbi->info.dev.parent = dev;
>>  	ret = register_framebuffer(&fbi->info);
>>  	if (ret < 0) {
>>  		dev_err(dev, "failed to register framebuffer\n");
>> diff --git a/drivers/video/omap.c b/drivers/video/omap.c
>> index 009626fefc1f..52a68ef627b7 100644
>> --- a/drivers/video/omap.c
>> +++ b/drivers/video/omap.c
>> @@ -493,6 +493,7 @@ static int omapfb_probe(struct device_d *dev)
>>  		goto out;
>>  	}
>>  
>> +	info->dev.parent = dev;
>>  	rc = register_framebuffer(info);
>>  	if (rc < 0) {
>>  		dev_err(dev, "failed to register framebuffer: %d\n", rc);
>> diff --git a/drivers/video/pxa.c b/drivers/video/pxa.c
>> index a2ff4bce2a38..45efa6b71d9f 100644
>> --- a/drivers/video/pxa.c
>> +++ b/drivers/video/pxa.c
>> @@ -533,6 +533,7 @@ static int pxafb_probe(struct device_d *dev)
>>  
>>  	pxafb_activate_var(fbi);
>>  
>> +	fbi->info.dev.parent = dev;
>>  	ret = register_framebuffer(&fbi->info);
>>  	if (ret < 0) {
>>  		dev_err(dev, "failed to register framebuffer\n");
>> diff --git a/drivers/video/s3c24xx.c b/drivers/video/s3c24xx.c
>> index 84ed0aee3941..36c91e74ebd5 100644
>> --- a/drivers/video/s3c24xx.c
>> +++ b/drivers/video/s3c24xx.c
>> @@ -395,6 +395,7 @@ static int s3cfb_probe(struct device_d *hw_dev)
>>  	if (IS_ENABLED(CONFIG_DRIVER_VIDEO_S3C_VERBOSE))
>>  		hw_dev->info = s3cfb_info;
>>  
>> +	fbi.info.dev.parent = dev;
>>  	ret = register_framebuffer(&fbi.info);
>>  	if (ret != 0) {
>>  		dev_err(hw_dev, "Failed to register framebuffer\n");
>> diff --git a/drivers/video/simplefb-client.c b/drivers/video/simplefb-client.c
>> index 2d0495f6162e..1f26ac506741 100644
>> --- a/drivers/video/simplefb-client.c
>> +++ b/drivers/video/simplefb-client.c
>> @@ -121,6 +121,7 @@ static int simplefb_probe(struct device_d *dev)
>>  		 info->xres, info->yres,
>>  		 info->bits_per_pixel, info->line_length);
>>  
>> +	info->dev.parent = dev;
>>  	ret = register_framebuffer(info);
>>  	if (ret < 0) {
>>  		dev_err(dev, "Unable to register simplefb: %d\n", ret);
>> diff --git a/drivers/video/ssd1307fb.c b/drivers/video/ssd1307fb.c
>> index 994f43dc5cf5..af5d6086e1d8 100644
>> --- a/drivers/video/ssd1307fb.c
>> +++ b/drivers/video/ssd1307fb.c
>> @@ -543,6 +543,7 @@ static int ssd1307fb_probe(struct device_d *dev)
>>  	if (ret)
>>  		goto reset_oled_error;
>>  
>> +	info->dev.parent = dev;
>>  	ret = register_framebuffer(info);
>>  	if (ret) {
>>  		dev_err(&client->dev, "Couldn't register the framebuffer\n");
>> diff --git a/drivers/video/stm.c b/drivers/video/stm.c
>> index d4a618fe5091..1c8336f7e2c3 100644
>> --- a/drivers/video/stm.c
>> +++ b/drivers/video/stm.c
>> @@ -571,6 +571,7 @@ static int stmfb_probe(struct device_d *hw_dev)
>>  
>>  	fb_of_reserve_add_fixup(&fbi.info);
>>  
>> +	fbi.info.dev.parent = dev;
> 
> Should be hw_dev here. Fixed while applying, thanks

Ouch. Thanks for the fixup. Shows how much I/We would benefit from merging
the testing series soon, so Github Actions can start building these configuration
I inadvertently break :))

> 
> Sascha
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] video: reunite fb devices with their hardware parent
  2021-05-31  8:20   ` Ahmad Fatoum
@ 2021-05-31  8:24     ` Sascha Hauer
  2021-05-31  8:27       ` Ahmad Fatoum
  0 siblings, 1 reply; 5+ messages in thread
From: Sascha Hauer @ 2021-05-31  8:24 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

On Mon, May 31, 2021 at 10:20:59AM +0200, Ahmad Fatoum wrote:
> 
> 
> On 31.05.21 09:13, Sascha Hauer wrote:
> >>  
> >>  	fb_of_reserve_add_fixup(&fbi.info);
> >>  
> >> +	fbi.info.dev.parent = dev;
> > 
> > Should be hw_dev here. Fixed while applying, thanks
> 
> Ouch. Thanks for the fixup. Shows how much I/We would benefit from merging
> the testing series soon, so Github Actions can start building these configuration
> I inadvertently break :))

Don't worry. I catched this during review, but even without it I build
all defconfigs before merging a commit to master.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] video: reunite fb devices with their hardware parent
  2021-05-31  8:24     ` Sascha Hauer
@ 2021-05-31  8:27       ` Ahmad Fatoum
  0 siblings, 0 replies; 5+ messages in thread
From: Ahmad Fatoum @ 2021-05-31  8:27 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

On 31.05.21 10:24, Sascha Hauer wrote:
> On Mon, May 31, 2021 at 10:20:59AM +0200, Ahmad Fatoum wrote:
>>
>>
>> On 31.05.21 09:13, Sascha Hauer wrote:
>>>>  
>>>>  	fb_of_reserve_add_fixup(&fbi.info);
>>>>  
>>>> +	fbi.info.dev.parent = dev;
>>>
>>> Should be hw_dev here. Fixed while applying, thanks
>>
>> Ouch. Thanks for the fixup. Shows how much I/We would benefit from merging
>> the testing series soon, so Github Actions can start building these configuration
>> I inadvertently break :))
> 
> Don't worry. I catched this during review, but even without it I build
> all defconfigs before merging a commit to master.

I know, I'd really like this to be automatic for patch submissions as well.

> 
> Sascha
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-05-31  8:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-27 12:44 [PATCH] video: reunite fb devices with their hardware parent Ahmad Fatoum
2021-05-31  7:13 ` Sascha Hauer
2021-05-31  8:20   ` Ahmad Fatoum
2021-05-31  8:24     ` Sascha Hauer
2021-05-31  8:27       ` Ahmad Fatoum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox