Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1c1174f authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Tomi Valkeinen
Browse files

drm: omapdrm: Make fbdev emulation optional



Don't compile the fbdev emulation code when fbdev emulation support is
disabled.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent f8ef29ee
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -12,10 +12,11 @@ omapdrm-y := omap_drv.o \
	omap_encoder.o \
	omap_connector.o \
	omap_fb.o \
	omap_fbdev.o \
	omap_gem.o \
	omap_gem_dmabuf.o \
	omap_dmm_tiler.o \
	tcm-sita.o

omapdrm-$(CONFIG_DRM_FBDEV_EMULATION) += omap_fbdev.o

obj-$(CONFIG_DRM_OMAP)	+= omapdrm.o
+4 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ static int mm_show(struct seq_file *m, void *arg)
	return drm_mm_dump_table(m, &dev->vma_offset_manager->vm_addr_space_mm);
}

#ifdef CONFIG_DRM_FBDEV_EMULATION
static int fb_show(struct seq_file *m, void *arg)
{
	struct drm_info_node *node = (struct drm_info_node *) m->private;
@@ -73,12 +74,15 @@ static int fb_show(struct seq_file *m, void *arg)

	return 0;
}
#endif

/* list of debufs files that are applicable to all devices */
static struct drm_info_list omap_debugfs_list[] = {
	{"gem", gem_show, 0},
	{"mm", mm_show, 0},
#ifdef CONFIG_DRM_FBDEV_EMULATION
	{"fb", fb_show, 0},
#endif
};

/* list of debugfs files that are specific to devices with dmm/tiler */
+0 −4
Original line number Diff line number Diff line
@@ -692,10 +692,6 @@ static int dev_load(struct drm_device *dev, unsigned long flags)
		drm_crtc_vblank_off(priv->crtcs[i]);

	priv->fbdev = omap_fbdev_init(dev);
	if (!priv->fbdev) {
		dev_warn(dev->dev, "omap_fbdev_init failed\n");
		/* well, limp along without an fbdev.. maybe X11 will work? */
	}

	/* store off drm_device for use in pm ops */
	dev_set_drvdata(dev->dev, dev);
+10 −0
Original line number Diff line number Diff line
@@ -138,8 +138,18 @@ void omap_irq_unregister(struct drm_device *dev, struct omap_drm_irq *irq);
void omap_drm_irq_uninstall(struct drm_device *dev);
int omap_drm_irq_install(struct drm_device *dev);

#ifdef CONFIG_DRM_FBDEV_EMULATION
struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev);
void omap_fbdev_free(struct drm_device *dev);
#else
static inline struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev)
{
	return NULL;
}
static inline void omap_fbdev_free(struct drm_device *dev)
{
}
#endif

struct omap_video_timings *omap_crtc_timings(struct drm_crtc *crtc);
enum omap_channel omap_crtc_channel(struct drm_crtc *crtc);
+4 −0
Original line number Diff line number Diff line
@@ -295,6 +295,10 @@ struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev)
	drm_fb_helper_fini(helper);
fail:
	kfree(fbdev);

	dev_warn(dev->dev, "omap_fbdev_init failed\n");
	/* well, limp along without an fbdev.. maybe X11 will work? */

	return NULL;
}

Loading