On Thu, Dec 08, 2016 at 11:28:47AM +0100, Daniel Vetter wrote: > It's supported now! Spotted while reviewing Chris' patch to add a > release hook. > > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > --- > drivers/gpu/drm/drm_drv.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c > index f74b7d06ec01..4ec61ac27477 100644 > --- a/drivers/gpu/drm/drm_drv.c > +++ b/drivers/gpu/drm/drm_drv.c > @@ -323,9 +323,8 @@ void drm_minor_release(struct drm_minor *minor) > * historical baggage. Hence use the reference counting provided by > * drm_dev_ref() and drm_dev_unref() only carefully. > * > - * Also note that embedding of &drm_device is currently not (yet) supported (but > - * it would be easy to add). Drivers can store driver-private data in the > - * dev_priv field of &drm_device. > + * It is recommended that drivers embed struct &drm_device into their own device > + * structure, which is supported through drm_dev_init(). > */ > > /** > @@ -462,7 +461,11 @@ static void drm_fs_inode_free(struct inode *inode) > * Note that for purely virtual devices @parent can be NULL. > * > * Drivers that do not want to allocate their own device struct > - * embedding struct &drm_device can call drm_dev_alloc() instead. > + * embedding struct &drm_device can call drm_dev_alloc() instead. For drivers > + * that do embed struct &drm_device it must be placed first in the overall > + * structure, and the overall structure must be allocated using kmalloc(): The > + * drm core's release function unconditionally calls kfree() on the @dev pointer > + * when the final reference is released. Hmm, the privates are getting pretty big (drm_i915_private fits inside malloc-32678). We should start considering using drm_free_large() instead as that more or less work transparently and allows fallback to vmalloc. As it stands the doc update is correct, so Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel