From: Adrian Bunk <bunk@stusta.de>
To: Andrew Morton <akpm@osdl.org>, Erich Chen <erich@areca.com.tw>
Cc: linux-kernel@vger.kernel.org, James.Bottomley@SteelEye.com,
linux-scsi@vger.kernel.org
Subject: [2.6.11-rc4-mm1 patch] drivers/scsi/arcmsr/arcmsr.c cleanups
Date: Sun, 27 Feb 2005 16:48:10 +0100 [thread overview]
Message-ID: <20050227154810.GA6148@stusta.de> (raw)
In-Reply-To: <20050223014233.6710fd73.akpm@osdl.org>
On Wed, Feb 23, 2005 at 01:42:33AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.11-rc3-mm1:
>...
> +areca-raid-linux-scsi-driver-fix.patch
>
> New RAID driver (this patch is having a hard life and needs a re-review)
>...
This patch contains the following cleanups:
- make needlessly global functions static
- move arcmsr_scsi_host_template from arcmsr.h to arcmsr.c
(code doesn't belong into header files)
Signed-off-by: Adrian Bunk <bunk@stusta.de>
---
Some notes:
- BOOLEAN/TRUE/FALSE, own get_min/get_max aren't kernel coding style
- the own subdirectory for this driver seems to be overkill
- aren't the "if defined(__x86_64__)" wrong for other 64bit
architectures?
drivers/scsi/arcmsr/arcmsr.c | 110 +++++++++++++++++++++++------------
drivers/scsi/arcmsr/arcmsr.h | 34 ----------
2 files changed, 73 insertions(+), 71 deletions(-)
--- linux-2.6.11-rc4-mm1-full/drivers/scsi/arcmsr/arcmsr.h.old 2005-02-27 16:06:56.000000000 +0100
+++ linux-2.6.11-rc4-mm1-full/drivers/scsi/arcmsr/arcmsr.h 2005-02-27 16:06:25.000000000 +0100
@@ -4802,38 +4802,4 @@
** (E) Checksum : checksum of length and status or data byte
**************************************************************************
*/
-extern int arcmsr_proc_info(struct Scsi_Host *host, char *buffer, char **start,
- off_t offset, int length, int inout);
-extern int arcmsr_bios_param(struct scsi_device *sdev,
- struct block_device *bdev, sector_t capacity,
- int *info);
-extern int arcmsr_release(struct Scsi_Host *);
-extern int arcmsr_queue_command(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *));
-extern int arcmsr_cmd_abort(Scsi_Cmnd *);
-extern int arcmsr_bus_reset(Scsi_Cmnd *);
-extern int arcmsr_ioctl(Scsi_Device * dev, int ioctl_cmd, void *arg);
-extern const char *arcmsr_info(struct Scsi_Host *);
-static Scsi_Host_Template arcmsr_scsi_host_template = {
- .module = THIS_MODULE,
- .proc_name = "arcmsr",
- .proc_info = arcmsr_proc_info,
- .name = "ARCMSR ARECA SATA RAID HOST Adapter" ARCMSR_DRIVER_VERSION, /* *name */
- .release = arcmsr_release,
- .info = arcmsr_info,
- .ioctl = arcmsr_ioctl,
- .queuecommand = arcmsr_queue_command,
- .eh_strategy_handler = NULL,
- .eh_abort_handler = arcmsr_cmd_abort,
- .eh_device_reset_handler = NULL,
- .eh_bus_reset_handler = arcmsr_bus_reset,
- .eh_host_reset_handler = NULL,
- .bios_param = arcmsr_bios_param,
- .can_queue = ARCMSR_MAX_OUTSTANDING_CMD,
- .this_id = ARCMSR_SCSI_INITIATOR_ID,
- .sg_tablesize = ARCMSR_MAX_SG_ENTRIES,
- .max_sectors = ARCMSR_MAX_XFER_SECTORS,
- .cmd_per_lun = ARCMSR_MAX_CMD_PERLUN,
- .unchecked_isa_dma = 0,
- .use_clustering = DISABLE_CLUSTERING,
-};
--- linux-2.6.11-rc4-mm1-full/drivers/scsi/arcmsr/arcmsr.c.old 2005-02-27 16:06:52.000000000 +0100
+++ linux-2.6.11-rc4-mm1-full/drivers/scsi/arcmsr/arcmsr.c 2005-02-27 16:06:25.000000000 +0100
@@ -121,15 +121,26 @@
static int arcmsr_halt_notify(struct notifier_block *nb, unsigned long event,
void *buf);
static void arcmsr_free_pci_pool(PACB pACB);
-void arcmsr_pcidev_disattach(PACB pACB);
-BOOLEAN arcmsr_wait_msgint_ready(PACB pACB);
-void arcmsr_iop_init(PACB pACB);
-int arcmsr_iop_ioctlcmd(PACB pACB, int ioctl_cmd, void *arg);
-int arcmsr_initialize(PACB pACB, struct pci_dev *pPCI_DEV);
+static void arcmsr_pcidev_disattach(PACB pACB);
+static void arcmsr_iop_init(PACB pACB);
+static int arcmsr_iop_ioctlcmd(PACB pACB, int ioctl_cmd, void *arg);
+static int arcmsr_initialize(PACB pACB, struct pci_dev *pPCI_DEV);
static irqreturn_t arcmsr_HwInterrupt(PACB pACB);
static int arcmsr_device_probe(struct pci_dev *pPCI_DEV,
const struct pci_device_id *id);
static void arcmsr_device_remove(struct pci_dev *pPCI_DEV);
+static int arcmsr_bios_param(struct scsi_device *sdev,
+ struct block_device *bdev,
+ sector_t capacity, int *geom);
+static int arcmsr_bus_reset(Scsi_Cmnd * cmd);
+static int arcmsr_cmd_abort(Scsi_Cmnd * cmd);
+static const char *arcmsr_info(struct Scsi_Host *host);
+static int arcmsr_ioctl(Scsi_Device * dev, int ioctl_cmd, void *arg);
+static int arcmsr_proc_info(struct Scsi_Host *host, char *buffer, char **start,
+ off_t offset, int length, int inout);
+static int arcmsr_queue_command(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *));
+static int arcmsr_release(struct Scsi_Host *host);
+
/*
**********************************************************************************
**
@@ -169,13 +180,37 @@
};
MODULE_DEVICE_TABLE(pci, arcmsr_device_id_table);
-struct pci_driver arcmsr_pci_driver = {
+static struct pci_driver arcmsr_pci_driver = {
.name = "arcmsr",
.id_table = arcmsr_device_id_table,
.probe = arcmsr_device_probe,
.remove = arcmsr_device_remove,
};
+static Scsi_Host_Template arcmsr_scsi_host_template = {
+ .module = THIS_MODULE,
+ .proc_name = "arcmsr",
+ .proc_info = arcmsr_proc_info,
+ .name = "ARCMSR ARECA SATA RAID HOST Adapter" ARCMSR_DRIVER_VERSION, /* *name */
+ .release = arcmsr_release,
+ .info = arcmsr_info,
+ .ioctl = arcmsr_ioctl,
+ .queuecommand = arcmsr_queue_command,
+ .eh_strategy_handler = NULL,
+ .eh_abort_handler = arcmsr_cmd_abort,
+ .eh_device_reset_handler = NULL,
+ .eh_bus_reset_handler = arcmsr_bus_reset,
+ .eh_host_reset_handler = NULL,
+ .bios_param = arcmsr_bios_param,
+ .can_queue = ARCMSR_MAX_OUTSTANDING_CMD,
+ .this_id = ARCMSR_SCSI_INITIATOR_ID,
+ .sg_tablesize = ARCMSR_MAX_SG_ENTRIES,
+ .max_sectors = ARCMSR_MAX_XFER_SECTORS,
+ .cmd_per_lun = ARCMSR_MAX_CMD_PERLUN,
+ .unchecked_isa_dma = 0,
+ .use_clustering = DISABLE_CLUSTERING,
+};
+
/*
*********************************************************************
*********************************************************************
@@ -213,8 +248,9 @@
*********************************************************************
*********************************************************************
*/
-int arcmsr_bios_param(struct scsi_device *sdev, struct block_device *bdev,
- sector_t capacity, int *geom)
+static int arcmsr_bios_param(struct scsi_device *sdev,
+ struct block_device *bdev,
+ sector_t capacity, int *geom)
{
int heads, sectors, cylinders, total_capacity;
@@ -409,7 +445,7 @@
**
**********************************************************************
*/
-void arcmsr_pci_unmap_dma(PCCB pCCB)
+static void arcmsr_pci_unmap_dma(PCCB pCCB)
{
PACB pACB = pCCB->pACB;
Scsi_Cmnd *pcmd = pCCB->pcmd;
@@ -528,7 +564,7 @@
**
**********************************************************************
*/
-void arcmsr_cmd_done(Scsi_Cmnd * pcmd)
+static void arcmsr_cmd_done(Scsi_Cmnd * pcmd)
{
pcmd->scsi_done(pcmd);
return;
@@ -540,7 +576,7 @@
**
************************************************************************
*/
-void arcmsr_flush_adapter_cache(PACB pACB)
+static void arcmsr_flush_adapter_cache(PACB pACB)
{
#if ARCMSR_DEBUG0
printk("arcmsr_flush_adapter_cache..............\n");
@@ -557,7 +593,7 @@
**
**********************************************************************
*/
-void arcmsr_ccb_complete(PCCB pCCB)
+static void arcmsr_ccb_complete(PCCB pCCB)
{
unsigned long flag;
PACB pACB = pCCB->pACB;
@@ -586,7 +622,7 @@
** if scsi error do auto request sense
**********************************************************************
*/
-void arcmsr_report_SenseInfoBuffer(PCCB pCCB)
+static void arcmsr_report_SenseInfoBuffer(PCCB pCCB)
{
Scsi_Cmnd *pcmd = pCCB->pcmd;
PSENSE_DATA psenseBuffer = (PSENSE_DATA) pcmd->sense_buffer;
@@ -611,7 +647,7 @@
** to insert pCCB into tail of pACB wait exec ccbQ
*********************************************************************
*/
-void arcmsr_queue_wait2go_ccb(PACB pACB, PCCB pCCB)
+static void arcmsr_queue_wait2go_ccb(PACB pACB, PCCB pCCB)
{
unsigned long flag;
int i = 0;
@@ -639,7 +675,7 @@
**
*********************************************************************
*/
-void arcmsr_abort_allcmd(PACB pACB)
+static void arcmsr_abort_allcmd(PACB pACB)
{
CHIP_REG_WRITE32(&pACB->pmu->inbound_msgaddr0,
ARCMSR_INBOUND_MESG0_ABORT_CMD);
@@ -653,7 +689,7 @@
**
**********************************************************************
*/
-BOOLEAN arcmsr_wait_msgint_ready(PACB pACB)
+static BOOLEAN arcmsr_wait_msgint_ready(PACB pACB)
{
uint32_t Index;
uint8_t Retries = 0x00;
@@ -678,7 +714,7 @@
** Return Value: Nothing.
****************************************************************************
*/
-void arcmsr_iop_reset(PACB pACB)
+static void arcmsr_iop_reset(PACB pACB)
{
PCCB pCCB;
uint32_t intmask_org, mask;
@@ -760,7 +796,7 @@
** PAGE_SIZE=4096 or 8192,PAGE_SHIFT=12
**********************************************************************
*/
-void arcmsr_build_ccb(PACB pACB, PCCB pCCB, Scsi_Cmnd * pcmd)
+static void arcmsr_build_ccb(PACB pACB, PCCB pCCB, Scsi_Cmnd * pcmd)
{
PARCMSR_CDB pARCMSR_CDB = (PARCMSR_CDB) & pCCB->arcmsr_cdb;
int8_t *psge = (int8_t *) & pARCMSR_CDB->u;
@@ -931,7 +967,7 @@
**
**************************************************************************
*/
-void arcmsr_post_wait2go_ccb(PACB pACB)
+static void arcmsr_post_wait2go_ccb(PACB pACB)
{
unsigned long flag;
PCCB pCCB;
@@ -965,7 +1001,7 @@
** Output:
**********************************************************************
*/
-void arcmsr_post_Qbuffer(PACB pACB)
+static void arcmsr_post_Qbuffer(PACB pACB)
{
uint8_t *pQbuffer;
PQBUFFER pwbuffer = (PQBUFFER) & pACB->pmu->ioctl_wbuffer;
@@ -996,7 +1032,7 @@
**
************************************************************************
*/
-void arcmsr_stop_adapter_bgrb(PACB pACB)
+static void arcmsr_stop_adapter_bgrb(PACB pACB)
{
#if ARCMSR_DEBUG0
printk("arcmsr_stop_adapter_bgrb..............\n");
@@ -1271,7 +1307,7 @@
**
************************************************************************
*/
-int arcmsr_iop_ioctlcmd(PACB pACB, int ioctl_cmd, void *arg)
+static int arcmsr_iop_ioctlcmd(PACB pACB, int ioctl_cmd, void *arg)
{
CMD_IOCTL_FIELD cmdioctlfld;
PCMD_IOCTL_FIELD pcmdioctlfld = &cmdioctlfld;
@@ -1617,7 +1653,7 @@
**
************************************************************************
*/
-int arcmsr_ioctl(Scsi_Device * dev, int ioctl_cmd, void *arg)
+static int arcmsr_ioctl(Scsi_Device * dev, int ioctl_cmd, void *arg)
{
PACB pACB;
int32_t match = 0x55AA, i;
@@ -1649,7 +1685,7 @@
**
**************************************************************************
*/
-PCCB arcmsr_get_freeccb(PACB pACB)
+static PCCB arcmsr_get_freeccb(PACB pACB)
{
PCCB pCCB;
unsigned long flag;
@@ -1821,7 +1857,7 @@
**} Scsi_Pointer;
***********************************************************************
*/
-int arcmsr_queue_command(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *))
+static int arcmsr_queue_command(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *))
{
struct Scsi_Host *host = cmd->device->host;
PACB pACB = (PACB) host->hostdata;
@@ -1872,7 +1908,7 @@
**
**********************************************************************
*/
-void arcmsr_start_adapter_bgrb(PACB pACB)
+static void arcmsr_start_adapter_bgrb(PACB pACB)
{
#if ARCMSR_DEBUG0
printk
@@ -1892,7 +1928,7 @@
**
**********************************************************************
*/
-void arcmsr_iop_init(PACB pACB)
+static void arcmsr_iop_init(PACB pACB)
{
uint32_t intmask_org, mask, outbound_doorbell, firmware_state = 0;
@@ -1932,7 +1968,7 @@
**
****************************************************************************
*/
-int arcmsr_bus_reset(Scsi_Cmnd * cmd)
+static int arcmsr_bus_reset(Scsi_Cmnd * cmd)
{
PACB pACB;
@@ -1949,7 +1985,7 @@
**
*****************************************************************************************
*/
-int arcmsr_seek_cmd2abort(Scsi_Cmnd * pabortcmd)
+static int arcmsr_seek_cmd2abort(Scsi_Cmnd * pabortcmd)
{
PACB pACB = (PACB) pabortcmd->device->host->hostdata;
PCCB pCCB;
@@ -2048,7 +2084,7 @@
**
*****************************************************************************************
*/
-int arcmsr_cmd_abort(Scsi_Cmnd * cmd)
+static int arcmsr_cmd_abort(Scsi_Cmnd * cmd)
{
int error;
@@ -2112,7 +2148,7 @@
**
*********************************************************************
*/
-const char *arcmsr_info(struct Scsi_Host *host)
+static const char *arcmsr_info(struct Scsi_Host *host)
{
static char buf[256];
PACB pACB;
@@ -2212,7 +2248,7 @@
**}
************************************************************************
*/
-int arcmsr_initialize(PACB pACB, struct pci_dev *pPCI_DEV)
+static int arcmsr_initialize(PACB pACB, struct pci_dev *pPCI_DEV)
{
uint32_t intmask_org, page_base, page_offset, mem_base_start;
dma_addr_t dma_addr;
@@ -2339,7 +2375,7 @@
*********************************************************************
*********************************************************************
*/
-int arcmsr_set_info(char *buffer, int length)
+static int arcmsr_set_info(char *buffer, int length)
{
#if ARCMSR_DEBUG0
printk("arcmsr_set_info.............\n");
@@ -2352,7 +2388,7 @@
**
*********************************************************************
*/
-void arcmsr_pcidev_disattach(PACB pACB)
+static void arcmsr_pcidev_disattach(PACB pACB)
{
PCCB pCCB;
uint32_t intmask_org, mask;
@@ -2489,8 +2525,8 @@
if(YN) SPRINTF(" Yes ");\
else SPRINTF(" No ")
-int arcmsr_proc_info(struct Scsi_Host *host, char *buffer, char **start,
- off_t offset, int length, int inout)
+static int arcmsr_proc_info(struct Scsi_Host *host, char *buffer, char **start,
+ off_t offset, int length, int inout)
{
uint8_t i;
char *pos = buffer;
@@ -2528,7 +2564,7 @@
**
************************************************************************
*/
-int arcmsr_release(struct Scsi_Host *host)
+static int arcmsr_release(struct Scsi_Host *host)
{
PACB pACB;
uint8_t match = 0xff, i;
next prev parent reply other threads:[~2005-02-27 15:49 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-23 9:42 2.6.11-rc4-mm1 Andrew Morton
2005-02-23 11:03 ` 2.6.11-rc4-mm1 Mathieu Segaud
2005-02-23 16:32 ` 2.6.11-rc4-mm1 Robert Love
2005-02-23 13:06 ` 2.6.11-rc4-mm1 : IDE crazy numbers, hdb renumbered to hdq ? Helge Hafting
2005-02-23 20:12 ` Andrew Morton
2005-02-23 22:36 ` Laurent Riffard
2005-02-23 23:11 ` Matt Mackall
2005-02-23 23:20 ` Andrew Morton
2005-02-24 17:02 ` Laurent Riffard
2005-02-23 23:47 ` Greg KH
2005-02-24 17:06 ` Laurent Riffard
2005-02-24 17:18 ` Greg KH
2005-02-24 20:42 ` Laurent Riffard
2005-02-24 23:17 ` Greg KH
2005-02-23 23:32 ` Mathieu Segaud
2005-02-24 0:17 ` Matt Mackall
2005-02-23 16:37 ` 2.6.11-rc4-mm1 (VFS: Cannot open root device "301") Steven Cole
2005-02-23 20:17 ` Andrew Morton
2005-02-23 22:10 ` Steven Cole
2005-02-23 22:54 ` Steven Cole
2005-02-24 0:16 ` Andrew Morton
2005-02-24 0:25 ` Andrew Morton
2005-02-24 13:19 ` Bartlomiej Zolnierkiewicz
2005-02-25 0:20 ` Felipe Alfaro Solana
2005-02-24 0:41 ` Matt Mackall
2005-02-24 2:03 ` Benoit Boissinot
2005-02-24 2:08 ` Matt Mackall
2005-02-23 23:03 ` Andrew Morton
2005-02-23 23:03 ` Matt Mackall
2005-02-24 0:44 ` Matt Mackall
2005-02-24 15:59 ` Steven Cole
2005-02-24 16:18 ` Steven Cole
2005-02-23 22:45 ` Matt Mackall
2005-02-23 17:07 ` 2.6.11-rc4-mm1 Vincent Vanackere
2005-02-23 18:20 ` 2.6.11-rc4-mm1 Brice Goglin
2005-02-23 21:24 ` 2.6.11-rc4-mm1 Dominik Brodowski
2005-02-23 22:00 ` 2.6.11-rc4-mm1 Brice Goglin
2005-02-23 23:56 ` 2.6.11-rc4-mm1 Brice Goglin
2005-02-23 21:05 ` 2.6.11-rc4-mm1 Benoit Boissinot
2005-02-23 21:42 ` [PATCH] process-wide itimer typo fixes Roland McGrath
2005-02-23 21:30 ` 2.6.11-rc4-mm1 Adrian Bunk
2005-02-23 21:49 ` 2.6.11-rc4-mm1 (compile stats) John Cherry
2005-02-23 22:22 ` 2.6.11-rc4-mm1 Francois Romieu
2005-02-23 22:38 ` 2.6.11-rc4-mm1 J.A. Magallon
2005-02-23 23:12 ` 2.6.11-rc4-mm1 Ed Tomlinson
2005-02-23 23:40 ` 2.6.11-rc4-mm1 Dmitry Torokhov
2005-02-24 0:20 ` 2.6.11-rc4-mm1 Ed Tomlinson
2005-02-24 0:26 ` 2.6.11-rc4-mm1 Fabian Fenaut
2005-02-25 0:06 ` 2.6.11-rc4-mm1 J.A. Magallon
2005-02-25 3:18 ` 2.6.11-rc4-mm1 Dmitry Torokhov
2005-02-23 23:07 ` 2.6.11-rc4-mm1 Ed Tomlinson
2005-02-23 23:25 ` 2.6.11-rc4-mm1 Andrew Morton
2005-02-24 11:11 ` 2.6.11-rc4-mm1: infiniband/core/user_mad.c warning Adrian Bunk
2005-02-24 11:11 ` [-mm patch] drivers/md/dm-hw-handler.c: fix compile warnings Adrian Bunk
2005-02-24 21:51 ` [-mm patch] seccomp: don't say it was more or less mandatory Adrian Bunk
2005-02-24 22:41 ` Andrea Arcangeli
2005-02-25 21:14 ` Adrian Bunk
2005-02-26 1:31 ` Andrea Arcangeli
2005-03-01 0:32 ` Adrian Bunk
2005-03-01 0:44 ` Andrea Arcangeli
2005-03-03 14:51 ` Adrian Bunk
2005-03-03 16:24 ` Andrea Arcangeli
2005-03-03 21:55 ` Andrew Morton
2005-03-15 10:09 ` Ingo Molnar
2005-03-15 10:15 ` Ingo Molnar
2005-03-15 11:27 ` Ingo Molnar
2005-03-15 13:00 ` Andrea Arcangeli
2005-03-15 14:44 ` Ingo Molnar
2005-03-15 14:59 ` Andrea Arcangeli
2005-03-15 15:00 ` Ingo Molnar
2005-03-15 15:05 ` Ingo Molnar
2005-03-15 16:44 ` Andrea Arcangeli
2005-03-16 8:28 ` Ingo Molnar
2005-03-16 10:46 ` Andrea Arcangeli
2005-03-16 13:41 ` Ingo Molnar
2005-03-16 17:28 ` Andrea Arcangeli
2005-03-17 10:27 ` Ingo Molnar
2005-03-17 10:49 ` Andrea Arcangeli
2005-02-26 11:31 ` [2.6.11-rc4-mm1 patch] fix buggy IEEE80211_CRYPT_* selects Adrian Bunk
2005-03-02 6:43 ` Jeff Garzik
2005-03-02 14:08 ` Adrian Bunk
2005-03-02 19:12 ` Jeff Garzik
2005-03-02 20:38 ` Andrew Morton
2005-03-02 21:07 ` Jeff Garzik
2005-03-02 21:18 ` Andrew Morton
2005-03-02 21:56 ` Adrian Bunk
2005-03-02 22:14 ` Andrew Morton
2005-03-02 22:41 ` Jeff Garzik
2005-03-02 22:45 ` Adrian Bunk
2005-03-02 22:49 ` Jeff Garzik
2005-03-03 15:07 ` How to handle the multiple aes variants on i386? Adrian Bunk
2005-03-02 21:59 ` [2.6.11-rc4-mm1 patch] fix buggy IEEE80211_CRYPT_* selects Adrian Bunk
2005-02-27 15:48 ` Adrian Bunk [this message]
2005-02-27 22:23 ` [2.6.11-rc4-mm1 patch] drivers/scsi/arcmsr/arcmsr.c cleanups Christoph Hellwig
2005-02-28 18:07 ` [-mm patch] drivers/scsi/ch.c: make a struct static Adrian Bunk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050227154810.GA6148@stusta.de \
--to=bunk@stusta.de \
--cc=James.Bottomley@SteelEye.com \
--cc=akpm@osdl.org \
--cc=erich@areca.com.tw \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox