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

Commit 96adcece authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

OMAP: DSS2: move get_resolution()



Move get_resolution() from omap_dss_device to omap_dss_driver.

This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@nokia.com>
parent a2faee84
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -470,8 +470,6 @@ struct omap_dss_device {
	int (*suspend)(struct omap_dss_device *dssdev);
	int (*resume)(struct omap_dss_device *dssdev);

	void (*get_resolution)(struct omap_dss_device *dssdev,
			u16 *xres, u16 *yres);
	int (*get_recommended_bpp)(struct omap_dss_device *dssdev);

	int (*check_timings)(struct omap_dss_device *dssdev,
@@ -529,6 +527,9 @@ struct omap_dss_driver {
	int (*memory_read)(struct omap_dss_device *dssdev,
			void *buf, size_t size,
			u16 x, u16 y, u16 w, u16 h);

	void (*get_resolution)(struct omap_dss_device *dssdev,
			u16 *xres, u16 *yres);
};

int omap_dss_register_driver(struct omap_dss_driver *);
@@ -553,6 +554,8 @@ struct omap_overlay_manager *omap_dss_get_overlay_manager(int num);
int omap_dss_get_num_overlays(void);
struct omap_overlay *omap_dss_get_overlay(int num);

void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
		u16 *xres, u16 *yres);
typedef void (*omap_dispc_isr_t) (void *arg, u32 mask);
int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
+1 −1
Original line number Diff line number Diff line
@@ -517,7 +517,6 @@ static int taal_probe(struct omap_dss_device *dssdev)
	dev_set_drvdata(&dssdev->dev, td);

	dssdev->get_timings = taal_get_timings;
	dssdev->get_resolution = taal_get_resolution;

	/* if no platform set_backlight() defined, presume DSI backlight
	 * control */
@@ -990,6 +989,7 @@ static struct omap_dss_driver taal_driver = {
	.resume		= taal_resume,

	.setup_update	= taal_setup_update,
	.get_resolution	= taal_get_resolution,
	.enable_te	= taal_enable_te,
	.wait_for_te	= taal_wait_te,
	.set_rotate	= taal_rotate,
+4 −0
Original line number Diff line number Diff line
@@ -811,6 +811,10 @@ int omap_dss_register_driver(struct omap_dss_driver *dssdriver)
	dssdriver->driver.bus = &dss_bus_type;
	dssdriver->driver.probe = dss_driver_probe;
	dssdriver->driver.remove = dss_driver_remove;

	if (dssdriver->get_resolution == NULL)
		dssdriver->get_resolution = omapdss_default_get_resolution;

	return driver_register(&dssdriver->driver);
}
EXPORT_SYMBOL(omap_dss_register_driver);
+2 −2
Original line number Diff line number Diff line
@@ -303,12 +303,13 @@ static struct device_attribute *display_sysfs_attrs[] = {
	NULL
};

static void default_get_resolution(struct omap_dss_device *dssdev,
void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
			u16 *xres, u16 *yres)
{
	*xres = dssdev->panel.timings.x_res;
	*yres = dssdev->panel.timings.y_res;
}
EXPORT_SYMBOL(omapdss_default_get_resolution);

void default_get_overlay_fifo_thresholds(enum omap_plane plane,
		u32 fifo_size, enum omap_burst_size *burst_size,
@@ -412,7 +413,6 @@ void dss_init_device(struct platform_device *pdev,
		return;
	}

	dssdev->get_resolution = default_get_resolution;
	dssdev->get_recommended_bpp = default_get_recommended_bpp;

	switch (dssdev->type) {
+2 −2
Original line number Diff line number Diff line
@@ -2868,7 +2868,7 @@ static int dsi_set_update_mode(struct omap_dss_device *dssdev,

			DSSDBG("starting auto update\n");

			dssdev->get_resolution(dssdev, &w, &h);
			dssdev->driver->get_resolution(dssdev, &w, &h);

			dsi_set_update_region(dssdev, 0, 0, w, h);

@@ -3422,7 +3422,7 @@ static int dsi_display_update(struct omap_dss_device *dssdev,
	if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
		goto end;

	dssdev->get_resolution(dssdev, &dw, &dh);
	dssdev->driver->get_resolution(dssdev, &dw, &dh);

	if  (x > dw || y > dh)
		goto end;
Loading