summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Viro <viro@math.psu.edu>2002-09-21 02:51:35 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-09-21 02:51:35 -0700
commit71dd8909db54f5ee5ed3ba77dcf613bac5ebbab3 (patch)
tree1b28729c357a8cf54b65843868dfc51fd31e99ae
parent5d94ee4917277c695f0ef7c0d869139babe486bc (diff)
[PATCH] gendisk for sonycd
sonycd switched to use of gendisk; missing initcall restored
-rw-r--r--drivers/cdrom/sonycd535.c28
1 files changed, 17 insertions, 11 deletions
diff --git a/drivers/cdrom/sonycd535.c b/drivers/cdrom/sonycd535.c
index 6344f18b175c..373175b6bba6 100644
--- a/drivers/cdrom/sonycd535.c
+++ b/drivers/cdrom/sonycd535.c
@@ -1448,18 +1448,25 @@ cdu_release(struct inode *inode,
static struct block_device_operations cdu_fops =
{
- owner: THIS_MODULE,
- open: cdu_open,
- release: cdu_release,
- ioctl: cdu_ioctl,
- check_media_change: cdu535_check_media_change,
+ .owner = THIS_MODULE,
+ .open = cdu_open,
+ .release = cdu_release,
+ .ioctl = cdu_ioctl,
+ .check_media_change = cdu535_check_media_change,
};
+static struct gendisk cdu_disk =
+{
+ .major = MAJOR_NR,
+ .first_minor = 0,
+ .minor_shift = 0,
+ .fops = &cdu_fops,
+ .major_name = "cdu"
+
/*
* Initialize the driver.
*/
-int __init
-sony535_init(void)
+static int __init sony535_init(void)
{
struct s535_sony_drive_config drive_config;
Byte cmd_buff[3];
@@ -1648,7 +1655,7 @@ sony535_init(void)
return -EIO;
}
- register_disk(NULL, mk_kdev(MAJOR_NR,0), 1, &cdu_fops, 0);
+ add_disk(&cdu_disk);
return 0;
}
@@ -1688,7 +1695,7 @@ __setup("sonycd535=", sonycd535_setup);
#endif /* MODULE */
void __exit
-sony535_exit(void)
+static sony535_exit(void)
{
int i;
@@ -1700,15 +1707,14 @@ sony535_exit(void)
kfree(sony_toc);
devfs_find_and_unregister(NULL, CDU535_HANDLE, 0, 0,
DEVFS_SPECIAL_BLK, 0);
+ del_gendisk(&cdu_disk);
if (unregister_blkdev(MAJOR_NR, CDU535_HANDLE) == -EINVAL)
printk("Uh oh, couldn't unregister " CDU535_HANDLE "\n");
else
printk(KERN_INFO CDU535_HANDLE " module released\n");
}
-#ifdef MODULE
module_init(sony535_init);
-#endif
module_exit(sony535_exit);