From: Andrew Morton - extern decls should always be in headers, visible to all users and to the definition. - make arcmsr_interrupt() static. Cc: Erich Chen Cc: Christoph Hellwig Cc: Matthew Wilcox Signed-off-by: Andrew Morton --- drivers/scsi/arcmsr/arcmsr.h | 5 +++++ drivers/scsi/arcmsr/arcmsr_attr.c | 1 - drivers/scsi/arcmsr/arcmsr_hba.c | 7 ++----- 3 files changed, 7 insertions(+), 6 deletions(-) diff -puN drivers/scsi/arcmsr/arcmsr_attr.c~areca-raid-linux-scsi-driver-update6-for-2617-rc1-mm3-externs-go-in-headers drivers/scsi/arcmsr/arcmsr_attr.c --- 25/drivers/scsi/arcmsr/arcmsr_attr.c~areca-raid-linux-scsi-driver-update6-for-2617-rc1-mm3-externs-go-in-headers Thu Apr 27 15:05:05 2006 +++ 25-akpm/drivers/scsi/arcmsr/arcmsr_attr.c Thu Apr 27 15:05:05 2006 @@ -57,7 +57,6 @@ #include #include "arcmsr.h" -extern void arcmsr_post_Qbuffer(struct AdapterControlBlock *acb); struct class_device_attribute *arcmsr_host_attrs[]; void arcmsr_alloc_sysfs_attr(struct AdapterControlBlock *acb); diff -puN drivers/scsi/arcmsr/arcmsr_hba.c~areca-raid-linux-scsi-driver-update6-for-2617-rc1-mm3-externs-go-in-headers drivers/scsi/arcmsr/arcmsr_hba.c --- 25/drivers/scsi/arcmsr/arcmsr_hba.c~areca-raid-linux-scsi-driver-update6-for-2617-rc1-mm3-externs-go-in-headers Thu Apr 27 15:05:05 2006 +++ 25-akpm/drivers/scsi/arcmsr/arcmsr_hba.c Thu Apr 27 15:05:05 2006 @@ -75,9 +75,6 @@ MODULE_DESCRIPTION("ARECA (ARC11xx/12xx) MODULE_LICENSE("Dual BSD/GPL"); MODULE_VERSION(ARCMSR_DRIVER_VERSION); -extern struct class_device_attribute *arcmsr_host_attrs[]; -extern void arcmsr_alloc_sysfs_attr(struct AdapterControlBlock *acb); - static int arcmsr_iop_message_xfer(struct AdapterControlBlock *acb, struct scsi_cmnd *cmd); static int arcmsr_abort(struct scsi_cmnd *); static int arcmsr_bus_reset(struct scsi_cmnd *); @@ -95,7 +92,7 @@ static void arcmsr_stop_adapter_bgrb(str static void arcmsr_flush_adapter_cache(struct AdapterControlBlock *acb); static uint8_t arcmsr_wait_msgint_ready(struct AdapterControlBlock *acb); static const char *arcmsr_info(struct Scsi_Host *); -irqreturn_t arcmsr_interrupt(struct AdapterControlBlock *acb); +static irqreturn_t arcmsr_interrupt(struct AdapterControlBlock *acb); static int arcmsr_adjust_disk_queue_depth(struct scsi_device *sdev, int queue_depth) { @@ -682,7 +679,7 @@ static void arcmsr_free_ccb_pool(struct acb->dma_coherent_handle); } -irqreturn_t arcmsr_interrupt(struct AdapterControlBlock *acb) +static irqreturn_t arcmsr_interrupt(struct AdapterControlBlock *acb) { struct MessageUnit __iomem *reg = acb->pmu; struct CommandControlBlock *ccb; diff -puN drivers/scsi/arcmsr/arcmsr.h~areca-raid-linux-scsi-driver-update6-for-2617-rc1-mm3-externs-go-in-headers drivers/scsi/arcmsr/arcmsr.h --- 25/drivers/scsi/arcmsr/arcmsr.h~areca-raid-linux-scsi-driver-update6-for-2617-rc1-mm3-externs-go-in-headers Thu Apr 27 15:05:05 2006 +++ 25-akpm/drivers/scsi/arcmsr/arcmsr.h Thu Apr 27 15:05:05 2006 @@ -44,6 +44,8 @@ */ #include +struct class_device_attribute; + #define ARCMSR_MAX_OUTSTANDING_CMD 256 #define ARCMSR_MAX_FREECCB_NUM 288 #define ARCMSR_DRIVER_VERSION "Driver Version 1.20.00.13" @@ -463,3 +465,6 @@ struct SENSE_DATA #define ARCMSR_MU_OUTBOUND_MESSAGE0_INTMASKENABLE 0x01 #define ARCMSR_MU_OUTBOUND_ALL_INTMASKENABLE 0x1F +extern void arcmsr_post_Qbuffer(struct AdapterControlBlock *acb); +extern struct class_device_attribute *arcmsr_host_attrs[]; +extern void arcmsr_alloc_sysfs_attr(struct AdapterControlBlock *acb); _