diff options
author | Jassi Brar <jaswinder.singh@linaro.org> | 2011-06-22 20:40:13 +0100 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2011-06-22 20:40:13 +0100 |
commit | 75ed5b7bf50c936a953ba1aff11dc2a42f2c311a (patch) | |
tree | ac3c970c635c9508a68d348564fa2622a45e4ea2 | |
parent | c6a9c44935fe7ed980fefd31f1976d32977af5ec (diff) |
Subject: [PATCH 08/19] OMAP: DSS2: adding force argument to is_detected()
Force is available from (*detect) at drm_connector_funcs, and can be used
by the driver to avoid expensive, destructive operations during automated
probing.
Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
-rw-r--r-- | drivers/video/omap2/displays/panel-generic-dpi.c | 5 | ||||
-rw-r--r-- | drivers/video/omap2/dss/display.c | 2 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dss.h | 2 | ||||
-rw-r--r-- | drivers/video/omap2/dss/hdmi.c | 2 | ||||
-rw-r--r-- | drivers/video/omap2/dss/hdmi_omap4_panel.c | 4 | ||||
-rw-r--r-- | include/video/omapdss.h | 4 |
6 files changed, 10 insertions, 9 deletions
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c index f9a37324bd7..8529980bcc5 100644 --- a/drivers/video/omap2/displays/panel-generic-dpi.c +++ b/drivers/video/omap2/displays/panel-generic-dpi.c @@ -489,7 +489,8 @@ out: return -EINVAL; } -static bool generic_dpi_panel_is_detected(struct omap_dss_device *dssdev) +static bool generic_dpi_panel_is_detected(struct omap_dss_device *dssdev, + bool force) { struct panel_generic_dpi_data *panel_data = get_panel_data(dssdev); struct i2c_adapter *adapter; @@ -497,7 +498,7 @@ static bool generic_dpi_panel_is_detected(struct omap_dss_device *dssdev) adapter = i2c_get_adapter(panel_data->i2c_bus_num); if (!adapter) { - return omapdss_default_is_detected(dssdev); + return omapdss_default_is_detected(dssdev, force); } return (do_probe_ddc_edid(adapter, &out, 0, 1) == 0); diff --git a/drivers/video/omap2/dss/display.c b/drivers/video/omap2/dss/display.c index b73f96ee066..ea921b4c538 100644 --- a/drivers/video/omap2/dss/display.c +++ b/drivers/video/omap2/dss/display.c @@ -341,7 +341,7 @@ int omapdss_default_check_timings(struct omap_dss_device *dssdev, } EXPORT_SYMBOL(omapdss_default_check_timings); -bool omapdss_default_is_detected(struct omap_dss_device *dssdev) +bool omapdss_default_is_detected(struct omap_dss_device *dssdev, bool force) { if (dssdev->state == OMAP_DSS_DISPLAY_SUSPENDED) { /* show resume info for suspended displays */ diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h index 42889a1cfda..3d8752619ba 100644 --- a/drivers/video/omap2/dss/dss.h +++ b/drivers/video/omap2/dss/dss.h @@ -508,7 +508,7 @@ void omapdss_hdmi_display_disable(struct omap_dss_device *dssdev); void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev); int omapdss_hdmi_display_check_timing(struct omap_dss_device *dssdev, struct omap_video_timings *timings); -bool omapdss_hdmi_is_detected(struct omap_dss_device *dssdev); +bool omapdss_hdmi_is_detected(struct omap_dss_device *dssdev, bool force); int omapdss_hdmi_get_edid(struct omap_dss_device *dssdev, u8 *buf, int len); int hdmi_panel_init(void); void hdmi_panel_exit(void); diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c index ed7f1d55116..dd68aac0601 100644 --- a/drivers/video/omap2/dss/hdmi.c +++ b/drivers/video/omap2/dss/hdmi.c @@ -1196,7 +1196,7 @@ static void hdmi_power_off(struct omap_dss_device *dssdev) hdmi.edid_set = 0; } -bool omapdss_hdmi_is_detected(struct omap_dss_device *dssdev) +bool omapdss_hdmi_is_detected(struct omap_dss_device *dssdev, bool force) { u32 r; diff --git a/drivers/video/omap2/dss/hdmi_omap4_panel.c b/drivers/video/omap2/dss/hdmi_omap4_panel.c index 7c787a40bb7..0bac74dc9a4 100644 --- a/drivers/video/omap2/dss/hdmi_omap4_panel.c +++ b/drivers/video/omap2/dss/hdmi_omap4_panel.c @@ -143,9 +143,9 @@ err: return r; } -static bool hdmi_panel_is_detected(struct omap_dss_device *dssdev) +static bool hdmi_panel_is_detected(struct omap_dss_device *dssdev, bool force) { - return omapdss_hdmi_is_detected(dssdev); + return omapdss_hdmi_is_detected(dssdev, force); } static int hdmi_get_edid(struct omap_dss_device *dssdev, u8 *buf, int len) diff --git a/include/video/omapdss.h b/include/video/omapdss.h index 963a6ca3f81..7b43798c298 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h @@ -579,7 +579,7 @@ struct omap_dss_driver { * For displays like LCD panels, this means is the display present * on the board. */ - bool (*is_detected)(struct omap_dss_device *dssdev); + bool (*is_detected)(struct omap_dss_device *dssdev, bool force); }; int omap_dss_register_driver(struct omap_dss_driver *); @@ -622,7 +622,7 @@ void omapdss_default_get_timings(struct omap_dss_device *dssdev, struct omap_video_timings *timings); int omapdss_default_check_timings(struct omap_dss_device *dssdev, struct omap_video_timings *timings); -bool omapdss_default_is_detected(struct omap_dss_device *dssdev); +bool omapdss_default_is_detected(struct omap_dss_device *dssdev, bool force); void omapdss_default_get_resolution(struct omap_dss_device *dssdev, u16 *xres, u16 *yres); int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev); |