Loading drivers/cdrom/cdrom.c +6 −23 Original line number Diff line number Diff line Loading @@ -362,7 +362,7 @@ static int cdrom_get_disc_info(struct cdrom_device_info *cdi, disc_information * static void cdrom_sysctl_register(void); static struct cdrom_device_info *topCdromPtr; static LIST_HEAD(cdrom_list); static int cdrom_dummy_generic_packet(struct cdrom_device_info *cdi, struct packet_command *cgc) Loading Loading @@ -436,35 +436,18 @@ int register_cdrom(struct cdrom_device_info *cdi) cdinfo(CD_REG_UNREG, "drive \"/dev/%s\" registered\n", cdi->name); mutex_lock(&cdrom_mutex); cdi->next = topCdromPtr; topCdromPtr = cdi; list_add(&cdi->list, &cdrom_list); mutex_unlock(&cdrom_mutex); return 0; } #undef ENSURE int unregister_cdrom(struct cdrom_device_info *unreg) int unregister_cdrom(struct cdrom_device_info *cdi) { struct cdrom_device_info *cdi, *prev; cdinfo(CD_OPEN, "entering unregister_cdrom\n"); prev = NULL; mutex_lock(&cdrom_mutex); cdi = topCdromPtr; while (cdi && cdi != unreg) { prev = cdi; cdi = cdi->next; } if (cdi == NULL) { mutex_unlock(&cdrom_mutex); return -2; } if (prev) prev->next = cdi->next; else topCdromPtr = cdi->next; list_del(&cdi->list); mutex_unlock(&cdrom_mutex); if (cdi->exit) Loading Loading @@ -3306,7 +3289,7 @@ static int cdrom_print_info(const char *header, int val, char *info, *pos += ret; for (cdi = topCdromPtr; cdi; cdi = cdi->next) { list_for_each_entry(cdi, &cdrom_list, list) { switch (option) { case CTL_NAME: ret = scnprintf(info + *pos, max_size - *pos, Loading Loading @@ -3428,7 +3411,7 @@ static void cdrom_update_settings(void) struct cdrom_device_info *cdi; mutex_lock(&cdrom_mutex); for (cdi = topCdromPtr; cdi != NULL; cdi = cdi->next) { list_for_each_entry(cdi, &cdrom_list, list) { if (autoclose && CDROM_CAN(CDC_CLOSE_TRAY)) cdi->options |= CDO_AUTO_CLOSE; else if (!autoclose) Loading include/linux/cdrom.h +2 −1 Original line number Diff line number Diff line Loading @@ -910,6 +910,7 @@ struct mode_page_header { #ifdef __KERNEL__ #include <linux/fs.h> /* not really needed, later.. */ #include <linux/device.h> #include <linux/list.h> struct packet_command { Loading @@ -934,7 +935,7 @@ struct packet_command /* Uniform cdrom data structures for cdrom.c */ struct cdrom_device_info { struct cdrom_device_ops *ops; /* link to device_ops */ struct cdrom_device_info *next; /* next device_info for this major */ struct list_head list; /* linked list of all device_info */ struct gendisk *disk; /* matching block layer disk */ void *handle; /* driver-dependent data */ /* specifications */ Loading Loading
drivers/cdrom/cdrom.c +6 −23 Original line number Diff line number Diff line Loading @@ -362,7 +362,7 @@ static int cdrom_get_disc_info(struct cdrom_device_info *cdi, disc_information * static void cdrom_sysctl_register(void); static struct cdrom_device_info *topCdromPtr; static LIST_HEAD(cdrom_list); static int cdrom_dummy_generic_packet(struct cdrom_device_info *cdi, struct packet_command *cgc) Loading Loading @@ -436,35 +436,18 @@ int register_cdrom(struct cdrom_device_info *cdi) cdinfo(CD_REG_UNREG, "drive \"/dev/%s\" registered\n", cdi->name); mutex_lock(&cdrom_mutex); cdi->next = topCdromPtr; topCdromPtr = cdi; list_add(&cdi->list, &cdrom_list); mutex_unlock(&cdrom_mutex); return 0; } #undef ENSURE int unregister_cdrom(struct cdrom_device_info *unreg) int unregister_cdrom(struct cdrom_device_info *cdi) { struct cdrom_device_info *cdi, *prev; cdinfo(CD_OPEN, "entering unregister_cdrom\n"); prev = NULL; mutex_lock(&cdrom_mutex); cdi = topCdromPtr; while (cdi && cdi != unreg) { prev = cdi; cdi = cdi->next; } if (cdi == NULL) { mutex_unlock(&cdrom_mutex); return -2; } if (prev) prev->next = cdi->next; else topCdromPtr = cdi->next; list_del(&cdi->list); mutex_unlock(&cdrom_mutex); if (cdi->exit) Loading Loading @@ -3306,7 +3289,7 @@ static int cdrom_print_info(const char *header, int val, char *info, *pos += ret; for (cdi = topCdromPtr; cdi; cdi = cdi->next) { list_for_each_entry(cdi, &cdrom_list, list) { switch (option) { case CTL_NAME: ret = scnprintf(info + *pos, max_size - *pos, Loading Loading @@ -3428,7 +3411,7 @@ static void cdrom_update_settings(void) struct cdrom_device_info *cdi; mutex_lock(&cdrom_mutex); for (cdi = topCdromPtr; cdi != NULL; cdi = cdi->next) { list_for_each_entry(cdi, &cdrom_list, list) { if (autoclose && CDROM_CAN(CDC_CLOSE_TRAY)) cdi->options |= CDO_AUTO_CLOSE; else if (!autoclose) Loading
include/linux/cdrom.h +2 −1 Original line number Diff line number Diff line Loading @@ -910,6 +910,7 @@ struct mode_page_header { #ifdef __KERNEL__ #include <linux/fs.h> /* not really needed, later.. */ #include <linux/device.h> #include <linux/list.h> struct packet_command { Loading @@ -934,7 +935,7 @@ struct packet_command /* Uniform cdrom data structures for cdrom.c */ struct cdrom_device_info { struct cdrom_device_ops *ops; /* link to device_ops */ struct cdrom_device_info *next; /* next device_info for this major */ struct list_head list; /* linked list of all device_info */ struct gendisk *disk; /* matching block layer disk */ void *handle; /* driver-dependent data */ /* specifications */ Loading