Message ID | 20241205162432.1803869-1-dario.binacchi@amarulasolutions.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [RESEND,v2] drm/mxsfb: Remove generic DRM drivers in probe function | expand |
Am 05.12.24 um 17:24 schrieb Dario Binacchi: > Use aperture helpers to remove all generic graphics drivers before > loading mxsfb. Makes mxsfb compatible with simpledrm. > > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com> > Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> > > --- > > Changes in v2: > - Use aperture_remove_all_conflicting_devices() instead of > drm_aperture_remove_framebuffers(). > > drivers/gpu/drm/mxsfb/mxsfb_drv.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c > index 6b95e4eb3e4e..10da8b54f4c6 100644 > --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c > +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c > @@ -8,6 +8,7 @@ > * Copyright (C) 2008 Embedded Alley Solutions, Inc All Rights Reserved. > */ > > +#include <linux/aperture.h> > #include <linux/clk.h> > #include <linux/dma-mapping.h> > #include <linux/io.h> > @@ -362,6 +363,15 @@ static int mxsfb_probe(struct platform_device *pdev) > if (ret) > goto err_free; > > + /* > + * Remove early framebuffers (ie. simplefb). The framebuffer can be > + * located anywhere in RAM > + */ > + ret = aperture_remove_all_conflicting_devices(mxsfb_driver.name); > + if (ret) > + return dev_err_probe(&pdev->dev, ret, > + "can't kick out existing framebuffers\n"); > + > ret = drm_dev_register(drm, 0); > if (ret) > goto err_unload;
diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c index 6b95e4eb3e4e..10da8b54f4c6 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c @@ -8,6 +8,7 @@ * Copyright (C) 2008 Embedded Alley Solutions, Inc All Rights Reserved. */ +#include <linux/aperture.h> #include <linux/clk.h> #include <linux/dma-mapping.h> #include <linux/io.h> @@ -362,6 +363,15 @@ static int mxsfb_probe(struct platform_device *pdev) if (ret) goto err_free; + /* + * Remove early framebuffers (ie. simplefb). The framebuffer can be + * located anywhere in RAM + */ + ret = aperture_remove_all_conflicting_devices(mxsfb_driver.name); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "can't kick out existing framebuffers\n"); + ret = drm_dev_register(drm, 0); if (ret) goto err_unload;