Thierry,
Can you review this patch?
Thanks!
Hans
On 8/14/19 12:45 PM, Dariusz Marcinkiewicz wrote:
Use the new cec_notifier_conn_(un)register() functions to (un)register the notifier for the HDMI connector, and fill in the cec_connector_info.
Changes since v4:
- only create a CEC notifier for HDMI connectors
Signed-off-by: Dariusz Marcinkiewicz darekm@google.com Tested-by: Hans Verkuil hverkuil-cisco@xs4all.nl
drivers/gpu/drm/tegra/output.c | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/tegra/output.c b/drivers/gpu/drm/tegra/output.c index bdcaa4c7168cf..34373734ff689 100644 --- a/drivers/gpu/drm/tegra/output.c +++ b/drivers/gpu/drm/tegra/output.c @@ -70,6 +70,11 @@ tegra_output_connector_detect(struct drm_connector *connector, bool force)
void tegra_output_connector_destroy(struct drm_connector *connector) {
- struct tegra_output *output = connector_to_output(connector);
- if (output->cec)
cec_notifier_conn_unregister(output->cec);
- drm_connector_unregister(connector); drm_connector_cleanup(connector);
} @@ -163,18 +168,11 @@ int tegra_output_probe(struct tegra_output *output) disable_irq(output->hpd_irq); }
- output->cec = cec_notifier_get(output->dev);
- if (!output->cec)
return -ENOMEM;
- return 0;
}
void tegra_output_remove(struct tegra_output *output) {
- if (output->cec)
cec_notifier_put(output->cec);
- if (output->hpd_gpio) free_irq(output->hpd_irq, output);
@@ -184,6 +182,7 @@ void tegra_output_remove(struct tegra_output *output)
int tegra_output_init(struct drm_device *drm, struct tegra_output *output) {
int connector_type; int err;
if (output->panel) {
@@ -199,6 +198,21 @@ int tegra_output_init(struct drm_device *drm, struct tegra_output *output) if (output->hpd_gpio) enable_irq(output->hpd_irq);
- connector_type = output->connector.connector_type;
- /*
* Create a CEC notifier for HDMI connector.
*/
- if (connector_type == DRM_MODE_CONNECTOR_HDMIA ||
connector_type == DRM_MODE_CONNECTOR_HDMIB) {
struct cec_connector_info conn_info;
cec_fill_conn_info_from_drm(&conn_info, &output->connector);
output->cec = cec_notifier_conn_register(output->dev, NULL,
&conn_info);
if (!output->cec)
return -ENOMEM;
- }
- return 0;
}