Lines Matching refs:minor

103 	struct drm_minor *minor = data;  in drm_minor_alloc_release()  local
106 WARN_ON(dev != minor->dev); in drm_minor_alloc_release()
108 put_device(minor->kdev); in drm_minor_alloc_release()
110 if (minor->type == DRM_MINOR_ACCEL) { in drm_minor_alloc_release()
111 accel_minor_remove(minor->index); in drm_minor_alloc_release()
114 idr_remove(&drm_minors_idr, minor->index); in drm_minor_alloc_release()
121 struct drm_minor *minor; in drm_minor_alloc() local
125 minor = drmm_kzalloc(dev, sizeof(*minor), GFP_KERNEL); in drm_minor_alloc()
126 if (!minor) in drm_minor_alloc()
129 minor->type = type; in drm_minor_alloc()
130 minor->dev = dev; in drm_minor_alloc()
149 minor->index = r; in drm_minor_alloc()
151 r = drmm_add_action_or_reset(dev, drm_minor_alloc_release, minor); in drm_minor_alloc()
155 minor->kdev = drm_sysfs_minor_alloc(minor); in drm_minor_alloc()
156 if (IS_ERR(minor->kdev)) in drm_minor_alloc()
157 return PTR_ERR(minor->kdev); in drm_minor_alloc()
159 *drm_minor_get_slot(dev, type) = minor; in drm_minor_alloc()
165 struct drm_minor *minor; in drm_minor_register() local
171 minor = *drm_minor_get_slot(dev, type); in drm_minor_register()
172 if (!minor) in drm_minor_register()
175 if (minor->type == DRM_MINOR_ACCEL) { in drm_minor_register()
176 accel_debugfs_init(minor, minor->index); in drm_minor_register()
178 ret = drm_debugfs_init(minor, minor->index, drm_debugfs_root); in drm_minor_register()
185 ret = device_add(minor->kdev); in drm_minor_register()
190 if (minor->type == DRM_MINOR_ACCEL) { in drm_minor_register()
191 accel_minor_replace(minor, minor->index); in drm_minor_register()
194 idr_replace(&drm_minors_idr, minor, minor->index); in drm_minor_register()
198 DRM_DEBUG("new minor registered %d\n", minor->index); in drm_minor_register()
202 drm_debugfs_cleanup(minor); in drm_minor_register()
208 struct drm_minor *minor; in drm_minor_unregister() local
211 minor = *drm_minor_get_slot(dev, type); in drm_minor_unregister()
212 if (!minor || !device_is_registered(minor->kdev)) in drm_minor_unregister()
216 if (minor->type == DRM_MINOR_ACCEL) { in drm_minor_unregister()
217 accel_minor_replace(NULL, minor->index); in drm_minor_unregister()
220 idr_replace(&drm_minors_idr, NULL, minor->index); in drm_minor_unregister()
224 device_del(minor->kdev); in drm_minor_unregister()
225 dev_set_drvdata(minor->kdev, NULL); /* safety belt */ in drm_minor_unregister()
226 drm_debugfs_cleanup(minor); in drm_minor_unregister()
240 struct drm_minor *minor; in drm_minor_acquire() local
244 minor = idr_find(&drm_minors_idr, minor_id); in drm_minor_acquire()
245 if (minor) in drm_minor_acquire()
246 drm_dev_get(minor->dev); in drm_minor_acquire()
249 if (!minor) { in drm_minor_acquire()
251 } else if (drm_dev_is_unplugged(minor->dev)) { in drm_minor_acquire()
252 drm_dev_put(minor->dev); in drm_minor_acquire()
256 return minor; in drm_minor_acquire()
259 void drm_minor_release(struct drm_minor *minor) in drm_minor_release() argument
261 drm_dev_put(minor->dev); in drm_minor_release()
832 struct drm_minor *minor; in create_compat_control_link() local
839 minor = *drm_minor_get_slot(dev, DRM_MINOR_PRIMARY); in create_compat_control_link()
840 if (!minor) in create_compat_control_link()
852 name = kasprintf(GFP_KERNEL, "controlD%d", minor->index + 64); in create_compat_control_link()
856 ret = sysfs_create_link(minor->kdev->kobj.parent, in create_compat_control_link()
857 &minor->kdev->kobj, in create_compat_control_link()
867 struct drm_minor *minor; in remove_compat_control_link() local
873 minor = *drm_minor_get_slot(dev, DRM_MINOR_PRIMARY); in remove_compat_control_link()
874 if (!minor) in remove_compat_control_link()
877 name = kasprintf(GFP_KERNEL, "controlD%d", minor->index + 64); in remove_compat_control_link()
881 sysfs_remove_link(minor->kdev->kobj.parent, name); in remove_compat_control_link()
950 driver->name, driver->major, driver->minor, in drm_dev_register()
1036 struct drm_minor *minor; in drm_stub_open() local
1041 minor = drm_minor_acquire(iminor(inode)); in drm_stub_open()
1042 if (IS_ERR(minor)) in drm_stub_open()
1043 return PTR_ERR(minor); in drm_stub_open()
1045 new_fops = fops_get(minor->dev->driver->fops); in drm_stub_open()
1058 drm_minor_release(minor); in drm_stub_open()