Commit a90cc3f2 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'omapdrm-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next

omapdrm changes for v4.6

* HDMI interlace output support
* DMAbuf import support
* Big refactoring leading to removal of legacy code
* Various non-critical fixes

* tag 'omapdrm-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (76 commits)
  drm/omap: no need to select OMAP2_DSS
  drm/omap: gem: Fix omap_gem_new() error path
  drm/omap: remove -Werror from Makefile
  drm/omap: remove dispc_ovl_check()
  drm/omap: remove dss compat code
  drm/omap: remove last uses of omap_overlay_manager
  drm/omap: DSI: remove uses of omap_overlay_manager
  drm/omap: VENC: remove uses of omap_overlay_manager
  drm/omap: SDI: remove uses of omap_overlay_manager
  drm/omap: HDMI4: remove uses of omap_overlay_manager
  drm/omap: HDMI5: remove uses of omap_overlay_manager
  drm/omap: DPI: remove uses of omap_overlay_manager
  drm/omap: remove extra manager checks on disconnect
  drm/omap: remove extra check in dpi and sdi
  drm/omap: convert dss_mgr_unregister_framedone_handler to accept omap_channel
  drm/omap: convert dss_mgr_register_framedone_handler to accept omap_channel
  drm/omap: convert dss_mgr_start_update to accept omap_channel
  drm/omap: convert dss_mgr_disable to accept omap_channel
  drm/omap: convert dss_mgr_enable to accept omap_channel
  drm/omap: convert dss_mgr_set_lcd_config to accept omap_channel
  ...
parents 912b330c 1c278e5e
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -2,7 +2,6 @@ config DRM_OMAP
	tristate "OMAP DRM"
	depends on DRM
	depends on ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM
	select OMAP2_DSS
	select DRM_KMS_HELPER
	select DRM_KMS_FB_HELPER
	select FB_SYS_FILLRECT
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
obj-y += dss/
obj-y += displays/

ccflags-y := -Iinclude/drm -Werror
ccflags-y := -Iinclude/drm
omapdrm-y := omap_drv.o \
	omap_irq.o \
	omap_debugfs.o \
+5 −50
Original line number Diff line number Diff line
@@ -236,46 +236,6 @@ static struct omap_dss_driver dvic_driver = {
	.detect		= dvic_detect,
};

static int dvic_probe_pdata(struct platform_device *pdev)
{
	struct panel_drv_data *ddata = platform_get_drvdata(pdev);
	struct connector_dvi_platform_data *pdata;
	struct omap_dss_device *in, *dssdev;
	int i2c_bus_num;

	pdata = dev_get_platdata(&pdev->dev);
	i2c_bus_num = pdata->i2c_bus_num;

	if (i2c_bus_num != -1) {
		struct i2c_adapter *adapter;

		adapter = i2c_get_adapter(i2c_bus_num);
		if (!adapter) {
			dev_err(&pdev->dev,
					"Failed to get I2C adapter, bus %d\n",
					i2c_bus_num);
			return -EPROBE_DEFER;
		}

		ddata->i2c_adapter = adapter;
	}

	in = omap_dss_find_output(pdata->source);
	if (in == NULL) {
		i2c_put_adapter(ddata->i2c_adapter);

		dev_err(&pdev->dev, "Failed to find video source\n");
		return -EPROBE_DEFER;
	}

	ddata->in = in;

	dssdev = &ddata->dssdev;
	dssdev->name = pdata->name;

	return 0;
}

static int dvic_probe_of(struct platform_device *pdev)
{
	struct panel_drv_data *ddata = platform_get_drvdata(pdev);
@@ -319,17 +279,12 @@ static int dvic_probe(struct platform_device *pdev)

	platform_set_drvdata(pdev, ddata);

	if (dev_get_platdata(&pdev->dev)) {
		r = dvic_probe_pdata(pdev);
		if (r)
			return r;
	} else if (pdev->dev.of_node) {
	if (pdev->dev.of_node)
		return -ENODEV;

	r = dvic_probe_of(pdev);
	if (r)
		return r;
	} else {
		return -ENODEV;
	}

	ddata->timings = dvic_default_timings;

+5 −34
Original line number Diff line number Diff line
@@ -206,30 +206,6 @@ static struct omap_dss_driver hdmic_driver = {
	.set_hdmi_infoframe	= hdmic_set_infoframe,
};

static int hdmic_probe_pdata(struct platform_device *pdev)
{
	struct panel_drv_data *ddata = platform_get_drvdata(pdev);
	struct connector_hdmi_platform_data *pdata;
	struct omap_dss_device *in, *dssdev;

	pdata = dev_get_platdata(&pdev->dev);

	ddata->hpd_gpio = -ENODEV;

	in = omap_dss_find_output(pdata->source);
	if (in == NULL) {
		dev_err(&pdev->dev, "Failed to find video source\n");
		return -EPROBE_DEFER;
	}

	ddata->in = in;

	dssdev = &ddata->dssdev;
	dssdev->name = pdata->name;

	return 0;
}

static int hdmic_probe_of(struct platform_device *pdev)
{
	struct panel_drv_data *ddata = platform_get_drvdata(pdev);
@@ -268,17 +244,12 @@ static int hdmic_probe(struct platform_device *pdev)
	platform_set_drvdata(pdev, ddata);
	ddata->dev = &pdev->dev;

	if (dev_get_platdata(&pdev->dev)) {
		r = hdmic_probe_pdata(pdev);
		if (r)
			return r;
	} else if (pdev->dev.of_node) {
	if (!pdev->dev.of_node)
		return -ENODEV;

	r = hdmic_probe_of(pdev);
	if (r)
		return r;
	} else {
		return -ENODEV;
	}

	if (gpio_is_valid(ddata->hpd_gpio)) {
		r = devm_gpio_request_one(&pdev->dev, ddata->hpd_gpio,
+5 −36
Original line number Diff line number Diff line
@@ -166,32 +166,6 @@ static const struct omapdss_dvi_ops tfp410_dvi_ops = {
	.get_timings	= tfp410_get_timings,
};

static int tfp410_probe_pdata(struct platform_device *pdev)
{
	struct panel_drv_data *ddata = platform_get_drvdata(pdev);
	struct encoder_tfp410_platform_data *pdata;
	struct omap_dss_device *dssdev, *in;

	pdata = dev_get_platdata(&pdev->dev);

	ddata->pd_gpio = pdata->power_down_gpio;

	ddata->data_lines = pdata->data_lines;

	in = omap_dss_find_output(pdata->source);
	if (in == NULL) {
		dev_err(&pdev->dev, "Failed to find video source\n");
		return -ENODEV;
	}

	ddata->in = in;

	dssdev = &ddata->dssdev;
	dssdev->name = pdata->name;

	return 0;
}

static int tfp410_probe_of(struct platform_device *pdev)
{
	struct panel_drv_data *ddata = platform_get_drvdata(pdev);
@@ -231,17 +205,12 @@ static int tfp410_probe(struct platform_device *pdev)

	platform_set_drvdata(pdev, ddata);

	if (dev_get_platdata(&pdev->dev)) {
		r = tfp410_probe_pdata(pdev);
		if (r)
			return r;
	} else if (pdev->dev.of_node) {
	if (!pdev->dev.of_node)
		return -ENODEV;

	r = tfp410_probe_of(pdev);
	if (r)
		return r;
	} else {
		return -ENODEV;
	}

	if (gpio_is_valid(ddata->pd_gpio)) {
		r = devm_gpio_request_one(&pdev->dev, ddata->pd_gpio,
Loading