Javier Martinez Canillas <javierm@xxxxxxxxxx> writes: [...] >> + drm_fb_helper_prepare(dev, fb_helper, preferred_bpp, &drm_fbdev_dma_helper_funcs); >> + >> + ret = drm_client_init(dev, &fb_helper->client, "fbdev", &drm_fbdev_dma_client_funcs); >> + if (ret) { >> + drm_err(dev, "Failed to register client: %d\n", ret); >> + goto err_drm_client_init; >> + } >> + >> + ret = drm_fbdev_dma_client_hotplug(&fb_helper->client); >> + if (ret) >> + drm_dbg_kms(dev, "client hotplug ret=%d\n", ret); >> + >> + drm_client_register(&fb_helper->client); >> + >> + return; >> + >> +err_drm_client_init: >> + drm_fb_helper_unprepare(fb_helper); >> + kfree(fb_helper); >> +} >> +EXPORT_SYMBOL(drm_fbdev_dma_setup); > > And this one could also be shared AFAICT if drm_fbdev_client_hotplug() > is used instead. > Scratch this one, you need the custom setup function to pass the drm_fbdev_dma_helper_funcs to drm_client_init(). But I think the other comments this apply. -- Best regards, Javier Martinez Canillas Core Platforms Red Hat