summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorJon Smirl <jonsmirl@yahoo.com>2004-09-23 17:22:27 +0000
committerJon Smirl <jonsmirl@yahoo.com>2004-09-23 17:22:27 +0000
commit36a257cfe9e45e7a2022f19100a193eb73e30d4b (patch)
tree19a2e7f8b6711817a01305b4ab75994a75b7389c /linux
parent55c5e240892bb9673cce602e7deb323f29aa8031 (diff)
Remove 2.6 code that allow DRM major device number to be shared. We can add
it back later if needed. Checked DRM on both 2.4 and 2.6 to ensure that it builds and runs.
Diffstat (limited to 'linux')
-rw-r--r--linux/drmP.h4
-rw-r--r--linux/drm_compat.h29
-rw-r--r--linux/drm_stub.h27
3 files changed, 10 insertions, 50 deletions
diff --git a/linux/drmP.h b/linux/drmP.h
index f89db79c..7ed64535 100644
--- a/linux/drmP.h
+++ b/linux/drmP.h
@@ -56,9 +56,6 @@
#include <linux/smp_lock.h> /* For (un)lock_kernel */
#include <linux/mm.h>
#include <linux/pagemap.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
-#include <linux/cdev.h>
-#endif
#if defined(__alpha__) || defined(__powerpc__)
#include <asm/pgtable.h> /* For pte_wrprotect */
#endif
@@ -697,7 +694,6 @@ typedef struct drm_global {
drm_minor_t *minors;
struct drm_sysfs_class *drm_class;
struct proc_dir_entry *proc_root;
- struct cdev drm_cdev;
} drm_global_t;
static __inline__ int drm_core_check_feature(struct drm_device *dev, int feature)
diff --git a/linux/drm_compat.h b/linux/drm_compat.h
index 50e13b9a..2efa8306 100644
--- a/linux/drm_compat.h
+++ b/linux/drm_compat.h
@@ -142,32 +142,9 @@ static inline struct drm_sysfs_class *DRM(sysfs_create)(struct module *owner, ch
#define pci_pretty_name(x) x->name
#endif
-/* not used in 2.4, just makes the code compile */
-#define KOBJ_NAME_LEN 20
-struct kobject {
- char name[KOBJ_NAME_LEN];
-};
-struct cdev {
- struct kobject kobj;
- struct module *owner;
- struct file_operations *ops;
- struct list_head list;
- dev_t dev;
- unsigned int count;
-};
-static inline void cdev_del(struct cdev *cd){}
-static inline void cdev_init(struct cdev *cd, struct file_operations *fop){}
-static inline int cdev_add(struct cdev *cd, dev_t dt, unsigned u){ return 0;}
-
-static inline int register_chrdev_region(dev_t device, unsigned minor, char *name) {
- return register_chrdev(device, name, NULL);
-}
-
-static inline int unregister_chrdev_region(dev_t device, unsigned minor) {
- return unregister_chrdev(device, NULL);
-}
-
-static inline int kobject_put(struct kobject *kobj){ return 0;};
+struct drm_device;
+static inline int radeon_create_i2c_busses(struct drm_device *dev){return 0;};
+static inline void radeon_delete_i2c_busses(struct drm_device *dev){};
#endif
diff --git a/linux/drm_stub.h b/linux/drm_stub.h
index 52b03453..a09f08b8 100644
--- a/linux/drm_stub.h
+++ b/linux/drm_stub.h
@@ -248,8 +248,7 @@ int DRM(put_minor)(drm_device_t *dev)
remove_proc_entry("dri", NULL);
DRM(sysfs_destroy)(DRM(global)->drm_class);
- cdev_del(&DRM(global)->drm_cdev);
- unregister_chrdev_region(MKDEV(DRM_MAJOR, 0), DRM_MAX_MINOR);
+ unregister_chrdev(DRM_MAJOR, "drm");
DRM(free)(DRM(global)->minors, sizeof(*DRM(global)->minors) *
DRM(global)->cards_limit, DRM_MEM_STUB);
@@ -296,7 +295,6 @@ int DRM(put_secondary_minor)(drm_minor_t *sec_minor)
*/
int DRM(probe)(struct pci_dev *pdev, const struct pci_device_id *ent)
{
- dev_t dev = MKDEV(DRM_MAJOR, 0);
drm_global_t *global;
int ret = -ENOMEM;
@@ -321,30 +319,21 @@ int DRM(probe)(struct pci_dev *pdev, const struct pci_device_id *ent)
if(!global->minors)
goto err_p1;
- if (register_chrdev_region(dev, DRM_MAX_MINOR, "drm"))
+ if (register_chrdev(DRM_MAJOR, "drm", &DRM(stub_fops)))
goto err_p1;
- strncpy(global->drm_cdev.kobj.name, "drm", KOBJ_NAME_LEN);
- global->drm_cdev.owner = THIS_MODULE;
- cdev_init(&global->drm_cdev, &DRM(stub_fops));
- if (cdev_add(&global->drm_cdev, dev, DRM_MAX_MINOR)) {
- kobject_put(&global->drm_cdev.kobj);
- printk (KERN_ERR "DRM: Error registering drm major number.\n");
- goto err_p2;
- }
-
global->drm_class = DRM(sysfs_create)(THIS_MODULE, "drm");
if (IS_ERR(global->drm_class)) {
printk (KERN_ERR "DRM: Error creating drm class.\n");
ret = PTR_ERR(global->drm_class);
- goto err_p3;
+ goto err_p2;
}
global->proc_root = create_proc_entry("dri", S_IFDIR, NULL);
if (!global->proc_root) {
DRM_ERROR("Cannot create /proc/dri\n");
ret = -1;
- goto err_p4;
+ goto err_p3;
}
DRM_DEBUG("calling inter_module_register\n");
inter_module_register("drm", THIS_MODULE, global);
@@ -353,16 +342,14 @@ int DRM(probe)(struct pci_dev *pdev, const struct pci_device_id *ent)
}
if ((ret = get_minor(pdev, ent))) {
if (global)
- goto err_p4;
+ goto err_p3;
return ret;
}
return 0;
-err_p4:
- DRM(sysfs_destroy)(global->drm_class);
err_p3:
- cdev_del(&global->drm_cdev);
- unregister_chrdev_region(dev, DRM_MAX_MINOR);
+ DRM(sysfs_destroy)(global->drm_class);
err_p2:
+ unregister_chrdev(DRM_MAJOR, "drm");
DRM(free)(global->minors, sizeof(*global->minors) * global->cards_limit, DRM_MEM_STUB);
err_p1:
DRM(free)(global, sizeof(*global), DRM_MEM_STUB);