Den 03.04.2020 15.58, skrev Daniel Vetter: > Following functions are only used internally, not by drivers: > - drm_dev_init > - devm_drm_dev_init > - drmm_add_final_kfree > > Also, now that we have a very slick and polished way to allocate a > drm_device with devm_drm_dev_alloc, update all the docs to reflect the > new reality. Mostly this consists of deleting old and misleading > hints. Two main ones: > > - it is no longer required that the drm_device base class is first in > the structure. devm_drm_dev_alloc can cope with it being anywhere > > - obviously embedded no needs devm_drm_dev_alloc s/no/now/ ? > > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > --- <snip> > @@ -240,13 +240,13 @@ void drm_minor_release(struct drm_minor *minor) > * DOC: driver instance overview > * > * A device instance for a drm driver is represented by &struct drm_device. This > - * is initialized with drm_dev_init(), usually from bus-specific ->probe() > - * callbacks implemented by the driver. The driver then needs to initialize all > - * the various subsystems for the drm device like memory management, vblank > - * handling, modesetting support and intial output configuration plus obviously > - * initialize all the corresponding hardware bits. Finally when everything is up > - * and running and ready for userspace the device instance can be published > - * using drm_dev_register(). > + * is allocated and initialized with devm_drm_dev_alloc(), usually from > + * bus-specific ->probe() callbacks implemented by the driver. The driver then > + * needs to initialize all the various subsystems for the drm device like memory > + * management, vblank handling, modesetting support and intial output s/intial/initial/ > + * configuration plus obviously initialize all the corresponding hardware bits. > + * Finally when everything is up and running and ready for userspace the device > + * instance can be published using drm_dev_register(). > * > * There is also deprecated support for initalizing device instances using > * bus-specific helpers and the &drm_driver.load callback. But due to <snip> > @@ -767,19 +706,9 @@ EXPORT_SYMBOL(__devm_drm_dev_alloc); > * @driver: DRM driver to allocate device for > * @parent: Parent device object > * > - * Allocate and initialize a new DRM device. No device registration is done. > - * Call drm_dev_register() to advertice the device to user space and register it > - * with other core subsystems. This should be done last in the device > - * initialization sequence to make sure userspace can't access an inconsistent > - * state. > - * > - * The initial ref-count of the object is 1. Use drm_dev_get() and > - * drm_dev_put() to take and drop further ref-counts. > - * > - * Note that for purely virtual devices @parent can be NULL. > - * > - * Drivers that wish to subclass or embed &struct drm_device into their > - * own struct should look at using drm_dev_init() instead. > + * This is the deprecated version of devm_drm_dev_alloc(), which doesn not support s/doesn/does/ > + * subclassing through embedding the struct &drm_device in a driver private > + * structure, and which does not support automatic cleanup through devres. > * > * RETURNS: > * Pointer to new DRM device, or ERR_PTR on failure. Acked-by: Noralf Trønnes <noralf@xxxxxxxxxxx> _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx