[PATCH 1/3] drm: add register and unregister functions for connectors

David Herrmann dh.herrmann at gmail.com
Tue Jun 10 09:21:35 PDT 2014


Hi

On Thu, May 29, 2014 at 5:57 PM, Thomas Wood <thomas.wood at intel.com> 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 at intel.com>
> ---
>  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 at gmail.com>

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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list