On Fri, Jun 17, 2016 at 09:25:17AM +0100, Chris Wilson wrote: > As the drm_connector is now safe for multiple calls to > register/unregister, automatically perform a registration on all known > connectors drm drv_register (and unregister from drm_drv_unregister). > Drivers can still call drm_connector_register() and > drm_connector_unregister() individually, or defer as required. > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> > Cc: Daniel Vetter <daniel.vetter at ffwll.ch> > Cc: dri-devel at lists.freedesktop.org
Applied to drm-misc. I'll let driver maintainers have a little bit more time to ack or test the patches before I vacuum them up. Thanks, Daniel > --- > drivers/gpu/drm/drm_crtc.c | 6 +++--- > drivers/gpu/drm/drm_drv.c | 10 +++++----- > 2 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 316dea9bea08..e7c862bd2f19 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -1047,9 +1047,9 @@ EXPORT_SYMBOL(drm_connector_unregister); > * @dev: drm device > * > * This function registers all connectors in sysfs and other places so that > - * userspace can start to access them. Drivers can call it after calling > - * drm_dev_register() to complete the device registration, if they don't call > - * drm_connector_register() on each connector individually. > + * userspace can start to access them. drm_connector_register_all() is called > + * automatically from drm_dev_register() to complete the device registration, > + * if they don't call drm_connector_register() on each connector > individually. > * > * When a device is unplugged and should be removed from userspace access, > * call drm_connector_unregister_all(), which is the inverse of this > diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c > index 40fb4352432c..2067ff089380 100644 > --- a/drivers/gpu/drm/drm_drv.c > +++ b/drivers/gpu/drm/drm_drv.c > @@ -650,11 +650,7 @@ EXPORT_SYMBOL(drm_dev_unref); > * > * Register the DRM device @dev with the system, advertise device to > user-space > * and start normal device operation. @dev must be allocated via > drm_dev_alloc() > - * previously. Right after drm_dev_register() the driver should call > - * drm_connector_register_all() to register all connectors in sysfs. This is > - * a separate call for backward compatibility with drivers still using > - * the deprecated ->load() callback, where connectors are registered from > within > - * the ->load() callback. > + * previously. > * > * Never call this twice on any device! > * > @@ -691,6 +687,8 @@ int drm_dev_register(struct drm_device *dev, unsigned > long flags) > goto err_minors; > } > > + drm_connector_register_all(dev); > + > ret = 0; > goto out_unlock; > > @@ -721,6 +719,8 @@ void drm_dev_unregister(struct drm_device *dev) > > drm_lastclose(dev); > > + drm_connector_unregister_all(dev); > + > if (dev->driver->unload) > dev->driver->unload(dev); > > -- > 2.8.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch