Message ID | 20241024104654.3483125-1-dario.binacchi@amarulasolutions.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/mxsfb: Remove generic DRM drivers in probe function | expand |
Hi Am 24.10.24 um 12:46 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> > > --- > > 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 cb5ce4e81fc7..a8d6dffcd02c 100644 > --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c > +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c > @@ -17,6 +17,7 @@ > #include <linux/property.h> > #include <linux/pm_runtime.h> > > +#include <drm/drm_aperture.h> > #include <drm/drm_atomic_helper.h> > #include <drm/drm_bridge.h> > #include <drm/drm_connector.h> > @@ -360,6 +361,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 = drm_aperture_remove_framebuffers(&mxsfb_driver); This function has been removed recently. Call aperture_remove_all_conflicting_devices() instead. You can use msxfb_driver.name for the argument. [1] https://elixir.bootlin.com/linux/v6.11.5/source/include/linux/aperture.h#L57 Best regards Thomas > + 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 cb5ce4e81fc7..a8d6dffcd02c 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c @@ -17,6 +17,7 @@ #include <linux/property.h> #include <linux/pm_runtime.h> +#include <drm/drm_aperture.h> #include <drm/drm_atomic_helper.h> #include <drm/drm_bridge.h> #include <drm/drm_connector.h> @@ -360,6 +361,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 = drm_aperture_remove_framebuffers(&mxsfb_driver); + 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;