Den 13.11.2019 12.52, skrev Thomas Zimmermann: > The udl driver can use the generic fbdev implementation. Convert it. > > v4: > * hardcode console bpp to 16 > v3: > * remove module parameter fb_bpp in favor of fbdev's video > * call drm_fbdev_generic_setup() directly; remove udl_fbdev_init() > * use default for struct drm_mode_config_funcs.output_poll_changed > * use default for struct drm_driver.lastclose > > Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> > --- > diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c > index 4e854e017390..3be0c0cec49e 100644 > --- a/drivers/gpu/drm/udl/udl_main.c > +++ b/drivers/gpu/drm/udl/udl_main.c > @@ -9,6 +9,7 @@ > */ > > #include <drm/drm.h> > +#include <drm/drm_fb_helper.h> > #include <drm/drm_print.h> > #include <drm/drm_probe_helper.h> > > @@ -338,7 +339,7 @@ int udl_init(struct udl_device *udl) > if (ret) > goto err; > > - ret = udl_fbdev_init(dev); > + ret = drm_fbdev_generic_setup(dev, 16); I suggest you put this after drm_dev_register() in _probe() since fbdev is a client, a user of the driver, not part of it as such. Either way you choose: Reviewed-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Btw, nice diffstat! > if (ret) > goto err; > > @@ -367,6 +368,4 @@ void udl_fini(struct drm_device *dev) > > if (udl->urbs.count) > udl_free_urb_list(dev); > - > - udl_fbdev_cleanup(dev); > }