aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJames Bottomley <jejb@mulgrave.(none)>2005-11-08 12:50:26 -0500
committerJames Bottomley <jejb@mulgrave.(none)>2005-11-08 12:50:26 -0500
commit383f9749505cef0a30dbd7109db7fe469aa64753 (patch)
tree9e88d648396ac99a90d12ccf5471d001e87c65ae /include
parentf093182d313edde9b1f86dbdaf40ba4da2dbd0e7 (diff)
parent3da8b713da723e78a03f0404beedf3cc6f4f860b (diff)
Merge by hand (conflicts between pending drivers and kfree cleanups)
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/pci_ids.h2
-rw-r--r--include/linux/raid_class.h32
-rw-r--r--include/scsi/scsi_host.h7
-rw-r--r--include/scsi/scsi_request.h3
4 files changed, 31 insertions, 13 deletions
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 9a96f0588393..914b55f4abbb 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -441,6 +441,7 @@
441#define PCI_DEVICE_ID_IBM_SNIPE 0x0180 441#define PCI_DEVICE_ID_IBM_SNIPE 0x0180
442#define PCI_DEVICE_ID_IBM_CITRINE 0x028C 442#define PCI_DEVICE_ID_IBM_CITRINE 0x028C
443#define PCI_DEVICE_ID_IBM_GEMSTONE 0xB166 443#define PCI_DEVICE_ID_IBM_GEMSTONE 0xB166
444#define PCI_DEVICE_ID_IBM_OBSIDIAN 0x02BD
444#define PCI_DEVICE_ID_IBM_ICOM_DEV_ID_1 0x0031 445#define PCI_DEVICE_ID_IBM_ICOM_DEV_ID_1 0x0031
445#define PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2 0x0219 446#define PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2 0x0219
446#define PCI_DEVICE_ID_IBM_ICOM_V2_TWO_PORTS_RVX 0x021A 447#define PCI_DEVICE_ID_IBM_ICOM_V2_TWO_PORTS_RVX 0x021A
@@ -2144,6 +2145,7 @@
2144#define PCI_DEVICE_ID_ADAPTEC2_7899B 0x00c1 2145#define PCI_DEVICE_ID_ADAPTEC2_7899B 0x00c1
2145#define PCI_DEVICE_ID_ADAPTEC2_7899D 0x00c3 2146#define PCI_DEVICE_ID_ADAPTEC2_7899D 0x00c3
2146#define PCI_DEVICE_ID_ADAPTEC2_7899P 0x00cf 2147#define PCI_DEVICE_ID_ADAPTEC2_7899P 0x00cf
2148#define PCI_DEVICE_ID_ADAPTEC2_OBSIDIAN 0x0500
2147#define PCI_DEVICE_ID_ADAPTEC2_SCAMP 0x0503 2149#define PCI_DEVICE_ID_ADAPTEC2_SCAMP 0x0503
2148 2150
2149 2151
diff --git a/include/linux/raid_class.h b/include/linux/raid_class.h
index a71123c28272..48831eac2910 100644
--- a/include/linux/raid_class.h
+++ b/include/linux/raid_class.h
@@ -1,4 +1,9 @@
1/* 1/*
2 * raid_class.h - a generic raid visualisation class
3 *
4 * Copyright (c) 2005 - James Bottomley <James.Bottomley@steeleye.com>
5 *
6 * This file is licensed under GPLv2
2 */ 7 */
3#include <linux/transport_class.h> 8#include <linux/transport_class.h>
4 9
@@ -14,20 +19,35 @@ struct raid_function_template {
14}; 19};
15 20
16enum raid_state { 21enum raid_state {
17 RAID_ACTIVE = 1, 22 RAID_STATE_UNKNOWN = 0,
18 RAID_DEGRADED, 23 RAID_STATE_ACTIVE,
19 RAID_RESYNCING, 24 RAID_STATE_DEGRADED,
20 RAID_OFFLINE, 25 RAID_STATE_RESYNCING,
26 RAID_STATE_OFFLINE,
27};
28
29enum raid_level {
30 RAID_LEVEL_UNKNOWN = 0,
31 RAID_LEVEL_LINEAR,
32 RAID_LEVEL_0,
33 RAID_LEVEL_1,
34 RAID_LEVEL_3,
35 RAID_LEVEL_4,
36 RAID_LEVEL_5,
37 RAID_LEVEL_6,
21}; 38};
22 39
23struct raid_data { 40struct raid_data {
24 struct list_head component_list; 41 struct list_head component_list;
25 int component_count; 42 int component_count;
26 int level; 43 enum raid_level level;
27 enum raid_state state; 44 enum raid_state state;
28 int resync; 45 int resync;
29}; 46};
30 47
48/* resync complete goes from 0 to this */
49#define RAID_MAX_RESYNC (10000)
50
31#define DEFINE_RAID_ATTRIBUTE(type, attr) \ 51#define DEFINE_RAID_ATTRIBUTE(type, attr) \
32static inline void \ 52static inline void \
33raid_set_##attr(struct raid_template *r, struct device *dev, type value) { \ 53raid_set_##attr(struct raid_template *r, struct device *dev, type value) { \
@@ -48,7 +68,7 @@ raid_get_##attr(struct raid_template *r, struct device *dev) { \
48 return rd->attr; \ 68 return rd->attr; \
49} 69}
50 70
51DEFINE_RAID_ATTRIBUTE(int, level) 71DEFINE_RAID_ATTRIBUTE(enum raid_level, level)
52DEFINE_RAID_ATTRIBUTE(int, resync) 72DEFINE_RAID_ATTRIBUTE(int, resync)
53DEFINE_RAID_ATTRIBUTE(enum raid_state, state) 73DEFINE_RAID_ATTRIBUTE(enum raid_state, state)
54 74
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h
index ecd53d7872d2..6cbb1982ed03 100644
--- a/include/scsi/scsi_host.h
+++ b/include/scsi/scsi_host.h
@@ -7,6 +7,7 @@
7#include <linux/workqueue.h> 7#include <linux/workqueue.h>
8 8
9struct block_device; 9struct block_device;
10struct completion;
10struct module; 11struct module;
11struct scsi_cmnd; 12struct scsi_cmnd;
12struct scsi_device; 13struct scsi_device;
@@ -467,10 +468,8 @@ struct Scsi_Host {
467 468
468 struct list_head eh_cmd_q; 469 struct list_head eh_cmd_q;
469 struct task_struct * ehandler; /* Error recovery thread. */ 470 struct task_struct * ehandler; /* Error recovery thread. */
470 struct semaphore * eh_action; /* Wait for specific actions on the 471 struct completion * eh_action; /* Wait for specific actions on the
471 host. */ 472 host. */
472 unsigned int eh_active:1; /* Indicates the eh thread is awake and active if
473 this is true. */
474 wait_queue_head_t host_wait; 473 wait_queue_head_t host_wait;
475 struct scsi_host_template *hostt; 474 struct scsi_host_template *hostt;
476 struct scsi_transport_template *transportt; 475 struct scsi_transport_template *transportt;
diff --git a/include/scsi/scsi_request.h b/include/scsi/scsi_request.h
index 2539debb7993..98d69fdb851c 100644
--- a/include/scsi/scsi_request.h
+++ b/include/scsi/scsi_request.h
@@ -47,9 +47,6 @@ struct scsi_request {
47 47
48extern struct scsi_request *scsi_allocate_request(struct scsi_device *, gfp_t); 48extern struct scsi_request *scsi_allocate_request(struct scsi_device *, gfp_t);
49extern void scsi_release_request(struct scsi_request *); 49extern void scsi_release_request(struct scsi_request *);
50extern void scsi_wait_req(struct scsi_request *, const void *cmnd,
51 void *buffer, unsigned bufflen,
52 int timeout, int retries);
53extern void scsi_do_req(struct scsi_request *, const void *cmnd, 50extern void scsi_do_req(struct scsi_request *, const void *cmnd,
54 void *buffer, unsigned bufflen, 51 void *buffer, unsigned bufflen,
55 void (*done) (struct scsi_cmnd *), 52 void (*done) (struct scsi_cmnd *),