Hi Andrzej. On Wed, Jul 24, 2019 at 03:59:24PM +0200, Andrzej Pietrasiewicz wrote: > Allow passing ddc adapter pointer to the init function. Even if > drm_connector_init() sometime in the future decides to e.g. memset() all > connector fields to zeros, the newly added function ensures that at its > completion the ddc member of connector is correctly set. > > Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxxxx> > --- > drivers/gpu/drm/drm_connector.c | 19 +++++++++++++++++++ > include/drm/drm_connector.h | 5 +++++ > 2 files changed, 24 insertions(+) > > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c > index 068d4b05f1be..06fbfc44fb48 100644 > --- a/drivers/gpu/drm/drm_connector.c > +++ b/drivers/gpu/drm/drm_connector.c > @@ -296,6 +296,25 @@ int drm_connector_init(struct drm_device *dev, > } > EXPORT_SYMBOL(drm_connector_init); > > +int drm_connector_init_with_ddc(struct drm_device *dev, > + struct drm_connector *connector, > + const struct drm_connector_funcs *funcs, > + int connector_type, > + struct i2c_adapter *ddc) > +{ This is good, with this helper there is no longer any confusion about ordering. drm_connector_init_with_ddc() is part of the public interface for drm_connector and needs kernel-doc documentation. Sam > + int ret; > + > + ret = drm_connector_init(dev, connector, funcs, connector_type); > + if (ret) > + return ret; > + > + /* provide ddc symlink in sysfs */ > + connector->ddc = ddc; > + > + return ret; > +} > +EXPORT_SYMBOL(drm_connector_init_with_ddc); > + > /** > * drm_connector_attach_edid_property - attach edid property. > * @connector: the connector > diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h > index 33a6fff85fdb..937fda9c1374 100644 > --- a/include/drm/drm_connector.h > +++ b/include/drm/drm_connector.h > @@ -1410,6 +1410,11 @@ int drm_connector_init(struct drm_device *dev, > struct drm_connector *connector, > const struct drm_connector_funcs *funcs, > int connector_type); > +int drm_connector_init_with_ddc(struct drm_device *dev, > + struct drm_connector *connector, > + const struct drm_connector_funcs *funcs, > + int connector_type, > + struct i2c_adapter *ddc); > void drm_connector_attach_edid_property(struct drm_connector *connector); > int drm_connector_register(struct drm_connector *connector); > void drm_connector_unregister(struct drm_connector *connector); > -- > 2.17.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel