On Tue, May 21, 2024 at 05:36:43PM +0200, Alex Bee wrote: > Hi Keith, > > thanks a lot for working on this. See some general remarks below > > Am 21.05.24 um 12:58 schrieb keith: > > Add INNO common api so that it can be used by vendor > > drivers which implement vendor specific extensions to Innosilicon HDMI. > > > > Signed-off-by: keith <keith.zhao@xxxxxxxxxxxxxxxx> > > --- > > MAINTAINERS | 2 + > > drivers/gpu/drm/bridge/Kconfig | 2 + > > drivers/gpu/drm/bridge/Makefile | 1 + > > drivers/gpu/drm/bridge/innosilicon/Kconfig | 6 + > > drivers/gpu/drm/bridge/innosilicon/Makefile | 2 + > > .../gpu/drm/bridge/innosilicon/inno-hdmi.c | 587 ++++++++++++++++++ > > .../gpu/drm/bridge/innosilicon/inno-hdmi.h | 97 +++ > > include/drm/bridge/inno_hdmi.h | 69 ++ > > 8 files changed, 766 insertions(+) > > create mode 100644 drivers/gpu/drm/bridge/innosilicon/Kconfig > > create mode 100644 drivers/gpu/drm/bridge/innosilicon/Makefile > > create mode 100644 drivers/gpu/drm/bridge/innosilicon/inno-hdmi.c > > create mode 100644 drivers/gpu/drm/bridge/innosilicon/inno-hdmi.h > > create mode 100644 include/drm/bridge/inno_hdmi.h > > > .... > > > + drm_encoder_helper_add(encoder, pdata->helper_private); > > + > > + hdmi->connector.polled = DRM_CONNECTOR_POLL_HPD; > > + > > + drm_connector_helper_add(&hdmi->connector, > > + &inno_hdmi_connector_helper_funcs); > > + > > + drmm_connector_init(drm, &hdmi->connector, > > + &inno_hdmi_connector_funcs, > > + DRM_MODE_CONNECTOR_HDMIA, > > + hdmi->ddc); > > + > > I really don't want to anticipate bridge maintainer's feedback, but new > bridge drivers must not contain connector creation. That must happen > somewhere else. You're absolutely right :-) Connector creation should be handled by the drm_bridge_connector helper. The HDMI bridge driver should focus on the HDMI bridge itself. > Also I'm neither seeing any drm_brige struct nor drm_bridge_funcs, which > are both essential for a bridge driver. I don't think moving a part of a > driver to .../drm/bridge/ makes it a bridge driver. > > > + drm_connector_attach_encoder(&hdmi->connector, encoder); > > + > > + return 0; > > +} > > + > .... > -- Regards, Laurent Pinchart