Message ID | 20250208102359.279333-1-oushixiong1025@163.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fbdev: fsl-diu-fb: add missing device_remove_file() | expand |
On 2/8/25 11:23, oushixiong1025@163.com wrote: > From: Shixiong Ou <oushixiong@kylinos.cn> > > Call device_remove_file() when driver remove. > > Signed-off-by: Shixiong Ou <oushixiong@kylinos.cn> > --- > drivers/video/fbdev/fsl-diu-fb.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/video/fbdev/fsl-diu-fb.c b/drivers/video/fbdev/fsl-diu-fb.c > index 5ac8201c3533..8c91af9a9156 100644 > --- a/drivers/video/fbdev/fsl-diu-fb.c > +++ b/drivers/video/fbdev/fsl-diu-fb.c > @@ -1807,6 +1807,7 @@ static int fsl_diu_probe(struct platform_device *pdev) > if (ret) { > dev_err(&pdev->dev, "could not create sysfs file %s\n", > data->dev_attr.attr.name); > + goto error; this seems to miss calling free_irq() then at least... Helge
diff --git a/drivers/video/fbdev/fsl-diu-fb.c b/drivers/video/fbdev/fsl-diu-fb.c index 5ac8201c3533..8c91af9a9156 100644 --- a/drivers/video/fbdev/fsl-diu-fb.c +++ b/drivers/video/fbdev/fsl-diu-fb.c @@ -1807,6 +1807,7 @@ static int fsl_diu_probe(struct platform_device *pdev) if (ret) { dev_err(&pdev->dev, "could not create sysfs file %s\n", data->dev_attr.attr.name); + goto error; } dev_set_drvdata(&pdev->dev, data); @@ -1827,6 +1828,9 @@ static void fsl_diu_remove(struct platform_device *pdev) int i; data = dev_get_drvdata(&pdev->dev); + + device_remove_file(&pdev->dev, &data->dev_attr); + disable_lcdc(&data->fsl_diu_info[0]); free_irq(data->irq, data->diu_reg);