/* output_set_monitor(output)? */
/* check for output_ignored(output)? */
- drm_sysfs_output_add(output);
-
mutex_lock(&dev->mode_config.mutex);
list_add_tail(&output->head, &dev->mode_config.output_list);
dev->mode_config.num_output++;
struct drm_device *dev = output->dev;
struct drm_display_mode *mode, *t;
- drm_sysfs_output_remove(output);
-
if (*output->funcs->cleanup)
(*output->funcs->cleanup)(output);
struct drm_property *property, *pt;
list_for_each_entry_safe(output, ot, &dev->mode_config.output_list, head) {
+ drm_sysfs_output_remove(output);
drm_output_destroy(output);
}
out:
return ret;
}
+EXPORT_SYMBOL(drm_sysfs_output_add);
/**
* drm_sysfs_output_remove - remove an output device from sysfs
sysfs_remove_bin_file(&output->kdev.kobj, &edid_attr);
device_unregister(&output->kdev);
}
+EXPORT_SYMBOL(drm_sysfs_output_remove);
/**
* drm_sysfs_hotplug_event - generate a DRM uevent
output->interlace_allowed = 0;
output->doublescan_allowed = 0;
+ drm_sysfs_output_add(output);
+
drm_output_attach_property(output, dev->mode_config.connector_type_property, ConnectorVGA);
}
#endif
out:
+ drm_sysfs_output_add(output);
drm_output_attach_property(output, dev->mode_config.connector_type_property, ConnectorLVDS);
return;
output->output_type = output_type;
output->output_type_id = output_id;
+ drm_sysfs_output_add(output);
+
/* Set the input timing to the screen. Assume always input 0. */
intel_sdvo_set_target_input(output, true, false);
output->driver_private = intel_output;
output->interlace_allowed = FALSE;
output->doublescan_allowed = FALSE;
+
+ drm_sysfs_output_add(output);
}