Hi On Thu, May 29, 2014 at 5:57 PM, Thomas Wood <thomas.wood@xxxxxxxxx> wrote: > Introduce generic functions to register and unregister connectors. This > provides a common place to add and remove associated user space > interfaces. > > Signed-off-by: Thomas Wood <thomas.wood@xxxxxxxxx> > --- > Documentation/DocBook/drm.tmpl | 6 +++--- > drivers/gpu/drm/armada/armada_output.c | 4 ++-- > drivers/gpu/drm/ast/ast_mode.c | 4 ++-- > drivers/gpu/drm/bridge/ptn3460.c | 2 +- > drivers/gpu/drm/drm_crtc.c | 30 ++++++++++++++++++++++++++- > drivers/gpu/drm/drm_sysfs.c | 2 -- > drivers/gpu/drm/exynos/exynos_dp_core.c | 2 +- > drivers/gpu/drm/exynos/exynos_drm_connector.c | 6 +++--- > drivers/gpu/drm/exynos/exynos_drm_dpi.c | 4 ++-- > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 2 +- > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 2 +- > drivers/gpu/drm/exynos/exynos_hdmi.c | 2 +- > drivers/gpu/drm/gma500/cdv_intel_crt.c | 4 ++-- > drivers/gpu/drm/gma500/cdv_intel_dp.c | 4 ++-- > drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 4 ++-- > drivers/gpu/drm/gma500/cdv_intel_lvds.c | 4 ++-- > drivers/gpu/drm/gma500/mdfld_dsi_output.c | 4 ++-- > drivers/gpu/drm/gma500/oaktrail_hdmi.c | 2 +- > drivers/gpu/drm/gma500/oaktrail_lvds.c | 2 +- > drivers/gpu/drm/gma500/psb_intel_lvds.c | 4 ++-- > drivers/gpu/drm/gma500/psb_intel_sdvo.c | 4 ++-- > drivers/gpu/drm/i915/intel_crt.c | 2 +- > drivers/gpu/drm/i915/intel_display.c | 2 +- > drivers/gpu/drm/i915/intel_dp.c | 4 ++-- > drivers/gpu/drm/i915/intel_dsi.c | 2 +- > drivers/gpu/drm/i915/intel_dvo.c | 2 +- > drivers/gpu/drm/i915/intel_hdmi.c | 2 +- > drivers/gpu/drm/i915/intel_lvds.c | 2 +- > drivers/gpu/drm/i915/intel_sdvo.c | 10 ++++----- > drivers/gpu/drm/i915/intel_tv.c | 2 +- > drivers/gpu/drm/mgag200/mgag200_mode.c | 2 +- > drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 4 ++-- > drivers/gpu/drm/nouveau/nouveau_connector.c | 4 ++-- > drivers/gpu/drm/omapdrm/omap_connector.c | 4 ++-- > drivers/gpu/drm/qxl/qxl_display.c | 4 ++-- > drivers/gpu/drm/radeon/radeon_connectors.c | 6 +++--- > drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 4 ++-- > drivers/gpu/drm/rcar-du/rcar_du_vgacon.c | 4 ++-- > drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 6 +++--- > drivers/gpu/drm/tegra/output.c | 4 ++-- > drivers/gpu/drm/tilcdc/tilcdc_panel.c | 2 +- > drivers/gpu/drm/tilcdc/tilcdc_slave.c | 2 +- > drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 2 +- > drivers/gpu/drm/udl/udl_connector.c | 4 ++-- > drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 2 +- > drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 2 +- > drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 2 +- > drivers/staging/imx-drm/imx-drm-core.c | 6 +++--- You even caught imx.. and you removed the EXPORT_SYMBOL. So looks all good to me. I like that refactoring and I don't think we need an ACK from all driver authors. This is: Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Maybe Daniel or Dave can pick this up? Thanks David > include/drm/drm_crtc.h | 2 ++ > 49 files changed, 110 insertions(+), 82 deletions(-) > > diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl > index 00f1c25..0f96b25 100644 > --- a/Documentation/DocBook/drm.tmpl > +++ b/Documentation/DocBook/drm.tmpl > @@ -1574,7 +1574,7 @@ int max_width, max_height;</synopsis> > The connector is then registered with a call to > <function>drm_connector_init</function> with a pointer to the connector > functions and a connector type, and exposed through sysfs with a call to > - <function>drm_sysfs_connector_add</function>. > + <function>drm_connector_register</function>. > </para> > <para> > Supported connector types are > @@ -1732,7 +1732,7 @@ int max_width, max_height;</synopsis> > (<function>drm_encoder_cleanup</function>) and connectors > (<function>drm_connector_cleanup</function>). Furthermore, connectors > that have been added to sysfs must be removed by a call to > - <function>drm_sysfs_connector_remove</function> before calling > + <function>drm_connector_unregister</function> before calling > <function>drm_connector_cleanup</function>. > </para> > <para> > @@ -1777,7 +1777,7 @@ void intel_crt_init(struct drm_device *dev) > drm_encoder_helper_add(&intel_output->enc, &intel_crt_helper_funcs); > drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > }]]></programlisting> > <para> > In the example above (taken from the i915 driver), a CRTC, connector and > diff --git a/drivers/gpu/drm/armada/armada_output.c b/drivers/gpu/drm/armada/armada_output.c > index d685a54..abbc309 100644 > --- a/drivers/gpu/drm/armada/armada_output.c > +++ b/drivers/gpu/drm/armada/armada_output.c > @@ -48,7 +48,7 @@ static void armada_drm_connector_destroy(struct drm_connector *conn) > { > struct armada_connector *dconn = drm_to_armada_conn(conn); > > - drm_sysfs_connector_remove(conn); > + drm_connector_unregister(conn); > drm_connector_cleanup(conn); > kfree(dconn); > } > @@ -141,7 +141,7 @@ int armada_output_create(struct drm_device *dev, > if (ret) > goto err_conn; > > - ret = drm_sysfs_connector_add(&dconn->conn); > + ret = drm_connector_register(&dconn->conn); > if (ret) > goto err_sysfs; > > diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c > index 114aee9..9896286 100644 > --- a/drivers/gpu/drm/ast/ast_mode.c > +++ b/drivers/gpu/drm/ast/ast_mode.c > @@ -829,7 +829,7 @@ static void ast_connector_destroy(struct drm_connector *connector) > { > struct ast_connector *ast_connector = to_ast_connector(connector); > ast_i2c_destroy(ast_connector->i2c); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(connector); > } > @@ -871,7 +871,7 @@ static int ast_connector_init(struct drm_device *dev) > connector->interlace_allowed = 0; > connector->doublescan_allowed = 0; > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > connector->polled = DRM_CONNECTOR_POLL_CONNECT; > > diff --git a/drivers/gpu/drm/bridge/ptn3460.c b/drivers/gpu/drm/bridge/ptn3460.c > index 98fd17a..d466696 100644 > --- a/drivers/gpu/drm/bridge/ptn3460.c > +++ b/drivers/gpu/drm/bridge/ptn3460.c > @@ -328,7 +328,7 @@ int ptn3460_init(struct drm_device *dev, struct drm_encoder *encoder, > } > drm_connector_helper_add(&ptn_bridge->connector, > &ptn3460_connector_helper_funcs); > - drm_sysfs_connector_add(&ptn_bridge->connector); > + drm_connector_register(&ptn_bridge->connector); > drm_mode_connector_attach_encoder(&ptn_bridge->connector, encoder); > > return 0; > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 37a3e07..998663c 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -881,6 +881,34 @@ void drm_connector_cleanup(struct drm_connector *connector) > EXPORT_SYMBOL(drm_connector_cleanup); > > /** > + * drm_connector_register - register a connector > + * @connector: the connector to register > + * > + * Register userspace interfaces for a connector > + * > + * Returns: > + * Zero on success, error code on failure. > + */ > +int drm_connector_register(struct drm_connector *connector) > +{ > + return drm_sysfs_connector_add(connector); > +} > +EXPORT_SYMBOL(drm_connector_register); > + > +/** > + * drm_connector_unregister - unregister a connector > + * @connector: the connector to unregister > + * > + * Unregister userspace interfaces for a connector > + */ > +void drm_connector_unregister(struct drm_connector *connector) > +{ > + drm_sysfs_connector_remove(connector); > +} > +EXPORT_SYMBOL(drm_connector_unregister); > + > + > +/** > * drm_connector_unplug_all - unregister connector userspace interfaces > * @dev: drm device > * > @@ -894,7 +922,7 @@ void drm_connector_unplug_all(struct drm_device *dev) > > /* taking the mode config mutex ends up in a clash with sysfs */ > list_for_each_entry(connector, &dev->mode_config.connector_list, head) > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > > } > EXPORT_SYMBOL(drm_connector_unplug_all); > diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c > index c22c309..5fb194f 100644 > --- a/drivers/gpu/drm/drm_sysfs.c > +++ b/drivers/gpu/drm/drm_sysfs.c > @@ -438,7 +438,6 @@ err_out_files: > out: > return ret; > } > -EXPORT_SYMBOL(drm_sysfs_connector_add); > > /** > * drm_sysfs_connector_remove - remove an connector device from sysfs > @@ -468,7 +467,6 @@ void drm_sysfs_connector_remove(struct drm_connector *connector) > device_unregister(connector->kdev); > connector->kdev = NULL; > } > -EXPORT_SYMBOL(drm_sysfs_connector_remove); > > /** > * drm_sysfs_hotplug_event - generate a DRM uevent > diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c > index bb74472..a643fba 100644 > --- a/drivers/gpu/drm/exynos/exynos_dp_core.c > +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c > @@ -1025,7 +1025,7 @@ static int exynos_dp_create_connector(struct exynos_drm_display *display, > } > > drm_connector_helper_add(connector, &exynos_dp_connector_helper_funcs); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > drm_mode_connector_attach_encoder(connector, encoder); > > return 0; > diff --git a/drivers/gpu/drm/exynos/exynos_drm_connector.c b/drivers/gpu/drm/exynos/exynos_drm_connector.c > index 9a16dbe..25c7888 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_connector.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_connector.c > @@ -185,7 +185,7 @@ static void exynos_drm_connector_destroy(struct drm_connector *connector) > struct exynos_drm_connector *exynos_connector = > to_exynos_connector(connector); > > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(exynos_connector); > } > @@ -230,7 +230,7 @@ struct drm_connector *exynos_drm_connector_create(struct drm_device *dev, > drm_connector_init(dev, connector, &exynos_connector_funcs, type); > drm_connector_helper_add(connector, &exynos_connector_helper_funcs); > > - err = drm_sysfs_connector_add(connector); > + err = drm_connector_register(connector); > if (err) > goto err_connector; > > @@ -250,7 +250,7 @@ struct drm_connector *exynos_drm_connector_create(struct drm_device *dev, > return connector; > > err_sysfs: > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > err_connector: > drm_connector_cleanup(connector); > kfree(exynos_connector); > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c > index 82e52c7..6d71591 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dpi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dpi.c > @@ -58,7 +58,7 @@ exynos_dpi_detect(struct drm_connector *connector, bool force) > > static void exynos_dpi_connector_destroy(struct drm_connector *connector) > { > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > } > > @@ -130,7 +130,7 @@ static int exynos_dpi_create_connector(struct exynos_drm_display *display, > } > > drm_connector_helper_add(connector, &exynos_dpi_connector_helper_funcs); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > drm_mode_connector_attach_encoder(connector, encoder); > > return 0; > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > index 4ac4381..d6358d1 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > @@ -1245,7 +1245,7 @@ static int exynos_dsi_create_connector(struct exynos_drm_display *display, > } > > drm_connector_helper_add(connector, &exynos_dsi_connector_helper_funcs); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > drm_mode_connector_attach_encoder(connector, encoder); > > return 0; > diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c > index 3fa987d..c4693c1 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c > @@ -563,7 +563,7 @@ static int vidi_create_connector(struct exynos_drm_display *display, > } > > drm_connector_helper_add(connector, &vidi_connector_helper_funcs); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > drm_mode_connector_attach_encoder(connector, encoder); > > return 0; > diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c > index 9a6d652..5bcbd83 100644 > --- a/drivers/gpu/drm/exynos/exynos_hdmi.c > +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c > @@ -922,7 +922,7 @@ static int hdmi_create_connector(struct exynos_drm_display *display, > } > > drm_connector_helper_add(connector, &hdmi_connector_helper_funcs); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > drm_mode_connector_attach_encoder(connector, encoder); > > return 0; > diff --git a/drivers/gpu/drm/gma500/cdv_intel_crt.c b/drivers/gpu/drm/gma500/cdv_intel_crt.c > index c18268c..248c33a 100644 > --- a/drivers/gpu/drm/gma500/cdv_intel_crt.c > +++ b/drivers/gpu/drm/gma500/cdv_intel_crt.c > @@ -192,7 +192,7 @@ static void cdv_intel_crt_destroy(struct drm_connector *connector) > struct gma_encoder *gma_encoder = gma_attached_encoder(connector); > > psb_intel_i2c_destroy(gma_encoder->ddc_bus); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(connector); > } > @@ -304,7 +304,7 @@ void cdv_intel_crt_init(struct drm_device *dev, > drm_connector_helper_add(connector, > &cdv_intel_crt_connector_helper_funcs); > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > return; > failed_ddc: > diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c > index 9ff30c2..a4cc0e6 100644 > --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c > +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c > @@ -1713,7 +1713,7 @@ cdv_intel_dp_destroy(struct drm_connector *connector) > } > } > i2c_del_adapter(&intel_dp->adapter); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(connector); > } > @@ -1847,7 +1847,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev > connector->interlace_allowed = false; > connector->doublescan_allowed = false; > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > /* Set up the DDC bus. */ > switch (output_reg) { > diff --git a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c > index b99084b..4268bf2 100644 > --- a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c > +++ b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c > @@ -248,7 +248,7 @@ static void cdv_hdmi_destroy(struct drm_connector *connector) > > if (gma_encoder->i2c_bus) > psb_intel_i2c_destroy(gma_encoder->i2c_bus); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(connector); > } > @@ -356,7 +356,7 @@ void cdv_hdmi_init(struct drm_device *dev, > > hdmi_priv->hdmi_i2c_adapter = &(gma_encoder->i2c_bus->adapter); > hdmi_priv->dev = dev; > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > return; > > failed_ddc: > diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c b/drivers/gpu/drm/gma500/cdv_intel_lvds.c > index 8ecc920..0b77039 100644 > --- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c > +++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c > @@ -446,7 +446,7 @@ static void cdv_intel_lvds_destroy(struct drm_connector *connector) > > if (gma_encoder->i2c_bus) > psb_intel_i2c_destroy(gma_encoder->i2c_bus); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(connector); > } > @@ -774,7 +774,7 @@ void cdv_intel_lvds_init(struct drm_device *dev, > > out: > mutex_unlock(&dev->mode_config.mutex); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > return; > > failed_find: > diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_output.c b/drivers/gpu/drm/gma500/mdfld_dsi_output.c > index 6e91b20..abf2248 100644 > --- a/drivers/gpu/drm/gma500/mdfld_dsi_output.c > +++ b/drivers/gpu/drm/gma500/mdfld_dsi_output.c > @@ -318,7 +318,7 @@ static void mdfld_dsi_connector_destroy(struct drm_connector *connector) > > if (!dsi_connector) > return; > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > sender = dsi_connector->pkg_sender; > mdfld_dsi_pkg_sender_destroy(sender); > @@ -597,7 +597,7 @@ void mdfld_dsi_output_init(struct drm_device *dev, > dsi_config->encoder = encoder; > encoder->base.type = (pipe == 0) ? INTEL_OUTPUT_MIPI : > INTEL_OUTPUT_MIPI2; > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > return; > > /*TODO: add code to destroy outputs on error*/ > diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi.c b/drivers/gpu/drm/gma500/oaktrail_hdmi.c > index cf018dd..e6f5c62 100644 > --- a/drivers/gpu/drm/gma500/oaktrail_hdmi.c > +++ b/drivers/gpu/drm/gma500/oaktrail_hdmi.c > @@ -665,7 +665,7 @@ void oaktrail_hdmi_init(struct drm_device *dev, > connector->display_info.subpixel_order = SubPixelHorizontalRGB; > connector->interlace_allowed = false; > connector->doublescan_allowed = false; > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > dev_info(dev->dev, "HDMI initialised.\n"); > > return; > diff --git a/drivers/gpu/drm/gma500/oaktrail_lvds.c b/drivers/gpu/drm/gma500/oaktrail_lvds.c > index 9b09946..0d39da6 100644 > --- a/drivers/gpu/drm/gma500/oaktrail_lvds.c > +++ b/drivers/gpu/drm/gma500/oaktrail_lvds.c > @@ -404,7 +404,7 @@ void oaktrail_lvds_init(struct drm_device *dev, > out: > mutex_unlock(&dev->mode_config.mutex); > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > return; > > failed_find: > diff --git a/drivers/gpu/drm/gma500/psb_intel_lvds.c b/drivers/gpu/drm/gma500/psb_intel_lvds.c > index d7778d0..88aad95 100644 > --- a/drivers/gpu/drm/gma500/psb_intel_lvds.c > +++ b/drivers/gpu/drm/gma500/psb_intel_lvds.c > @@ -563,7 +563,7 @@ void psb_intel_lvds_destroy(struct drm_connector *connector) > > if (lvds_priv->ddc_bus) > psb_intel_i2c_destroy(lvds_priv->ddc_bus); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(connector); > } > @@ -829,7 +829,7 @@ void psb_intel_lvds_init(struct drm_device *dev, > */ > out: > mutex_unlock(&dev->mode_config.mutex); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > return; > > failed_find: > diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c b/drivers/gpu/drm/gma500/psb_intel_sdvo.c > index deeb082..0be96fd 100644 > --- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c > +++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c > @@ -1682,7 +1682,7 @@ static void psb_intel_sdvo_destroy(struct drm_connector *connector) > psb_intel_sdvo_connector->tv_format); > > psb_intel_sdvo_destroy_enhance_property(connector); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(connector); > } > @@ -2071,7 +2071,7 @@ psb_intel_sdvo_connector_init(struct psb_intel_sdvo_connector *connector, > connector->base.base.display_info.subpixel_order = SubPixelHorizontalRGB; > > gma_connector_attach_encoder(&connector->base, &encoder->base); > - drm_sysfs_connector_add(&connector->base.base); > + drm_connector_register(&connector->base.base); > } > > static void > diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c > index 22d8347..349f02a 100644 > --- a/drivers/gpu/drm/i915/intel_crt.c > +++ b/drivers/gpu/drm/i915/intel_crt.c > @@ -868,7 +868,7 @@ void intel_crt_init(struct drm_device *dev) > > drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > if (!I915_HAS_HOTPLUG(dev)) > intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT; > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 731cd01..4746fb6 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12223,7 +12223,7 @@ void intel_connector_unregister(struct intel_connector *intel_connector) > struct drm_connector *connector = &intel_connector->base; > > intel_panel_destroy_backlight(connector); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > } > > void intel_modeset_cleanup(struct drm_device *dev) > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 7d31769..f4a2736 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -4309,7 +4309,7 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port, > edp_panel_vdd_work); > > intel_connector_attach_encoder(intel_connector, intel_encoder); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > if (HAS_DDI(dev)) > intel_connector->get_hw_state = intel_ddi_connector_get_hw_state; > @@ -4350,7 +4350,7 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port, > edp_panel_vdd_off_sync(intel_dp); > mutex_unlock(&dev->mode_config.mutex); > } > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > return false; > } > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 9d789b3..7dcfe76 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -742,7 +742,7 @@ void intel_dsi_init(struct drm_device *dev) > > intel_connector_attach_encoder(intel_connector, intel_encoder); > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > fixed_mode = dsi->dev_ops->get_modes(&intel_dsi->dev); > if (!fixed_mode) { > diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c > index 1604235..8959c17 100644 > --- a/drivers/gpu/drm/i915/intel_dvo.c > +++ b/drivers/gpu/drm/i915/intel_dvo.c > @@ -558,7 +558,7 @@ void intel_dvo_init(struct drm_device *dev) > intel_dvo->panel_wants_dither = true; > } > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > return; > } > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 70a89cc..de33242 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -1554,7 +1554,7 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, > intel_hdmi_add_properties(intel_hdmi, connector); > > intel_connector_attach_encoder(intel_connector, intel_encoder); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > /* For G4X desktop chip, PEG_BAND_GAP_DATA 3:0 must first be written > * 0xd. Failure to do so will result in spurious interrupts being > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c > index d1539f3..e28cdd1 100644 > --- a/drivers/gpu/drm/i915/intel_lvds.c > +++ b/drivers/gpu/drm/i915/intel_lvds.c > @@ -1097,7 +1097,7 @@ out: > DRM_DEBUG_KMS("lid notifier registration failed\n"); > lvds_connector->lid_notifier.notifier_call = NULL; > } > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > intel_panel_init(&intel_connector->panel, fixed_mode, downclock_mode); > intel_panel_setup_backlight(connector); > diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c > index aa2c609..02031aa 100644 > --- a/drivers/gpu/drm/i915/intel_sdvo.c > +++ b/drivers/gpu/drm/i915/intel_sdvo.c > @@ -2431,7 +2431,7 @@ intel_sdvo_connector_init(struct intel_sdvo_connector *connector, > connector->base.unregister = intel_sdvo_connector_unregister; > > intel_connector_attach_encoder(&connector->base, &encoder->base); > - ret = drm_sysfs_connector_add(drm_connector); > + ret = drm_connector_register(drm_connector); > if (ret < 0) > goto err1; > > @@ -2444,7 +2444,7 @@ intel_sdvo_connector_init(struct intel_sdvo_connector *connector, > return 0; > > err2: > - drm_sysfs_connector_remove(drm_connector); > + drm_connector_unregister(drm_connector); > err1: > drm_connector_cleanup(drm_connector); > > @@ -2557,7 +2557,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) > return true; > > err: > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > intel_sdvo_destroy(connector); > return false; > } > @@ -2636,7 +2636,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) > return true; > > err: > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > intel_sdvo_destroy(connector); > return false; > } > @@ -2709,7 +2709,7 @@ static void intel_sdvo_output_cleanup(struct intel_sdvo *intel_sdvo) > list_for_each_entry_safe(connector, tmp, > &dev->mode_config.connector_list, head) { > if (intel_attached_encoder(connector) == &intel_sdvo->base) { > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > intel_sdvo_destroy(connector); > } > } > diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c > index e0193e8..2c970b3 100644 > --- a/drivers/gpu/drm/i915/intel_tv.c > +++ b/drivers/gpu/drm/i915/intel_tv.c > @@ -1679,5 +1679,5 @@ intel_tv_init(struct drm_device *dev) > drm_object_attach_property(&connector->base, > dev->mode_config.tv_bottom_margin_property, > intel_tv->margin[TV_MARGIN_BOTTOM]); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > } > diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c > index a034ed4..f9fe390 100644 > --- a/drivers/gpu/drm/mgag200/mgag200_mode.c > +++ b/drivers/gpu/drm/mgag200/mgag200_mode.c > @@ -1621,7 +1621,7 @@ static struct drm_connector *mga_vga_init(struct drm_device *dev) > > drm_connector_helper_add(connector, &mga_vga_connector_helper_funcs); > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > mga_connector->i2c = mgag200_i2c_create(dev); > if (!mga_connector->i2c) > diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > index 7dedfdd..07af5c9 100644 > --- a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > +++ b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > @@ -285,7 +285,7 @@ static void hdmi_connector_destroy(struct drm_connector *connector) > > hdp_disable(hdmi_connector); > > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > > hdmi_unreference(hdmi_connector->hdmi); > @@ -394,7 +394,7 @@ struct drm_connector *hdmi_connector_init(struct hdmi *hdmi) > connector->interlace_allowed = 1; > connector->doublescan_allowed = 0; > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > ret = hpd_enable(hdmi_connector); > if (ret) { > diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c > index d07ce02..8ff798b 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_connector.c > +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c > @@ -102,7 +102,7 @@ nouveau_connector_destroy(struct drm_connector *connector) > struct nouveau_connector *nv_connector = nouveau_connector(connector); > nouveau_event_ref(NULL, &nv_connector->hpd_func); > kfree(nv_connector->edid); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(connector); > } > @@ -1170,6 +1170,6 @@ nouveau_connector_create(struct drm_device *dev, int index) > if (nv_connector->hpd.func != DCB_GPIO_UNUSED) > connector->polled = DRM_CONNECTOR_POLL_HPD; > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > return connector; > } > diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c > index 86f4ead..36bc5cc 100644 > --- a/drivers/gpu/drm/omapdrm/omap_connector.c > +++ b/drivers/gpu/drm/omapdrm/omap_connector.c > @@ -130,7 +130,7 @@ static void omap_connector_destroy(struct drm_connector *connector) > struct omap_dss_device *dssdev = omap_connector->dssdev; > > DBG("%s", omap_connector->dssdev->name); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(omap_connector); > > @@ -307,7 +307,7 @@ struct drm_connector *omap_connector_init(struct drm_device *dev, > connector->interlace_allowed = 1; > connector->doublescan_allowed = 0; > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > return connector; > > diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c > index 3ab9072..f09ffb4 100644 > --- a/drivers/gpu/drm/qxl/qxl_display.c > +++ b/drivers/gpu/drm/qxl/qxl_display.c > @@ -831,7 +831,7 @@ static void qxl_conn_destroy(struct drm_connector *connector) > struct qxl_output *qxl_output = > drm_connector_to_qxl_output(connector); > > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(qxl_output); > } > @@ -898,7 +898,7 @@ static int qdev_output_init(struct drm_device *dev, int num_output) > > drm_object_attach_property(&connector->base, > qdev->hotplug_mode_update_property, 0); > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > return 0; > } > > diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c > index ea50e0a..5d9c55b 100644 > --- a/drivers/gpu/drm/radeon/radeon_connectors.c > +++ b/drivers/gpu/drm/radeon/radeon_connectors.c > @@ -676,7 +676,7 @@ static void radeon_connector_destroy(struct drm_connector *connector) > if (radeon_connector->edid) > kfree(radeon_connector->edid); > kfree(radeon_connector->con_priv); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(connector); > } > @@ -1976,7 +1976,7 @@ radeon_add_atom_connector(struct drm_device *dev, > connector->polled = DRM_CONNECTOR_POLL_HPD; > > connector->display_info.subpixel_order = subpixel_order; > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > if (has_aux) > radeon_dp_aux_init(radeon_connector); > @@ -2137,5 +2137,5 @@ radeon_add_legacy_connector(struct drm_device *dev, > } else > connector->polled = DRM_CONNECTOR_POLL_HPD; > connector->display_info.subpixel_order = subpixel_order; > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > } > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > index 289048d..21426bd 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > @@ -64,7 +64,7 @@ static const struct drm_connector_helper_funcs connector_helper_funcs = { > > static void rcar_du_lvds_connector_destroy(struct drm_connector *connector) > { > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > } > > @@ -105,7 +105,7 @@ int rcar_du_lvds_connector_init(struct rcar_du_device *rcdu, > return ret; > > drm_connector_helper_add(connector, &connector_helper_funcs); > - ret = drm_sysfs_connector_add(connector); > + ret = drm_connector_register(connector); > if (ret < 0) > return ret; > > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vgacon.c b/drivers/gpu/drm/rcar-du/rcar_du_vgacon.c > index ccfe64c..8af3944 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_vgacon.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_vgacon.c > @@ -32,7 +32,7 @@ static const struct drm_connector_helper_funcs connector_helper_funcs = { > > static void rcar_du_vga_connector_destroy(struct drm_connector *connector) > { > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > } > > @@ -70,7 +70,7 @@ int rcar_du_vga_connector_init(struct rcar_du_device *rcdu, > return ret; > > drm_connector_helper_add(connector, &connector_helper_funcs); > - ret = drm_sysfs_connector_add(connector); > + ret = drm_connector_register(connector); > if (ret < 0) > return ret; > > diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c > index faf176b..47875de 100644 > --- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c > +++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c > @@ -692,7 +692,7 @@ static void shmob_drm_connector_destroy(struct drm_connector *connector) > struct shmob_drm_connector *scon = to_shmob_connector(connector); > > shmob_drm_backlight_exit(scon); > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > } > > @@ -726,7 +726,7 @@ int shmob_drm_connector_create(struct shmob_drm_device *sdev, > return ret; > > drm_connector_helper_add(connector, &connector_helper_funcs); > - ret = drm_sysfs_connector_add(connector); > + ret = drm_connector_register(connector); > if (ret < 0) > goto err_cleanup; > > @@ -749,7 +749,7 @@ int shmob_drm_connector_create(struct shmob_drm_device *sdev, > err_backlight: > shmob_drm_backlight_exit(&sdev->connector); > err_sysfs: > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > err_cleanup: > drm_connector_cleanup(connector); > return ret; > diff --git a/drivers/gpu/drm/tegra/output.c b/drivers/gpu/drm/tegra/output.c > index a3e4f1e..446837e 100644 > --- a/drivers/gpu/drm/tegra/output.c > +++ b/drivers/gpu/drm/tegra/output.c > @@ -105,7 +105,7 @@ static void drm_connector_clear(struct drm_connector *connector) > > static void tegra_connector_destroy(struct drm_connector *connector) > { > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > drm_connector_clear(connector); > } > @@ -318,7 +318,7 @@ int tegra_output_init(struct drm_device *drm, struct tegra_output *output) > drm_encoder_helper_add(&output->encoder, &encoder_helper_funcs); > > drm_mode_connector_attach_encoder(&output->connector, &output->encoder); > - drm_sysfs_connector_add(&output->connector); > + drm_connector_register(&output->connector); > > output->encoder.possible_crtcs = 0x3; > > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c > index 86c6732..0c0bce7 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c > @@ -247,7 +247,7 @@ static struct drm_connector *panel_connector_create(struct drm_device *dev, > if (ret) > goto fail; > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > return connector; > > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_slave.c b/drivers/gpu/drm/tilcdc/tilcdc_slave.c > index 595068b..c578d14 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_slave.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_slave.c > @@ -261,7 +261,7 @@ static struct drm_connector *slave_connector_create(struct drm_device *dev, > if (ret) > goto fail; > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > return connector; > > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > index c38b56b..5324dfd 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > @@ -261,7 +261,7 @@ static struct drm_connector *tfp410_connector_create(struct drm_device *dev, > if (ret) > goto fail; > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > > return connector; > > diff --git a/drivers/gpu/drm/udl/udl_connector.c b/drivers/gpu/drm/udl/udl_connector.c > index b44d548..dea38ab 100644 > --- a/drivers/gpu/drm/udl/udl_connector.c > +++ b/drivers/gpu/drm/udl/udl_connector.c > @@ -124,7 +124,7 @@ static int udl_connector_set_property(struct drm_connector *connector, > > static void udl_connector_destroy(struct drm_connector *connector) > { > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > kfree(connector); > } > @@ -154,7 +154,7 @@ int udl_connector_init(struct drm_device *dev, struct drm_encoder *encoder) > drm_connector_init(dev, connector, &udl_connector_funcs, DRM_MODE_CONNECTOR_DVII); > drm_connector_helper_add(connector, &udl_connector_helper_funcs); > > - drm_sysfs_connector_add(connector); > + drm_connector_register(connector); > drm_mode_connector_attach_encoder(connector, encoder); > > drm_object_attach_property(&connector->base, > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > index e7199b4..c76337c 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > @@ -75,7 +75,7 @@ void vmw_display_unit_cleanup(struct vmw_display_unit *du) > vmw_surface_unreference(&du->cursor_surface); > if (du->cursor_dmabuf) > vmw_dmabuf_unreference(&du->cursor_dmabuf); > - drm_sysfs_connector_remove(&du->connector); > + drm_connector_unregister(&du->connector); > drm_crtc_cleanup(&du->crtc); > drm_encoder_cleanup(&du->encoder); > drm_connector_cleanup(&du->connector); > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c > index b2b9bd2..15e185a 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c > @@ -371,7 +371,7 @@ static int vmw_ldu_init(struct vmw_private *dev_priv, unsigned unit) > encoder->possible_crtcs = (1 << unit); > encoder->possible_clones = 0; > > - (void) drm_sysfs_connector_add(connector); > + (void) drm_connector_register(connector); > > drm_crtc_init(dev, crtc, &vmw_legacy_crtc_funcs); > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c > index a95d3a0..b295463 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c > @@ -467,7 +467,7 @@ static int vmw_sou_init(struct vmw_private *dev_priv, unsigned unit) > encoder->possible_crtcs = (1 << unit); > encoder->possible_clones = 0; > > - (void) drm_sysfs_connector_add(connector); > + (void) drm_connector_register(connector); > > drm_crtc_init(dev, crtc, &vmw_screen_object_crtc_funcs); > > diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c > index 73b5986..d0117b4 100644 > --- a/drivers/staging/imx-drm/imx-drm-core.c > +++ b/drivers/staging/imx-drm/imx-drm-core.c > @@ -202,7 +202,7 @@ static const struct file_operations imx_drm_driver_fops = { > > void imx_drm_connector_destroy(struct drm_connector *connector) > { > - drm_sysfs_connector_remove(connector); > + drm_connector_unregister(connector); > drm_connector_cleanup(connector); > } > EXPORT_SYMBOL_GPL(imx_drm_connector_destroy); > @@ -293,10 +293,10 @@ static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags) > * userspace will expect to be able to access DRM at this point. > */ > list_for_each_entry(connector, &drm->mode_config.connector_list, head) { > - ret = drm_sysfs_connector_add(connector); > + ret = drm_connector_register(connector); > if (ret) { > dev_err(drm->dev, > - "[CONNECTOR:%d:%s] drm_sysfs_connector_add failed: %d\n", > + "[CONNECTOR:%d:%s] drm_connector_register failed: %d\n", > connector->base.id, > drm_get_connector_name(connector), ret); > goto err_unbind; > diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h > index 5c1c31c..51e6255 100644 > --- a/include/drm/drm_crtc.h > +++ b/include/drm/drm_crtc.h > @@ -860,6 +860,8 @@ extern int drm_connector_init(struct drm_device *dev, > struct drm_connector *connector, > const struct drm_connector_funcs *funcs, > int connector_type); > +int drm_connector_register(struct drm_connector *connector); > +void drm_connector_unregister(struct drm_connector *connector); > > extern void drm_connector_cleanup(struct drm_connector *connector); > /* helper to unplug all connectors from sysfs for device */ > -- > 1.9.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx