aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
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/linux
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/linux')
-rw-r--r--include/linux/pci_ids.h2
-rw-r--r--include/linux/raid_class.h32
2 files changed, 28 insertions, 6 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