Module Name: src
Committed By: riastradh
Date: Sun Dec 19 12:44:35 UTC 2021
Modified Files:
src/sys/dev/i2c: tda19988.c
Log Message:
drm: Fix tda19988 drm build.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/i2c/tda19988.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/i2c/tda19988.c
diff -u src/sys/dev/i2c/tda19988.c:1.7 src/sys/dev/i2c/tda19988.c:1.8
--- src/sys/dev/i2c/tda19988.c:1.7 Wed Jan 27 02:29:48 2021
+++ src/sys/dev/i2c/tda19988.c Sun Dec 19 12:44:34 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tda19988.c,v 1.7 2021/01/27 02:29:48 thorpej Exp $ */
+/* $NetBSD: tda19988.c,v 1.8 2021/12/19 12:44:34 riastradh Exp $ */
/*-
* Copyright (c) 2015 Oleksandr Tymoshenko <[email protected]>
@@ -27,10 +27,10 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tda19988.c,v 1.7 2021/01/27 02:29:48 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tda19988.c,v 1.8 2021/12/19 12:44:34 riastradh Exp $");
/*
-* NXP TDA19988 HDMI encoder
+* NXP TDA19988 HDMI encoder
*/
#include <sys/param.h>
#include <sys/systm.h>
@@ -49,10 +49,12 @@ __KERNEL_RCSID(0, "$NetBSD: tda19988.c,v
#include <dev/videomode/videomode.h>
#include <dev/videomode/edidvar.h>
-#include <drm/drmP.h>
+#include <drm/drm_bridge.h>
#include <drm/drm_crtc.h>
#include <drm/drm_crtc_helper.h>
+#include <drm/drm_drv.h>
#include <drm/drm_edid.h>
+#include <drm/drm_probe_helper.h>
enum {
TDA19988_PORT_INPUT = 0
@@ -729,7 +731,6 @@ tda19988_connector_get_modes(struct drm_
struct tda19988_connector *tda_connector = to_tda_connector(connector);
struct tda19988_softc * const sc = tda_connector->sc;
struct edid *pedid = NULL;
- int error;
if (sc->sc_edid_valid) {
pedid = (struct edid *)sc->sc_edid;
@@ -741,37 +742,15 @@ tda19988_connector_get_modes(struct drm_
sc->sc_edid_valid = true;
}
- drm_mode_connector_update_edid_property(connector, pedid);
+ drm_connector_update_edid_property(connector, pedid);
if (pedid == NULL)
return 0;
- error = drm_add_edid_modes(connector, pedid);
- drm_edid_to_eld(connector, pedid);
-
- return error;
-}
-
-static struct drm_encoder *
-tda19988_connector_best_encoder(struct drm_connector *connector)
-{
- int enc_id = connector->encoder_ids[0];
- struct drm_mode_object *obj;
- struct drm_encoder *encoder = NULL;
-
- if (enc_id) {
- obj = drm_mode_object_find(connector->dev, enc_id,
- DRM_MODE_OBJECT_ENCODER);
- if (obj == NULL)
- return NULL;
- encoder = obj_to_encoder(obj);
- }
-
- return encoder;
+ return drm_add_edid_modes(connector, pedid);
}
static const struct drm_connector_helper_funcs tda19988_connector_helper_funcs = {
.get_modes = tda19988_connector_get_modes,
- .best_encoder = tda19988_connector_best_encoder,
};
static int
@@ -792,8 +771,8 @@ tda19988_bridge_attach(struct drm_bridge
DRM_MODE_CONNECTOR_HDMIA);
drm_connector_helper_add(connector, &tda19988_connector_helper_funcs);
- error = drm_mode_connector_attach_encoder(connector, bridge->encoder);
- if (error != 0)
+ error = drm_connector_attach_encoder(connector, bridge->encoder);
+ if (error)
return error;
return drm_connector_register(connector);
@@ -827,7 +806,8 @@ tda19988_bridge_post_disable(struct drm_
static void
tda19988_bridge_mode_set(struct drm_bridge *bridge,
- struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode)
+ const struct drm_display_mode *mode,
+ const struct drm_display_mode *adjusted_mode)
{
struct tda19988_softc * const sc = bridge->driver_private;
@@ -882,12 +862,10 @@ tda19988_ep_activate(device_t dev, struc
sc->sc_bridge.driver_private = sc;
sc->sc_bridge.funcs = &tda19988_bridge_funcs;
sc->sc_bridge.encoder = encoder;
- error = drm_bridge_attach(encoder->dev, &sc->sc_bridge);
- if (error != 0)
+ error = drm_bridge_attach(encoder, &sc->sc_bridge, NULL);
+ if (error)
return EIO;
- encoder->bridge = &sc->sc_bridge;
-
return 0;
}