On Tue, Jul 25, 2017 at 5:53 PM, Daniel Vetter daniel@ffwll.ch wrote:
On Tue, Jul 25, 2017 at 05:33:25PM +0200, Arnd Bergmann wrote:
drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c index 1178341c3858..d48102d1a7a4 100644 --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c @@ -121,6 +121,7 @@ static int kirin_drm_kms_init(struct drm_device *dev) /* init kms poll for handling hpd */ drm_kms_helper_poll_init(dev);
+#ifdef CONFIG_DRM_FBDEV_EMULATION priv->fbdev = drm_fbdev_cma_init(dev, 32, dev->mode_config.num_connector); if (IS_ERR(priv->fbdev)) { @@ -128,11 +129,13 @@ static int kirin_drm_kms_init(struct drm_device *dev) ret = PTR_ERR(priv->fbdev); goto err_cleanup_poll; }
+#endif
Could we instead stop compling out priv->fbdev? There's nothing driver-specific here, so teh #ifdef are kinda annoying ...
Yes, I guess that would be better, I just didn't want to do too much of a rework. If we remove the #ifdef here, we should replace all instances in that driver.
I'll send a patch to do that and let you pick which one you apply.
And saving that one pointer in a really huge structure is somewhat silly.
It looks like it's the only member in that structure, but that doesn't make a big difference either, since there is only one instance in the system.
+#ifdef CONFIG_DRM_FBDEV_EMULATION err_cleanup_poll: drm_kms_helper_poll_fini(dev);
poll helpers aren't fbdev specific. Why do we need this? Is this just to shut up gcc?
Yes, gcc warns about the unused label here otherwise.
Arnd