scsi_debug cleanup
cover scsi_debug cleanup
Here's minor cleanup of scsi_debug driver. This is against scsi-misc.
PATCH 1/4 scsi_debug: stop including drivers/scsi/scsi.h
This converts scsi_debug to include header files in include/scsi/ instead of drivers/scsi/scsi.h.
--- drivers/scsi/scsi_debug.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
drivers/scsi/scsi_debug.c +4 -2
@@ -39,9 +39,11 @@#include <linux/vmalloc.h> #include <linux/moduleparam.h> #include <linux/scatterlist.h> -#include <linux/blkdev.h> -#include "scsi.h" + +#include <scsi/scsi.h> +#include <scsi/scsi_cmnd.h> +#include <scsi/scsi_device.h> #include <scsi/scsi_host.h> #include <scsi/scsicam.h>
Signature · 1 line
1.5.3.7
PATCH 2/4 scsi_debug: remove scsi_debug.h
scsi_debug.h just incldues some function declarations. This patch removes it with moving the scsi_host_template.
--- drivers/scsi/scsi_debug.c | 58 +++++++++++++++++++++++--------------------- drivers/scsi/scsi_debug.h | 24 ------------------ 2 files changed, 30 insertions(+), 52 deletions(-) delete mode 100644 drivers/scsi/scsi_debug.h
drivers/scsi/scsi_debug.c +30 -28
@@ -50,7 +50,6 @@#include <linux/stat.h> #include "scsi_logging.h" -#include "scsi_debug.h" #define SCSI_DEBUG_VERSION "1.81"static const char * scsi_debug_version_date ="20070104" ;
@@ -167,6 +166,9 @@ static int sdebug_sectors_per; /* sectors per cylinder */#define SDEBUG_SENSE_LEN 32 +#define SCSI_DEBUG_CANQUEUE 255 +#define SCSI_DEBUG_MAX_CMD_LEN 16 +struct sdebug_dev_info {struct list_head dev_list;unsigned char sense_buff[SDEBUG_SENSE_LEN ];/* weak nexus */
@@ -204,30 +206,6 @@ struct sdebug_queued_cmd { };static struct sdebug_queued_cmd queued_arr[SCSI_DEBUG_CANQUEUE ]; -static struct scsi_host_template sdebug_driver_template = { - .proc_info = scsi_debug_proc_info, - .name ="SCSI DEBUG" , - .info = scsi_debug_info, - .slave_alloc = scsi_debug_slave_alloc, - .slave_configure = scsi_debug_slave_configure, - .slave_destroy = scsi_debug_slave_destroy, - .ioctl = scsi_debug_ioctl, - .queuecommand = scsi_debug_queuecommand, - .eh_abort_handler = scsi_debug_abort, - .eh_bus_reset_handler = scsi_debug_bus_reset, - .eh_device_reset_handler = scsi_debug_device_reset, - .eh_host_reset_handler = scsi_debug_host_reset, - .bios_param = scsi_debug_biosparam, - .can_queue =SCSI_DEBUG_CANQUEUE , - .this_id =7 , - .sg_tablesize =256 , - .cmd_per_lun =16 , - .max_sectors =0xffff , - .unchecked_isa_dma =0 , - .use_clustering =DISABLE_CLUSTERING , - .module =THIS_MODULE , -}; -static unsigned char * fake_storep;/* ramdisk storage */ static int num_aborts =0 ;
@@ -376,7 +354,8 @@ int scsi_debug_queuecommand(struct scsi_cmnd * SCpnt, done_funct_t done)printk ("%02x " , (int )cmd[k]);printk ("\n" ); } -if (target == sdebug_driver_template.this_id) { + +if (target == SCpnt->device->host->hostt->this_id) {printk (KERN_INFO "scsi_debug: initiator's id used as " "target!\n" ); return schedule_resp(SCpnt, NULL, done,
@@ -2924,8 +2903,6 @@ static int __init scsi_debug_init(void)init_all_queued (); - sdebug_driver_template.proc_name = sdebug_proc_name; - host_to_add = scsi_debug_add_host; scsi_debug_add_host =0 ;
@@ -3085,6 +3062,31 @@ static void sdebug_remove_adapter(void) --scsi_debug_add_host; } +static struct scsi_host_template sdebug_driver_template = { + .proc_info = scsi_debug_proc_info, + .proc_name = sdebug_proc_name, + .name ="SCSI DEBUG" , + .info = scsi_debug_info, + .slave_alloc = scsi_debug_slave_alloc, + .slave_configure = scsi_debug_slave_configure, + .slave_destroy = scsi_debug_slave_destroy, + .ioctl = scsi_debug_ioctl, + .queuecommand = scsi_debug_queuecommand, + .eh_abort_handler = scsi_debug_abort, + .eh_bus_reset_handler = scsi_debug_bus_reset, + .eh_device_reset_handler = scsi_debug_device_reset, + .eh_host_reset_handler = scsi_debug_host_reset, + .bios_param = scsi_debug_biosparam, + .can_queue =SCSI_DEBUG_CANQUEUE , + .this_id =7 , + .sg_tablesize =256 , + .cmd_per_lun =16 , + .max_sectors =0xffff , + .unchecked_isa_dma =0 , + .use_clustering =DISABLE_CLUSTERING , + .module =THIS_MODULE , +}; +static int sdebug_driver_probe (struct device * dev) {int error =0 ;
drivers/scsi/scsi_debug.h deleted +0 -24
@@ -1,24 +0,0 @@ -#ifndef _SCSI_DEBUG_H - -#include <linux/types.h> - -static int scsi_debug_slave_alloc (struct scsi_device *); -static int scsi_debug_slave_configure (struct scsi_device *); -static void scsi_debug_slave_destroy (struct scsi_device *); -static int scsi_debug_queuecommand (struct scsi_cmnd *, -void (*done) (struct scsi_cmnd *)); -static int scsi_debug_ioctl (struct scsi_device *,int ,void __user *); -static int scsi_debug_biosparam (struct scsi_device *,struct block_device *, -sector_t ,int []); -static int scsi_debug_abort (struct scsi_cmnd *); -static int scsi_debug_bus_reset (struct scsi_cmnd *); -static int scsi_debug_device_reset (struct scsi_cmnd *); -static int scsi_debug_host_reset (struct scsi_cmnd *); -static int scsi_debug_proc_info (struct Scsi_Host *,char *,char **,off_t ,int ,int ); -static const char *scsi_debug_info (struct Scsi_Host *); - -#define SCSI_DEBUG_CANQUEUE 255/* needs to be >= 1 */ - -#define SCSI_DEBUG_MAX_CMD_LEN 16 - -#endif
Signature · 1 line
1.5.3.7
PATCH 3/4 scsi_debug: remove unnecessary checking
--- drivers/scsi/scsi_debug.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-)
drivers/scsi/scsi_debug.c +0 -3
@@ -344,9 +344,6 @@ int scsi_debug_queuecommand(struct scsi_cmnd * SCpnt, done_funct_t done)int inj_transport =0 ;int delay_override =0 ; -if (done ==NULL ) -return 0 ;/* assume mid level reprocessing command */ -scsi_set_resid (SCpnt,0 );if ((SCSI_DEBUG_OPT_NOISE & scsi_debug_opts) && cmd) {printk (KERN_INFO "scsi_debug: cmd " );
Signature · 1 line
1.5.3.7
PATCH 4/4 scsi_debug: use shost_priv macro
--- drivers/scsi/scsi_debug.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
drivers/scsi/scsi_debug.c +3 -3
@@ -2076,8 +2076,8 @@ static struct sdebug_dev_info * devInfoReg(struct scsi_device * sdev)if (devip)return devip; - sdbg_host = *(struct sdebug_host_info **) sdev->host->hostdata; -if (! sdbg_host) { + sdbg_host = *(struct sdebug_host_info **)shost_priv (sdev->host); +if (!sdbg_host) {printk (KERN_ERR "Host info NULL\n" );return NULL ; }
@@ -2204,7 +2204,7 @@ static int scsi_debug_bus_reset(struct scsi_cmnd * SCpnt)printk (KERN_INFO "scsi_debug: bus_reset\n" ); ++num_bus_resets;if (SCpnt && ((sdp = SCpnt->device)) && ((hp = sdp->host))) { - sdbg_host = *(struct sdebug_host_info **) hp->hostdata; + sdbg_host = *(struct sdebug_host_info **)shost_priv (hp);if (sdbg_host) { list_for_each_entry(dev_info, &sdbg_host->dev_info_list,
Signature · 1 line
1.5.3.7
Quoted 1 line · FUJITA Tomonori
Here's minor cleanup of
scsi_debugdriver. This is against scsi-misc.
Thanks, Tomo.
For patches 1/4, 2/4, 3/4 and 4/4:
PATCH 1/1 scsi_debug: publish support for sg-chaining
In reply to FUJITA TomonoriQuoted 4 lines · FUJITA Tomonori
Here's minor cleanup of
scsi_debugdriver. This is against scsi-misc.--
If at it, might add this one also. I was sure it was done before, but apparently it disappeared.
---
From: Boaz Harrosh <[email protected]>
Date: Tue, 4 Mar 2008 20:09:20 +0200
Subject: [PATCH] scsi_debug: publish support for sg-chaining
scsi_debug already supports sg-chaining. Let scsi-ml know that, to let it send any sg-list size
--- drivers/scsi/scsi_debug.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/scsi/scsi_debug.c +1 -1
@@ -3076,7 +3076,7 @@ static struct scsi_host_template sdebug_driver_template = { .bios_param = scsi_debug_biosparam, .can_queue = SCSI_DEBUG_CANQUEUE, .this_id = 7, - .sg_tablesize = 256, + .sg_tablesize = ~0, .cmd_per_lun = 16, .max_sectors = 0xffff, .use_clustering = DISABLE_CLUSTERING,
Signature · 1 line
1.5.3.3