Loading drivers/scsi/pcmcia/nsp_cs.c +5 −154 Original line number Diff line number Diff line Loading @@ -25,8 +25,6 @@ ***********************************************************************/ /* $Id: nsp_cs.c,v 1.23 2003/08/18 11:09:19 elca Exp $ */ #include <linux/version.h> #include <linux/module.h> #include <linux/kernel.h> Loading Loading @@ -59,7 +57,7 @@ #include "nsp_cs.h" MODULE_AUTHOR("YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>"); MODULE_DESCRIPTION("WorkBit NinjaSCSI-3 / NinjaSCSI-32Bi(16bit) PCMCIA SCSI host adapter module $Revision: 1.23 $"); MODULE_DESCRIPTION("WorkBit NinjaSCSI-3 / NinjaSCSI-32Bi(16bit) PCMCIA SCSI host adapter module"); MODULE_SUPPORTED_DEVICE("sd,sr,sg,st"); #ifdef MODULE_LICENSE MODULE_LICENSE("GPL"); Loading @@ -83,10 +81,6 @@ static struct scsi_host_template nsp_driver_template = { .proc_name = "nsp_cs", .proc_info = nsp_proc_info, .name = "WorkBit NinjaSCSI-3/32Bi(16bit)", #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) .detect = nsp_detect_old, .release = nsp_release_old, #endif .info = nsp_info, .queuecommand = nsp_queuecommand, /* .eh_abort_handler = nsp_eh_abort,*/ Loading @@ -97,9 +91,6 @@ static struct scsi_host_template nsp_driver_template = { .sg_tablesize = SG_ALL, .cmd_per_lun = 1, .use_clustering = DISABLE_CLUSTERING, #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,2)) .use_new_eh_code = 1, #endif }; static nsp_hw_data nsp_data_base; /* attach <-> detect glue */ Loading Loading @@ -1313,11 +1304,7 @@ static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht) nsp_hw_data *data_b = &nsp_data_base, *data; nsp_dbg(NSP_DEBUG_INIT, "this_id=%d", sht->this_id); #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73)) host = scsi_host_alloc(&nsp_driver_template, sizeof(nsp_hw_data)); #else host = scsi_register(sht, sizeof(nsp_hw_data)); #endif if (host == NULL) { nsp_dbg(NSP_DEBUG_INIT, "host failed"); return NULL; Loading Loading @@ -1354,37 +1341,6 @@ static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht) return host; /* detect done. */ } #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) static int nsp_detect_old(struct scsi_host_template *sht) { if (nsp_detect(sht) == NULL) { return 0; } else { //MOD_INC_USE_COUNT; return 1; } } static int nsp_release_old(struct Scsi_Host *shpnt) { //nsp_hw_data *data = (nsp_hw_data *)shpnt->hostdata; /* PCMCIA Card Service dose same things below. */ /* So we do nothing. */ //if (shpnt->irq) { // free_irq(shpnt->irq, data->ScsiInfo); //} //if (shpnt->io_port) { // release_region(shpnt->io_port, shpnt->n_io_port); //} //MOD_DEC_USE_COUNT; return 0; } #endif /*----------------------------------------------------------------*/ /* return info string */ /*----------------------------------------------------------------*/ Loading @@ -1403,19 +1359,9 @@ static const char *nsp_info(struct Scsi_Host *shpnt) nsp_dbg(NSP_DEBUG_PROC, "buffer=0x%p pos=0x%p length=%d %d\n", buffer, pos, length, length - (pos - buffer));\ } \ } while(0) static int nsp_proc_info( #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73)) struct Scsi_Host *host, #endif char *buffer, char **start, off_t offset, int length, #if !(LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73)) int hostno, #endif int inout) static int nsp_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length, int inout) { int id; char *pos = buffer; Loading @@ -1423,24 +1369,13 @@ nsp_proc_info( int speed; unsigned long flags; nsp_hw_data *data; #if !(LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73)) struct Scsi_Host *host; #else int hostno; #endif if (inout) { return -EINVAL; } #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73)) hostno = host->host_no; #else /* search this HBA host */ host = scsi_host_hn_get(hostno); if (host == NULL) { return -ESRCH; } #endif data = (nsp_hw_data *)host->hostdata; Loading Loading @@ -1675,10 +1610,6 @@ static int nsp_cs_config(struct pcmcia_device *link) cistpl_cftable_entry_t dflt = { 0 }; struct Scsi_Host *host; nsp_hw_data *data = &nsp_data_base; #if !(LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,74)) struct scsi_device *dev; dev_node_t **tail, *node; #endif nsp_dbg(NSP_DEBUG_INIT, "in"); Loading Loading @@ -1811,17 +1742,7 @@ static int nsp_cs_config(struct pcmcia_device *link) goto cs_failed; } #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,2)) host = nsp_detect(&nsp_driver_template); #else scsi_register_host(&nsp_driver_template); for (host = scsi_host_get_next(NULL); host != NULL; host = scsi_host_get_next(host)) { if (host->hostt == &nsp_driver_template) { break; } } #endif if (host == NULL) { nsp_dbg(NSP_DEBUG_INIT, "detect failed"); Loading @@ -1829,7 +1750,6 @@ static int nsp_cs_config(struct pcmcia_device *link) } #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,74)) ret = scsi_add_host (host, NULL); if (ret) goto cs_failed; Loading @@ -1840,52 +1760,6 @@ static int nsp_cs_config(struct pcmcia_device *link) link->dev_node = &info->node; info->host = host; #else nsp_dbg(NSP_DEBUG_INIT, "GET_SCSI_INFO"); tail = &link->dev_node; info->ndev = 0; nsp_dbg(NSP_DEBUG_INIT, "host=0x%p", host); for (dev = host->host_queue; dev != NULL; dev = dev->next) { unsigned long id; id = (dev->id & 0x0f) + ((dev->lun & 0x0f) << 4) + ((dev->channel & 0x0f) << 8) + ((dev->host->host_no & 0x0f) << 12); node = &info->node[info->ndev]; node->minor = 0; switch (dev->type) { case TYPE_TAPE: node->major = SCSI_TAPE_MAJOR; snprintf(node->dev_name, sizeof(node->dev_name), "st#%04lx", id); break; case TYPE_DISK: case TYPE_MOD: node->major = SCSI_DISK0_MAJOR; snprintf(node->dev_name, sizeof(node->dev_name), "sd#%04lx", id); break; case TYPE_ROM: case TYPE_WORM: node->major = SCSI_CDROM_MAJOR; snprintf(node->dev_name, sizeof(node->dev_name), "sr#%04lx", id); break; default: node->major = SCSI_GENERIC_MAJOR; snprintf(node->dev_name, sizeof(node->dev_name), "sg#%04lx", id); break; } *tail = node; tail = &node->next; info->ndev++; info->host = dev->host; } *tail = NULL; if (info->ndev == 0) { nsp_msg(KERN_INFO, "no SCSI devices found"); } nsp_dbg(NSP_DEBUG_INIT, "host=0x%p", host); #endif /* Finally, report what we've done */ printk(KERN_INFO "nsp_cs: index 0x%02x: ", link->conf.ConfigIndex); Loading Loading @@ -1938,13 +1812,9 @@ static void nsp_cs_release(struct pcmcia_device *link) nsp_dbg(NSP_DEBUG_INIT, "link=0x%p", link); /* Unlink the device chain */ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,2)) if (info->host != NULL) { scsi_remove_host(info->host); } #else scsi_unregister_host(&nsp_driver_template); #endif link->dev_node = NULL; if (link->win) { Loading @@ -1954,11 +1824,9 @@ static void nsp_cs_release(struct pcmcia_device *link) } pcmcia_disable_device(link); #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,2)) if (info->host != NULL) { scsi_host_put(info->host); } #endif } /* nsp_cs_release */ static int nsp_cs_suspend(struct pcmcia_device *link) Loading Loading @@ -2005,7 +1873,6 @@ static int nsp_cs_resume(struct pcmcia_device *link) /*======================================================================* * module entry point *====================================================================*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,68)) static struct pcmcia_device_id nsp_cs_ids[] = { PCMCIA_DEVICE_PROD_ID123("IO DATA", "CBSC16 ", "1", 0x547e66dc, 0x0d63a3fd, 0x51de003a), PCMCIA_DEVICE_PROD_ID123("KME ", "SCSI-CARD-001", "1", 0x534c02bc, 0x52008408, 0x51de003a), Loading @@ -2029,28 +1896,12 @@ static struct pcmcia_driver nsp_driver = { .suspend = nsp_cs_suspend, .resume = nsp_cs_resume, }; #endif static int __init nsp_cs_init(void) { #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,68)) nsp_msg(KERN_INFO, "loading..."); return pcmcia_register_driver(&nsp_driver); #else servinfo_t serv; nsp_msg(KERN_INFO, "loading..."); pcmcia_get_card_services_info(&serv); if (serv.Revision != CS_RELEASE_CODE) { nsp_msg(KERN_DEBUG, "Card Services release does not match!"); return -EINVAL; } register_pcmcia_driver(&dev_info, &nsp_cs_attach, &nsp_cs_detach); nsp_dbg(NSP_DEBUG_INIT, "out"); return 0; #endif } static void __exit nsp_cs_exit(void) Loading drivers/scsi/pcmcia/nsp_cs.h +0 −8 Original line number Diff line number Diff line Loading @@ -10,8 +10,6 @@ =========================================================*/ /* $Id: nsp_cs.h,v 1.19 2003/08/18 11:09:19 elca Exp $ */ #ifndef __nsp_cs__ #define __nsp_cs__ Loading Loading @@ -227,13 +225,7 @@ typedef struct scsi_info_t { struct pcmcia_device *p_dev; struct Scsi_Host *host; #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,74)) dev_node_t node; #else int ndev; dev_node_t node[8]; struct bus_operations *bus; #endif int stop; } scsi_info_t; Loading Loading
drivers/scsi/pcmcia/nsp_cs.c +5 −154 Original line number Diff line number Diff line Loading @@ -25,8 +25,6 @@ ***********************************************************************/ /* $Id: nsp_cs.c,v 1.23 2003/08/18 11:09:19 elca Exp $ */ #include <linux/version.h> #include <linux/module.h> #include <linux/kernel.h> Loading Loading @@ -59,7 +57,7 @@ #include "nsp_cs.h" MODULE_AUTHOR("YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>"); MODULE_DESCRIPTION("WorkBit NinjaSCSI-3 / NinjaSCSI-32Bi(16bit) PCMCIA SCSI host adapter module $Revision: 1.23 $"); MODULE_DESCRIPTION("WorkBit NinjaSCSI-3 / NinjaSCSI-32Bi(16bit) PCMCIA SCSI host adapter module"); MODULE_SUPPORTED_DEVICE("sd,sr,sg,st"); #ifdef MODULE_LICENSE MODULE_LICENSE("GPL"); Loading @@ -83,10 +81,6 @@ static struct scsi_host_template nsp_driver_template = { .proc_name = "nsp_cs", .proc_info = nsp_proc_info, .name = "WorkBit NinjaSCSI-3/32Bi(16bit)", #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) .detect = nsp_detect_old, .release = nsp_release_old, #endif .info = nsp_info, .queuecommand = nsp_queuecommand, /* .eh_abort_handler = nsp_eh_abort,*/ Loading @@ -97,9 +91,6 @@ static struct scsi_host_template nsp_driver_template = { .sg_tablesize = SG_ALL, .cmd_per_lun = 1, .use_clustering = DISABLE_CLUSTERING, #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,2)) .use_new_eh_code = 1, #endif }; static nsp_hw_data nsp_data_base; /* attach <-> detect glue */ Loading Loading @@ -1313,11 +1304,7 @@ static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht) nsp_hw_data *data_b = &nsp_data_base, *data; nsp_dbg(NSP_DEBUG_INIT, "this_id=%d", sht->this_id); #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73)) host = scsi_host_alloc(&nsp_driver_template, sizeof(nsp_hw_data)); #else host = scsi_register(sht, sizeof(nsp_hw_data)); #endif if (host == NULL) { nsp_dbg(NSP_DEBUG_INIT, "host failed"); return NULL; Loading Loading @@ -1354,37 +1341,6 @@ static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht) return host; /* detect done. */ } #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) static int nsp_detect_old(struct scsi_host_template *sht) { if (nsp_detect(sht) == NULL) { return 0; } else { //MOD_INC_USE_COUNT; return 1; } } static int nsp_release_old(struct Scsi_Host *shpnt) { //nsp_hw_data *data = (nsp_hw_data *)shpnt->hostdata; /* PCMCIA Card Service dose same things below. */ /* So we do nothing. */ //if (shpnt->irq) { // free_irq(shpnt->irq, data->ScsiInfo); //} //if (shpnt->io_port) { // release_region(shpnt->io_port, shpnt->n_io_port); //} //MOD_DEC_USE_COUNT; return 0; } #endif /*----------------------------------------------------------------*/ /* return info string */ /*----------------------------------------------------------------*/ Loading @@ -1403,19 +1359,9 @@ static const char *nsp_info(struct Scsi_Host *shpnt) nsp_dbg(NSP_DEBUG_PROC, "buffer=0x%p pos=0x%p length=%d %d\n", buffer, pos, length, length - (pos - buffer));\ } \ } while(0) static int nsp_proc_info( #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73)) struct Scsi_Host *host, #endif char *buffer, char **start, off_t offset, int length, #if !(LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73)) int hostno, #endif int inout) static int nsp_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length, int inout) { int id; char *pos = buffer; Loading @@ -1423,24 +1369,13 @@ nsp_proc_info( int speed; unsigned long flags; nsp_hw_data *data; #if !(LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73)) struct Scsi_Host *host; #else int hostno; #endif if (inout) { return -EINVAL; } #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73)) hostno = host->host_no; #else /* search this HBA host */ host = scsi_host_hn_get(hostno); if (host == NULL) { return -ESRCH; } #endif data = (nsp_hw_data *)host->hostdata; Loading Loading @@ -1675,10 +1610,6 @@ static int nsp_cs_config(struct pcmcia_device *link) cistpl_cftable_entry_t dflt = { 0 }; struct Scsi_Host *host; nsp_hw_data *data = &nsp_data_base; #if !(LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,74)) struct scsi_device *dev; dev_node_t **tail, *node; #endif nsp_dbg(NSP_DEBUG_INIT, "in"); Loading Loading @@ -1811,17 +1742,7 @@ static int nsp_cs_config(struct pcmcia_device *link) goto cs_failed; } #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,2)) host = nsp_detect(&nsp_driver_template); #else scsi_register_host(&nsp_driver_template); for (host = scsi_host_get_next(NULL); host != NULL; host = scsi_host_get_next(host)) { if (host->hostt == &nsp_driver_template) { break; } } #endif if (host == NULL) { nsp_dbg(NSP_DEBUG_INIT, "detect failed"); Loading @@ -1829,7 +1750,6 @@ static int nsp_cs_config(struct pcmcia_device *link) } #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,74)) ret = scsi_add_host (host, NULL); if (ret) goto cs_failed; Loading @@ -1840,52 +1760,6 @@ static int nsp_cs_config(struct pcmcia_device *link) link->dev_node = &info->node; info->host = host; #else nsp_dbg(NSP_DEBUG_INIT, "GET_SCSI_INFO"); tail = &link->dev_node; info->ndev = 0; nsp_dbg(NSP_DEBUG_INIT, "host=0x%p", host); for (dev = host->host_queue; dev != NULL; dev = dev->next) { unsigned long id; id = (dev->id & 0x0f) + ((dev->lun & 0x0f) << 4) + ((dev->channel & 0x0f) << 8) + ((dev->host->host_no & 0x0f) << 12); node = &info->node[info->ndev]; node->minor = 0; switch (dev->type) { case TYPE_TAPE: node->major = SCSI_TAPE_MAJOR; snprintf(node->dev_name, sizeof(node->dev_name), "st#%04lx", id); break; case TYPE_DISK: case TYPE_MOD: node->major = SCSI_DISK0_MAJOR; snprintf(node->dev_name, sizeof(node->dev_name), "sd#%04lx", id); break; case TYPE_ROM: case TYPE_WORM: node->major = SCSI_CDROM_MAJOR; snprintf(node->dev_name, sizeof(node->dev_name), "sr#%04lx", id); break; default: node->major = SCSI_GENERIC_MAJOR; snprintf(node->dev_name, sizeof(node->dev_name), "sg#%04lx", id); break; } *tail = node; tail = &node->next; info->ndev++; info->host = dev->host; } *tail = NULL; if (info->ndev == 0) { nsp_msg(KERN_INFO, "no SCSI devices found"); } nsp_dbg(NSP_DEBUG_INIT, "host=0x%p", host); #endif /* Finally, report what we've done */ printk(KERN_INFO "nsp_cs: index 0x%02x: ", link->conf.ConfigIndex); Loading Loading @@ -1938,13 +1812,9 @@ static void nsp_cs_release(struct pcmcia_device *link) nsp_dbg(NSP_DEBUG_INIT, "link=0x%p", link); /* Unlink the device chain */ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,2)) if (info->host != NULL) { scsi_remove_host(info->host); } #else scsi_unregister_host(&nsp_driver_template); #endif link->dev_node = NULL; if (link->win) { Loading @@ -1954,11 +1824,9 @@ static void nsp_cs_release(struct pcmcia_device *link) } pcmcia_disable_device(link); #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,2)) if (info->host != NULL) { scsi_host_put(info->host); } #endif } /* nsp_cs_release */ static int nsp_cs_suspend(struct pcmcia_device *link) Loading Loading @@ -2005,7 +1873,6 @@ static int nsp_cs_resume(struct pcmcia_device *link) /*======================================================================* * module entry point *====================================================================*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,68)) static struct pcmcia_device_id nsp_cs_ids[] = { PCMCIA_DEVICE_PROD_ID123("IO DATA", "CBSC16 ", "1", 0x547e66dc, 0x0d63a3fd, 0x51de003a), PCMCIA_DEVICE_PROD_ID123("KME ", "SCSI-CARD-001", "1", 0x534c02bc, 0x52008408, 0x51de003a), Loading @@ -2029,28 +1896,12 @@ static struct pcmcia_driver nsp_driver = { .suspend = nsp_cs_suspend, .resume = nsp_cs_resume, }; #endif static int __init nsp_cs_init(void) { #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,68)) nsp_msg(KERN_INFO, "loading..."); return pcmcia_register_driver(&nsp_driver); #else servinfo_t serv; nsp_msg(KERN_INFO, "loading..."); pcmcia_get_card_services_info(&serv); if (serv.Revision != CS_RELEASE_CODE) { nsp_msg(KERN_DEBUG, "Card Services release does not match!"); return -EINVAL; } register_pcmcia_driver(&dev_info, &nsp_cs_attach, &nsp_cs_detach); nsp_dbg(NSP_DEBUG_INIT, "out"); return 0; #endif } static void __exit nsp_cs_exit(void) Loading
drivers/scsi/pcmcia/nsp_cs.h +0 −8 Original line number Diff line number Diff line Loading @@ -10,8 +10,6 @@ =========================================================*/ /* $Id: nsp_cs.h,v 1.19 2003/08/18 11:09:19 elca Exp $ */ #ifndef __nsp_cs__ #define __nsp_cs__ Loading Loading @@ -227,13 +225,7 @@ typedef struct scsi_info_t { struct pcmcia_device *p_dev; struct Scsi_Host *host; #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,74)) dev_node_t node; #else int ndev; dev_node_t node[8]; struct bus_operations *bus; #endif int stop; } scsi_info_t; Loading