Lines Matching refs:minor

97 struct drm_master *drm_master_create(struct drm_minor *minor)  in drm_master_create()  argument
113 master->minor = minor; in drm_master_create()
128 struct drm_device *dev = master->minor->dev; in drm_master_destroy()
170 if (file_priv->minor->master) { in drm_setmaster_ioctl()
180 file_priv->minor->master = drm_master_get(file_priv->master); in drm_setmaster_ioctl()
186 drm_master_put(&file_priv->minor->master); in drm_setmaster_ioctl()
204 if (!file_priv->minor->master) in drm_dropmaster_ioctl()
210 drm_master_put(&file_priv->minor->master); in drm_dropmaster_ioctl()
248 struct drm_minor *minor; in drm_minor_alloc() local
252 minor = kzalloc(sizeof(*minor), GFP_KERNEL); in drm_minor_alloc()
253 if (!minor) in drm_minor_alloc()
256 minor->type = type; in drm_minor_alloc()
257 minor->dev = dev; in drm_minor_alloc()
272 minor->index = r; in drm_minor_alloc()
274 minor->kdev = drm_sysfs_minor_alloc(minor); in drm_minor_alloc()
275 if (IS_ERR(minor->kdev)) { in drm_minor_alloc()
276 r = PTR_ERR(minor->kdev); in drm_minor_alloc()
280 *drm_minor_get_slot(dev, type) = minor; in drm_minor_alloc()
285 idr_remove(&drm_minors_idr, minor->index); in drm_minor_alloc()
288 kfree(minor); in drm_minor_alloc()
294 struct drm_minor **slot, *minor; in drm_minor_free() local
298 minor = *slot; in drm_minor_free()
299 if (!minor) in drm_minor_free()
302 drm_mode_group_destroy(&minor->mode_group); in drm_minor_free()
303 put_device(minor->kdev); in drm_minor_free()
306 idr_remove(&drm_minors_idr, minor->index); in drm_minor_free()
309 kfree(minor); in drm_minor_free()
315 struct drm_minor *minor; in drm_minor_register() local
321 minor = *drm_minor_get_slot(dev, type); in drm_minor_register()
322 if (!minor) in drm_minor_register()
325 ret = drm_debugfs_init(minor, minor->index, drm_debugfs_root); in drm_minor_register()
331 ret = device_add(minor->kdev); in drm_minor_register()
337 idr_replace(&drm_minors_idr, minor, minor->index); in drm_minor_register()
340 DRM_DEBUG("new minor registered %d\n", minor->index); in drm_minor_register()
344 drm_debugfs_cleanup(minor); in drm_minor_register()
350 struct drm_minor *minor; in drm_minor_unregister() local
353 minor = *drm_minor_get_slot(dev, type); in drm_minor_unregister()
354 if (!minor || !device_is_registered(minor->kdev)) in drm_minor_unregister()
359 idr_replace(&drm_minors_idr, NULL, minor->index); in drm_minor_unregister()
362 device_del(minor->kdev); in drm_minor_unregister()
363 dev_set_drvdata(minor->kdev, NULL); /* safety belt */ in drm_minor_unregister()
364 drm_debugfs_cleanup(minor); in drm_minor_unregister()
385 struct drm_minor *minor; in drm_minor_acquire() local
389 minor = idr_find(&drm_minors_idr, minor_id); in drm_minor_acquire()
390 if (minor) in drm_minor_acquire()
391 drm_dev_ref(minor->dev); in drm_minor_acquire()
394 if (!minor) { in drm_minor_acquire()
396 } else if (drm_device_is_unplugged(minor->dev)) { in drm_minor_acquire()
397 drm_dev_unref(minor->dev); in drm_minor_acquire()
401 return minor; in drm_minor_acquire()
410 void drm_minor_release(struct drm_minor *minor) in drm_minor_release() argument
412 drm_dev_unref(minor->dev); in drm_minor_release()
825 struct drm_minor *minor; in drm_stub_open() local
831 minor = drm_minor_acquire(iminor(inode)); in drm_stub_open()
832 if (IS_ERR(minor)) { in drm_stub_open()
833 err = PTR_ERR(minor); in drm_stub_open()
837 new_fops = fops_get(minor->dev->driver->fops); in drm_stub_open()
850 drm_minor_release(minor); in drm_stub_open()