drm: bridge: dw-hdmi: Pass private data pointer to .mode_valid()
Platform glue drivers for dw_hdmi may need to access device-specific data from their .mode_valid() implementation. They currently have no clean way to do so, and one driver hacks around it by accessing the dev_private data of the drm_device retrieved from the connector. Add a priv_data void pointer to the dw_hdmi_plat_data structure, and pass it to the .mode_valid() function. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20200526011505.31884-12-laurent.pinchart+renesas@ideasonboard.com
This commit is contained in:
committed by
Sam Ravnborg
parent
12c683e12c
commit
96591a4b93
@ -124,13 +124,23 @@ struct dw_hdmi_phy_ops {
|
||||
|
||||
struct dw_hdmi_plat_data {
|
||||
struct regmap *regm;
|
||||
enum drm_mode_status (*mode_valid)(struct drm_connector *connector,
|
||||
const struct drm_display_mode *mode);
|
||||
|
||||
unsigned long input_bus_format;
|
||||
unsigned long input_bus_encoding;
|
||||
bool use_drm_infoframe;
|
||||
bool ycbcr_420_allowed;
|
||||
|
||||
/*
|
||||
* Private data passed to all the .mode_valid() and .configure_phy()
|
||||
* callback functions.
|
||||
*/
|
||||
void *priv_data;
|
||||
|
||||
/* Platform-specific mode validation (optional). */
|
||||
enum drm_mode_status (*mode_valid)(struct dw_hdmi *hdmi, void *data,
|
||||
struct drm_connector *connector,
|
||||
const struct drm_display_mode *mode);
|
||||
|
||||
/* Vendor PHY support */
|
||||
const struct dw_hdmi_phy_ops *phy_ops;
|
||||
const char *phy_name;
|
||||
|
Reference in New Issue
Block a user