This patch seems unrelated. Am 02.09.19 um 14:41 schrieb Gerd Hoffmann: > Switch qxl to use drm_gem_object_funcs callbacks > instead of drm_driver callbacks. > > Signed-off-by: Gerd Hoffmann > --- > drivers/gpu/drm/qxl/qxl_drv.c | 8 -------- > drivers/gpu/drm/qxl/qxl_object.c | 12 ++++++++++++ > 2 files changed, 12 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c > index 2b726a51a302..996d428fa7e6 100644 > --- a/drivers/gpu/drm/qxl/qxl_drv.c > +++ b/drivers/gpu/drm/qxl/qxl_drv.c > @@ -258,16 +258,8 @@ static struct drm_driver qxl_driver = { > #endif > .prime_handle_to_fd = drm_gem_prime_handle_to_fd, > .prime_fd_to_handle = drm_gem_prime_fd_to_handle, > - .gem_prime_pin = qxl_gem_prime_pin, > - .gem_prime_unpin = qxl_gem_prime_unpin, > - .gem_prime_get_sg_table = qxl_gem_prime_get_sg_table, > .gem_prime_import_sg_table = qxl_gem_prime_import_sg_table, > - .gem_prime_vmap = qxl_gem_prime_vmap, > - .gem_prime_vunmap = qxl_gem_prime_vunmap, > .gem_prime_mmap = qxl_gem_prime_mmap, > - .gem_free_object_unlocked = qxl_gem_object_free, > - .gem_open_object = qxl_gem_object_open, > - .gem_close_object = qxl_gem_object_close, > .fops = &qxl_fops, > .ioctls = qxl_ioctls, > .irq_handler = qxl_irq_handler, > diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c > index 548dfe6f3b26..29aab7b14513 100644 > --- a/drivers/gpu/drm/qxl/qxl_object.c > +++ b/drivers/gpu/drm/qxl/qxl_object.c > @@ -77,6 +77,17 @@ void qxl_ttm_placement_from_domain(struct qxl_bo *qbo, u32 domain, bool pinned) > } > } > > +static const struct drm_gem_object_funcs qxl_object_funcs = { > + .free = qxl_gem_object_free, > + .open = qxl_gem_object_open, > + .close = qxl_gem_object_close, > + .pin = qxl_gem_prime_pin, > + .unpin = qxl_gem_prime_unpin, > + .get_sg_table = qxl_gem_prime_get_sg_table, > + .vmap = qxl_gem_prime_vmap, > + .vunmap = qxl_gem_prime_vunmap, > +}; > + > int qxl_bo_create(struct qxl_device *qdev, > unsigned long size, bool kernel, bool pinned, u32 domain, > struct qxl_surface *surf, > @@ -100,6 +111,7 @@ int qxl_bo_create(struct qxl_device *qdev, > kfree(bo); > return r; > } > + bo->tbo.base.funcs = &qxl_object_funcs; > bo->type = domain; > bo->pin_count = pinned ? 1 : 0; > bo->surface_id = 0; > -- Thomas Zimmermann Graphics Driver Developer SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 21284 (AG Nürnberg)