drm/hisilicon: fix build error without fbdev emulation
We cannot reference priv->fbdev outside of the #ifdef: drivers/net/virtio_net.c:1881:12: error: 'virtnet_restore_up' defined but not used [-Werror=unused-function] static int virtnet_restore_up(struct virtio_device *vdev) drivers/net/virtio_net.c:1859:13: error: 'virtnet_freeze_down' defined but not used [-Werror=unused-function] static void virtnet_freeze_down(struct virtio_device *vdev) As the #ifdef is a bit annoying here, this removes it entirely and uses an IS_ENABLED() check in it place where needed. Fixes: b4dd9f1ffaba ("drm/hisilicon: Remove custom FB helper deferred setup") Signed-off-by: Arnd Bergmann <arnd@arndb.de> [danvet: One step further, also remove the IS_ENABLED checks, core no-ops out the fb helper functions that the cma helpers use. Discussed with Arnd on dri-devel.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20170725180555.3699056-1-arnd@arndb.de Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
81a099ac49
commit
8bb9777332
|
@ -34,12 +34,11 @@ static int kirin_drm_kms_cleanup(struct drm_device *dev)
|
|||
{
|
||||
struct kirin_drm_private *priv = dev->dev_private;
|
||||
|
||||
#ifdef CONFIG_DRM_FBDEV_EMULATION
|
||||
if (priv->fbdev) {
|
||||
drm_fbdev_cma_fini(priv->fbdev);
|
||||
priv->fbdev = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
drm_kms_helper_poll_fini(dev);
|
||||
dc_ops->cleanup(to_platform_device(dev->dev));
|
||||
drm_mode_config_cleanup(dev);
|
||||
|
@ -49,20 +48,16 @@ static int kirin_drm_kms_cleanup(struct drm_device *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DRM_FBDEV_EMULATION
|
||||
static void kirin_fbdev_output_poll_changed(struct drm_device *dev)
|
||||
{
|
||||
struct kirin_drm_private *priv = dev->dev_private;
|
||||
|
||||
drm_fbdev_cma_hotplug_event(priv->fbdev);
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct drm_mode_config_funcs kirin_drm_mode_config_funcs = {
|
||||
.fb_create = drm_fb_cma_create,
|
||||
#ifdef CONFIG_DRM_FBDEV_EMULATION
|
||||
.output_poll_changed = kirin_fbdev_output_poll_changed,
|
||||
#endif
|
||||
.atomic_check = drm_atomic_helper_check,
|
||||
.atomic_commit = drm_atomic_helper_commit,
|
||||
};
|
||||
|
@ -123,12 +118,12 @@ static int kirin_drm_kms_init(struct drm_device *dev)
|
|||
|
||||
priv->fbdev = drm_fbdev_cma_init(dev, 32,
|
||||
dev->mode_config.num_connector);
|
||||
|
||||
if (IS_ERR(priv->fbdev)) {
|
||||
DRM_ERROR("failed to initialize fbdev.\n");
|
||||
ret = PTR_ERR(priv->fbdev);
|
||||
goto err_cleanup_poll;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err_cleanup_poll:
|
||||
|
|
|
@ -20,9 +20,7 @@ struct kirin_dc_ops {
|
|||
};
|
||||
|
||||
struct kirin_drm_private {
|
||||
#ifdef CONFIG_DRM_FBDEV_EMULATION
|
||||
struct drm_fbdev_cma *fbdev;
|
||||
#endif
|
||||
};
|
||||
|
||||
extern const struct kirin_dc_ops ade_dc_ops;
|
||||
|
|
Loading…
Reference in New Issue