X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=include%2Fdrm%2FdrmP.h;h=e7cd03c6b14e8cc7dac218ddfdaf976904dc0fce;hp=cf399495d38ff7418947471e164faa79c0a094ec;hb=4a6561b37ea65b4a98bd8fe16c57f231b1502302;hpb=42a0ddcd484d0470d4c1b114ffb6be1d35f8ac6b diff --git a/include/drm/drmP.h b/include/drm/drmP.h index cf399495d38f..e7cd03c6b14e 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -430,6 +430,11 @@ struct drm_file { void *driver_priv; int is_master; /* this file private is a master for a minor */ + /* + * This client is allowed to gain master privileges for @master. + * Protected by struct drm_device::struct_mutex. + */ + unsigned allowed_master:1; struct drm_master *master; /* master this node is currently associated with N.B. not always minor->master */ struct list_head fbs; @@ -990,7 +995,9 @@ struct drm_minor { struct proc_dir_entry *proc_root; /**< proc directory entry */ struct drm_info_node proc_nodes; struct dentry *debugfs_root; - struct drm_info_node debugfs_nodes; + + struct list_head debugfs_list; + struct mutex debugfs_lock; /* Protects debugfs_list. */ struct drm_master *master; /* currently active master for this node */ struct list_head master_list; @@ -1252,6 +1259,7 @@ extern int drm_fasync(int fd, struct file *filp, int on); extern ssize_t drm_read(struct file *filp, char __user *buffer, size_t count, loff_t *offset); extern int drm_release(struct inode *inode, struct file *filp); +extern int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv); /* Mapping support (drm_vm.h) */ extern int drm_mmap(struct file *filp, struct vm_area_struct *vma); @@ -1326,6 +1334,7 @@ extern int drm_getmagic(struct drm_device *dev, void *data, struct drm_file *file_priv); extern int drm_authmagic(struct drm_device *dev, void *data, struct drm_file *file_priv); +extern int drm_remove_magic(struct drm_master *master, drm_magic_t magic); /* Cache management (drm_cache.c) */ void drm_clflush_pages(struct page *pages[], unsigned long num_pages);