drm/modeset: add helper to unplug all connectors from sysfs
In order to get correct ordering at hot-unplug for userspace, we need to tear down all the sysfs bits at the correct time. This adds a helper to allow drivers to remove the sysfs nodes for all connectors. Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
1828fe6c5f
commit
cbc7e22151
|
@ -540,10 +540,21 @@ void drm_connector_cleanup(struct drm_connector *connector)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_connector_cleanup);
|
EXPORT_SYMBOL(drm_connector_cleanup);
|
||||||
|
|
||||||
|
void drm_connector_unplug_all(struct drm_device *dev)
|
||||||
|
{
|
||||||
|
struct drm_connector *connector;
|
||||||
|
|
||||||
|
/* 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);
|
||||||
|
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(drm_connector_unplug_all);
|
||||||
|
|
||||||
int drm_encoder_init(struct drm_device *dev,
|
int drm_encoder_init(struct drm_device *dev,
|
||||||
struct drm_encoder *encoder,
|
struct drm_encoder *encoder,
|
||||||
const struct drm_encoder_funcs *funcs,
|
const struct drm_encoder_funcs *funcs,
|
||||||
int encoder_type)
|
int encoder_type)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
|
|
@ -826,6 +826,8 @@ extern int drm_connector_init(struct drm_device *dev,
|
||||||
int connector_type);
|
int connector_type);
|
||||||
|
|
||||||
extern void drm_connector_cleanup(struct drm_connector *connector);
|
extern void drm_connector_cleanup(struct drm_connector *connector);
|
||||||
|
/* helper to unplug all connectors from sysfs for device */
|
||||||
|
extern void drm_connector_unplug_all(struct drm_device *dev);
|
||||||
|
|
||||||
extern int drm_encoder_init(struct drm_device *dev,
|
extern int drm_encoder_init(struct drm_device *dev,
|
||||||
struct drm_encoder *encoder,
|
struct drm_encoder *encoder,
|
||||||
|
|
Loading…
Reference in New Issue