Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
43c09963
Commit
43c09963
authored
Apr 28, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/davem/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux
parents
276ebb44
a00ad804
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
261 additions
and
85 deletions
+261
-85
Documentation/eisa.txt
Documentation/eisa.txt
+14
-13
arch/i386/kernel/traps.c
arch/i386/kernel/traps.c
+0
-3
drivers/eisa/Kconfig
drivers/eisa/Kconfig
+15
-1
drivers/eisa/Makefile
drivers/eisa/Makefile
+3
-0
drivers/eisa/eisa-bus.c
drivers/eisa/eisa-bus.c
+107
-65
drivers/eisa/eisa.ids
drivers/eisa/eisa.ids
+118
-1
include/linux/eisa.h
include/linux/eisa.h
+4
-2
No files found.
Documentation/eisa.txt
View file @
43c09963
...
@@ -79,8 +79,9 @@ struct eisa_driver {
...
@@ -79,8 +79,9 @@ struct eisa_driver {
};
};
id_table : an array of NULL terminated EISA id strings,
id_table : an array of NULL terminated EISA id strings,
followed by an empty string. Each string can be
followed by an empty string. Each string can
paired with a driver-dependant value (driver_data).
optionnaly be paired with a driver-dependant value
(driver_data).
driver : a generic driver, such as described in
driver : a generic driver, such as described in
Documentation/driver-model/driver.txt. Only .name,
Documentation/driver-model/driver.txt. Only .name,
...
@@ -88,19 +89,19 @@ driver : a generic driver, such as described in
...
@@ -88,19 +89,19 @@ driver : a generic driver, such as described in
An example is the 3c509 driver :
An example is the 3c509 driver :
st
ruct eisa_device_id el3
_eisa_ids[] = {
st
atic struct eisa_device_id vortex
_eisa_ids[] = {
{ "TCM5092"
},
{ "TCM5920", EISA_3C592_OFFSET
},
{ "TCM5093"
},
{ "TCM5970", EISA_3C597_OFFSET
},
{ "" }
{ "" }
};
};
st
ruct eisa_driver el3
_eisa_driver = {
st
atic struct eisa_driver vortex
_eisa_driver = {
.id_table = el3
_eisa_ids,
.id_table = vortex
_eisa_ids,
.driver = {
.driver = {
.name = "3c509
",
.name = "3c59x
",
.probe = el3
_eisa_probe,
.probe = vortex
_eisa_probe,
.remove = __devexit_p (el3_device_remove)
.remove = vortex_eisa_remove
}
}
};
};
** Device :
** Device :
...
...
arch/i386/kernel/traps.c
View file @
43c09963
...
@@ -833,7 +833,6 @@ static void __init set_task_gate(unsigned int n, unsigned int gdt_entry)
...
@@ -833,7 +833,6 @@ static void __init set_task_gate(unsigned int n, unsigned int gdt_entry)
#ifdef CONFIG_EISA
#ifdef CONFIG_EISA
int
EISA_bus
;
int
EISA_bus
;
static
struct
resource
eisa_id
=
{
"EISA ID"
,
0xc80
,
0xc83
,
IORESOURCE_BUSY
};
#endif
#endif
void
__init
trap_init
(
void
)
void
__init
trap_init
(
void
)
...
@@ -841,8 +840,6 @@ void __init trap_init(void)
...
@@ -841,8 +840,6 @@ void __init trap_init(void)
#ifdef CONFIG_EISA
#ifdef CONFIG_EISA
if
(
isa_readl
(
0x0FFFD9
)
==
'E'
+
(
'I'
<<
8
)
+
(
'S'
<<
16
)
+
(
'A'
<<
24
))
{
if
(
isa_readl
(
0x0FFFD9
)
==
'E'
+
(
'I'
<<
8
)
+
(
'S'
<<
16
)
+
(
'A'
<<
24
))
{
EISA_bus
=
1
;
EISA_bus
=
1
;
if
(
request_resource
(
&
ioport_resource
,
&
eisa_id
)
==
-
EBUSY
)
printk
(
"EISA port was EBUSY :-(
\n
"
);
}
}
#endif
#endif
...
...
drivers/eisa/Kconfig
View file @
43c09963
#
#
# EISA configuration
# EISA configuration
#
#
config EISA_VLB_PRIMING
bool "Vesa Local Bus priming"
depends on X86_PC && EISA
default n
---help---
Activate this option if your system contains a Vesa Local
Bus (VLB) card that identify itself as an EISA card (such as
the Adaptec AHA-284x).
When in doubt, say N.
config EISA_PCI_EISA
config EISA_PCI_EISA
bool "Generic PCI/EISA bridge"
bool "Generic PCI/EISA bridge"
depends on PCI && EISA
depends on PCI && EISA
...
@@ -12,9 +23,12 @@ config EISA_PCI_EISA
...
@@ -12,9 +23,12 @@ config EISA_PCI_EISA
When in doubt, say Y.
When in doubt, say Y.
# Using EISA_VIRTUAL_ROOT on something other than an Alpha or
# an X86_PC may lead to crashes...
config EISA_VIRTUAL_ROOT
config EISA_VIRTUAL_ROOT
bool "EISA virtual root device"
bool "EISA virtual root device"
depends on EISA
depends on EISA
&& (ALPHA || X86_PC)
default y
default y
---help---
---help---
Activate this option if your system only have EISA bus
Activate this option if your system only have EISA bus
...
...
drivers/eisa/Makefile
View file @
43c09963
# Makefile for the Linux device tree
# Makefile for the Linux device tree
# Being anal sometimes saves a crash/reboot cycle... ;-)
EXTRA_CFLAGS
:=
-Werror
obj-$(CONFIG_EISA)
+=
eisa-bus.o
obj-$(CONFIG_EISA)
+=
eisa-bus.o
obj-${CONFIG_EISA_PCI_EISA}
+=
pci_eisa.o
obj-${CONFIG_EISA_PCI_EISA}
+=
pci_eisa.o
...
...
drivers/eisa/eisa-bus.c
View file @
43c09963
...
@@ -56,13 +56,22 @@ static char __init *decode_eisa_sig(unsigned long addr)
...
@@ -56,13 +56,22 @@ static char __init *decode_eisa_sig(unsigned long addr)
u16
rev
;
u16
rev
;
int
i
;
int
i
;
sig
[
0
]
=
inb
(
addr
);
for
(
i
=
0
;
i
<
4
;
i
++
)
{
#ifdef CONFIG_EISA_VLB_PRIMING
if
(
sig
[
0
]
&
0x80
)
/*
return
NULL
;
* This ugly stuff is used to wake up VL-bus cards
* (AHA-284x is the only known example), so we can
for
(
i
=
1
;
i
<
4
;
i
++
)
* read the EISA id.
*
* Thankfully, this only exists on x86...
*/
outb
(
0x80
+
i
,
addr
);
#endif
sig
[
i
]
=
inb
(
addr
+
i
);
sig
[
i
]
=
inb
(
addr
+
i
);
if
(
!
i
&&
(
sig
[
0
]
&
0x80
))
return
NULL
;
}
sig_str
[
0
]
=
((
sig
[
0
]
>>
2
)
&
0x1f
)
+
(
'A'
-
1
);
sig_str
[
0
]
=
((
sig
[
0
]
>>
2
)
&
0x1f
)
+
(
'A'
-
1
);
sig_str
[
1
]
=
(((
sig
[
0
]
&
3
)
<<
3
)
|
(
sig
[
1
]
>>
5
))
+
(
'A'
-
1
);
sig_str
[
1
]
=
(((
sig
[
0
]
&
3
)
<<
3
)
|
(
sig
[
1
]
>>
5
))
+
(
'A'
-
1
);
...
@@ -123,47 +132,28 @@ static ssize_t eisa_show_sig (struct device *dev, char *buf)
...
@@ -123,47 +132,28 @@ static ssize_t eisa_show_sig (struct device *dev, char *buf)
static
DEVICE_ATTR
(
signature
,
S_IRUGO
,
eisa_show_sig
,
NULL
);
static
DEVICE_ATTR
(
signature
,
S_IRUGO
,
eisa_show_sig
,
NULL
);
static
void
__init
eisa_register_device
(
struct
eisa_root_device
*
root
,
static
int
__init
eisa_register_device
(
struct
eisa_root_device
*
root
,
char
*
sig
,
int
slot
)
struct
eisa_device
*
edev
,
char
*
sig
,
int
slot
)
{
{
struct
eisa_device
*
edev
;
memcpy
(
edev
->
id
.
sig
,
sig
,
EISA_SIG_LEN
);
if
(
!
(
edev
=
kmalloc
(
sizeof
(
*
edev
),
GFP_KERNEL
)))
return
;
memset
(
edev
,
0
,
sizeof
(
*
edev
));
memcpy
(
edev
->
id
.
sig
,
sig
,
7
);
edev
->
slot
=
slot
;
edev
->
slot
=
slot
;
edev
->
base_addr
=
SLOT_ADDRESS
(
root
,
slot
);
edev
->
base_addr
=
SLOT_ADDRESS
(
root
,
slot
);
edev
->
dma_mask
=
0xffffffff
;
/* Default DMA mask */
eisa_name_device
(
edev
);
eisa_name_device
(
edev
);
edev
->
dev
.
parent
=
root
->
dev
;
edev
->
dev
.
parent
=
root
->
dev
;
edev
->
dev
.
bus
=
&
eisa_bus_type
;
edev
->
dev
.
bus
=
&
eisa_bus_type
;
edev
->
dev
.
dma_mask
=
&
edev
->
dma_mask
;
sprintf
(
edev
->
dev
.
bus_id
,
"%02X:%02X"
,
root
->
bus_nr
,
slot
);
sprintf
(
edev
->
dev
.
bus_id
,
"%02X:%02X"
,
root
->
bus_nr
,
slot
);
/* Don't register resource for slot 0, since this will surely
edev
->
res
.
name
=
edev
->
dev
.
name
;
* fail... :-( */
if
(
slot
)
{
edev
->
res
.
name
=
edev
->
dev
.
name
;
edev
->
res
.
start
=
edev
->
base_addr
;
edev
->
res
.
end
=
edev
->
res
.
start
+
0xfff
;
edev
->
res
.
flags
=
IORESOURCE_IO
;
if
(
request_resource
(
root
->
res
,
&
edev
->
res
))
{
if
(
device_register
(
&
edev
->
dev
))
printk
(
KERN_WARNING
\
return
-
1
;
"Cannot allocate resource for EISA slot %d
\n
"
,
slot
);
kfree
(
edev
);
return
;
}
}
if
(
device_register
(
&
edev
->
dev
))
{
kfree
(
edev
);
return
;
}
device_create_file
(
&
edev
->
dev
,
&
dev_attr_signature
);
device_create_file
(
&
edev
->
dev
,
&
dev_attr_signature
);
return
0
;
}
}
static
int
__init
eisa_probe
(
struct
eisa_root_device
*
root
)
static
int
__init
eisa_probe
(
struct
eisa_root_device
*
root
)
...
@@ -171,54 +161,106 @@ static int __init eisa_probe (struct eisa_root_device *root)
...
@@ -171,54 +161,106 @@ static int __init eisa_probe (struct eisa_root_device *root)
int
i
,
c
;
int
i
,
c
;
char
*
str
;
char
*
str
;
unsigned
long
sig_addr
;
unsigned
long
sig_addr
;
struct
eisa_device
*
edev
;
printk
(
KERN_INFO
"EISA: Probing bus %d at %s
\n
"
,
printk
(
KERN_INFO
"EISA: Probing bus %d at %s
\n
"
,
root
->
bus_nr
,
root
->
dev
->
name
);
root
->
bus_nr
,
root
->
dev
->
name
);
for
(
c
=
0
,
i
=
0
;
i
<=
root
->
slots
;
i
++
)
{
for
(
c
=
0
,
i
=
0
;
i
<=
root
->
slots
;
i
++
)
{
sig_addr
=
SLOT_ADDRESS
(
root
,
i
)
+
EISA_VENDOR_ID_OFFSET
;
if
(
!
(
edev
=
kmalloc
(
sizeof
(
*
edev
),
GFP_KERNEL
)))
{
if
((
str
=
decode_eisa_sig
(
sig_addr
)))
{
printk
(
KERN_ERR
"EISA: Out of memory for slot %d
\n
"
,
if
(
!
i
)
i
);
printk
(
KERN_INFO
"EISA: Motherboard %s detected
\n
"
,
continue
;
str
);
}
else
{
printk
(
KERN_INFO
"EISA: slot %d : %s detected.
\n
"
,
memset
(
edev
,
0
,
sizeof
(
*
edev
));
i
,
str
);
/* Don't register resource for slot 0, since this is
c
++
;
* very likely to fail... :-( Instead, grab the EISA
}
* id, now we can display something in /proc/ioports.
*/
eisa_register_device
(
root
,
str
,
i
);
}
if
(
i
)
{
edev
->
res
.
name
=
NULL
;
edev
->
res
.
start
=
SLOT_ADDRESS
(
root
,
i
);
edev
->
res
.
end
=
edev
->
res
.
start
+
0xfff
;
edev
->
res
.
flags
=
IORESOURCE_IO
;
}
else
{
edev
->
res
.
name
=
NULL
;
edev
->
res
.
start
=
SLOT_ADDRESS
(
root
,
i
)
+
EISA_VENDOR_ID_OFFSET
;
edev
->
res
.
end
=
edev
->
res
.
start
+
3
;
edev
->
res
.
flags
=
IORESOURCE_BUSY
;
}
if
(
request_resource
(
root
->
res
,
&
edev
->
res
))
{
printk
(
KERN_WARNING
\
"Cannot allocate resource for EISA slot %d
\n
"
,
i
);
kfree
(
edev
);
continue
;
}
sig_addr
=
SLOT_ADDRESS
(
root
,
i
)
+
EISA_VENDOR_ID_OFFSET
;
if
(
!
(
str
=
decode_eisa_sig
(
sig_addr
)))
{
release_resource
(
&
edev
->
res
);
kfree
(
edev
);
continue
;
}
if
(
!
i
)
printk
(
KERN_INFO
"EISA: Motherboard %s detected
\n
"
,
str
);
else
{
printk
(
KERN_INFO
"EISA: slot %d : %s detected.
\n
"
,
i
,
str
);
c
++
;
}
if
(
eisa_register_device
(
root
,
edev
,
str
,
i
))
{
printk
(
KERN_ERR
"EISA: Failed to register %s
\n
"
,
str
);
release_resource
(
&
edev
->
res
);
kfree
(
edev
);
}
}
}
printk
(
KERN_INFO
"EISA: Detected %d card%s.
\n
"
,
c
,
c
==
1
?
""
:
"s"
);
printk
(
KERN_INFO
"EISA: Detected %d card%s.
\n
"
,
c
,
c
==
1
?
""
:
"s"
);
return
0
;
return
0
;
}
}
static
struct
resource
eisa_root_res
=
{
static
LIST_HEAD
(
eisa_root_head
);
.
name
=
"EISA root resource"
,
.
start
=
0
,
.
end
=
0xffffffff
,
.
flags
=
IORESOURCE_IO
,
};
static
int
eisa_bus_count
;
static
int
eisa_bus_count
;
int
eisa_root_register
(
struct
eisa_root_device
*
root
)
int
__init
eisa_root_register
(
struct
eisa_root_device
*
root
)
{
{
struct
list_head
*
node
;
int
err
;
struct
eisa_root_device
*
tmp_root
;
/* Check if this bus base address has been already
/* Use our own resources to check if this bus base address has
* registered. This prevents the virtual root device from
* been already registered. This prevents the virtual root
* registering after the real one has, for example... */
* device from registering after the real one has, for
* example... */
list_for_each
(
node
,
&
eisa_root_head
)
{
root
->
eisa_root_res
.
name
=
eisa_root_res
.
name
;
tmp_root
=
list_entry
(
node
,
struct
eisa_root_device
,
node
);
root
->
eisa_root_res
.
start
=
root
->
res
->
start
;
if
(
tmp_root
->
bus_base_addr
==
root
->
bus_base_addr
)
root
->
eisa_root_res
.
end
=
root
->
res
->
end
;
return
-
1
;
/* Space already taken, buddy... */
root
->
eisa_root_res
.
flags
=
IORESOURCE_BUSY
;
}
if
((
err
=
request_resource
(
&
eisa_root_res
,
&
root
->
eisa_root_res
)))
return
err
;
root
->
bus_nr
=
eisa_bus_count
++
;
root
->
bus_nr
=
eisa_bus_count
++
;
list_add_tail
(
&
root
->
node
,
&
eisa_root_head
);
return
eisa_probe
(
root
);
if
((
err
=
eisa_probe
(
root
)))
release_resource
(
&
root
->
eisa_root_res
);
return
err
;
}
}
static
int
__init
eisa_init
(
void
)
static
int
__init
eisa_init
(
void
)
...
...
drivers/eisa/eisa.ids
View file @
43c09963
...
@@ -162,6 +162,17 @@ CPQ0401 "Compaq DESKPRO 486/33L or 386/33L System Board"
...
@@ -162,6 +162,17 @@ CPQ0401 "Compaq DESKPRO 486/33L or 386/33L System Board"
CPQ0501 "Compaq DESKPRO/M System Board"
CPQ0501 "Compaq DESKPRO/M System Board"
CPQ0509 "Compaq DESKPRO/M System Board with Audio"
CPQ0509 "Compaq DESKPRO/M System Board with Audio"
CPQ0511 "Compaq SYSTEMPRO/LT System Board"
CPQ0511 "Compaq SYSTEMPRO/LT System Board"
CPQ0521 "Compaq DESKPRO XL System Board"
CPQ0531 "Compaq ProSignia 500 System Board"
CPQ0541 "Compaq ProSignia 300 System Board"
CPQ0551 "Compaq ProLiant 2500 Server"
CPQ0552 "Compaq ProLiant 2500 System Board"
CPQ0553 "Compaq ProLiant 1600 System Board"
CPQ0559 "Compaq ProLiant 1500 System Board"
CPQ0561 "Compaq ProLiant 3000 System Board"
CPQ0571 "Compaq ProSignia 200 Server"
CPQ0579 "Compaq ProLiant 800 Server"
CPQ0589 "Compaq ProLiant 850R"
CPQ0601 "Compaq ProSignia Server"
CPQ0601 "Compaq ProSignia Server"
CPQ0609 "Compaq ProSignia Server"
CPQ0609 "Compaq ProSignia Server"
CPQ0611 "Compaq ProSignia Server"
CPQ0611 "Compaq ProSignia Server"
...
@@ -169,6 +180,30 @@ CPQ0621 "Compaq ProSignia Server (ASSY # 3154)"
...
@@ -169,6 +180,30 @@ CPQ0621 "Compaq ProSignia Server (ASSY # 3154)"
CPQ0629 "Compaq ProSignia Server (ASSY # 3154)"
CPQ0629 "Compaq ProSignia Server (ASSY # 3154)"
CPQ0631 "Compaq ProLiant 1000 Server"
CPQ0631 "Compaq ProLiant 1000 Server"
CPQ0639 "Compaq ProLiant 1000 Server"
CPQ0639 "Compaq ProLiant 1000 Server"
CPQ0671 "Compaq ProSignia 200"
CPQ0679 "Compaq ProLiant 1850R"
CPQ0680 "Compaq ProLiant CL1850 System Board"
CPQ0681 "ProLiant CL380"
CPQ0685 "Compaq ProLiant DL360"
CPQ0686 "Compaq ProSignia 780"
CPQ0687 "Compaq ProSignia 740"
CPQ0688 "Compaq ProLiant 800 System Board"
CPQ0689 "Compaq ProLiant 1600 System Board"
CPQ0690 "Compaq ProLiant ML370"
CPQ0691 "Compaq ProLiant 800"
CPQ0692 "Compaq ProLiant DL380"
CPQ0701 "Compaq ProSignia VS"
CPQ0709 "Compaq ProLiant 3000 System Board"
CPQ0711 "Compaq ProSignia VS"
CPQ0712 "Compaq ProLiant ML530"
CPQ0714 "Compaq ProLiant ML570"
CPQ0715 "Compaq ProLiant DL580"
CPQ0718 "Compaq TaskSmart N2400"
CPQ071D "Compaq TaskSmart C2500"
CPQ0808 "Compaq ProLiant 5500"
CPQ0809 "Compaq ProLiant 6500 System Board"
CPQ0810 "Compaq ProLiant 6400R System Board"
CPQ0811 "Compaq ProLiant 1500 System Board"
CPQ1001 "Compaq Portable 486"
CPQ1001 "Compaq Portable 486"
CPQ1009 "Compaq Portable 486/66"
CPQ1009 "Compaq Portable 486/66"
CPQ1201 "Compaq DESKPRO 486/25"
CPQ1201 "Compaq DESKPRO 486/25"
...
@@ -178,6 +213,16 @@ CPQ1409 "Compaq Portable 486c/66"
...
@@ -178,6 +213,16 @@ CPQ1409 "Compaq Portable 486c/66"
CPQ1501 "Compaq SYSTEMPRO/XL Server"
CPQ1501 "Compaq SYSTEMPRO/XL Server"
CPQ1509 "Compaq ProLiant 4000 Server"
CPQ1509 "Compaq ProLiant 4000 Server"
CPQ1519 "Compaq ProLiant 2000 Server"
CPQ1519 "Compaq ProLiant 2000 Server"
CPQ1529 "Compaq ProLiant 4500 Server"
CPQ1561 "Compaq ProLiant 5000 System Board"
CPQ1563 "Compaq ProLiant 6000 System Board"
CPQ1565 "Compaq ProLiant 6500 System Board"
CPQ1601 "Compaq ProLiant 7000"
CPQ1602 "Compaq ProLiant 6000"
CPQ1603 "Compaq Standard Peripherals Board"
CPQ1608 "Compaq ProLiant 8500"
CPQ1609 "Compaq ProLiant 8000"
CPQ1669 "Compaq ProLiant 7000 System Board"
CPQ3001 "Compaq Advanced VGA"
CPQ3001 "Compaq Advanced VGA"
CPQ3011 "Compaq QVision 1024/E Video Controller"
CPQ3011 "Compaq QVision 1024/E Video Controller"
CPQ3021 "Compaq QVision 1024/I Video Controller"
CPQ3021 "Compaq QVision 1024/I Video Controller"
...
@@ -189,27 +234,43 @@ CPQ4001 "Compaq 32-Bit Intelligent Drive Array Controller"
...
@@ -189,27 +234,43 @@ CPQ4001 "Compaq 32-Bit Intelligent Drive Array Controller"
CPQ4002 "Compaq Intelligent Drive Array Controller-2"
CPQ4002 "Compaq Intelligent Drive Array Controller-2"
CPQ4010 "Compaq 32-Bit Intelligent Drive Array Expansion Controller"
CPQ4010 "Compaq 32-Bit Intelligent Drive Array Expansion Controller"
CPQ4020 "Compaq SMART Array Controller"
CPQ4020 "Compaq SMART Array Controller"
CPQ4030 "Compaq SMART-2/E Array Controller"
CPQ4300 "Compaq Advanced ESDI Fixed Disk Controller"
CPQ4300 "Compaq Advanced ESDI Fixed Disk Controller"
CPQ4401 "Compaq Integrated SCSI-2 Options Port"
CPQ4401 "Compaq Integrated SCSI-2 Options Port"
CPQ4410 "Compaq Integrated 32-Bit Fast-SCSI-2 Controller"
CPQ4410 "Compaq Integrated 32-Bit Fast-SCSI-2 Controller"
CPQ4411 "Compaq 32-Bit Fast-SCSI-2 Controller"
CPQ4411 "Compaq 32-Bit Fast-SCSI-2 Controller"
CPQ4420 "Compaq 6260 SCSI-2 Controller"
CPQ4420 "Compaq 6260 SCSI-2 Controller"
CPQ4430 "Compaq 32-Bit Fast-Wide SCSI-2/E Controller"
CPQ4431 "Compaq 32-Bit Fast-Wide SCSI-2/E Controller"
CPQ5000 "Compaq 386/33 System Processor Board used as Secondary"
CPQ5000 "Compaq 386/33 System Processor Board used as Secondary"
CPQ5251 "Compaq 5/133 System Processor Board-2MB"
CPQ5253 "Compaq 5/166 System Processor Board-2MB"
CPQ5255 "Compaq 5/133 System Processor Board-1MB"
CPQ525D "Compaq 5/100 System Processor Board-1MB"
CPQ5281 "Compaq 486/50 System Processor Board used as Secondary"
CPQ5281 "Compaq 486/50 System Processor Board used as Secondary"
CPQ5282 "Compaq 486/50 System Processor Board used as Secondary"
CPQ5282 "Compaq 486/50 System Processor Board used as Secondary"
CPQ5287 "Compaq 5/66 System Processor Board used as Secondary"
CPQ5287 "Compaq 5/66 System Processor Board used as Secondary"
CPQ528A "Compaq 5/100 System Processor Board w/ Transaction Blaster"
CPQ528B "Compaq 5/100 System Processor Board"
CPQ528F "Compaq 486DX2/66 System Processor Board used as Secondary"
CPQ528F "Compaq 486DX2/66 System Processor Board used as Secondary"
CPQ529B "Compaq 5/90 System Processor Board"
CPQ529F "Compaq 5/133 System Processor Board"
CPQ52A0 "Compaq System Processor"
CPQ5900 "Compaq 486/33 System Processor Board used as Secondary"
CPQ5900 "Compaq 486/33 System Processor Board used as Secondary"
CPQ5A00 "Compaq 486/33 System Processor Board (ASSY # 002013) used as Secondary"
CPQ5A00 "Compaq 486/33 System Processor Board (ASSY # 002013) used as Secondary"
CPQ5B00 "Compaq 486DX2/66 System Processor Board used as Secondary"
CPQ5B00 "Compaq 486DX2/66 System Processor Board used as Secondary"
CPQ5C00 "Compaq 486/33 System Processor Board used as Secondary"
CPQ5C00 "Compaq 486/33 System Processor Board used as Secondary"
CPQ6000 "Compaq 32-Bit DualSpeed Token Ring Controller"
CPQ6000 "Compaq 32-Bit DualSpeed Token Ring Controller"
CPQ6001 "Compaq 32-Bit DualSpeed Token Ring Controller"
CPQ6001 "Compaq 32-Bit DualSpeed Token Ring Controller"
CPQ6100 "Compaq 32-Bit NetFlex Controller"
CPQ6002 "Compaq NetFlex-2 TR"
CPQ6100 "Compaq NetFlex ENET-TR"
CPQ6101 "Compaq NetFlex-2 Controller"
CPQ6101 "Compaq NetFlex-2 Controller"
CPQ6200 "Compaq DualPort Ethernet Controller"
CPQ6200 "Compaq DualPort Ethernet Controller"
CPQ6300 "Compaq NetFlex-2 DualPort TR"
CPQ7000 "Compaq 32-Bit Server Manager/R Board"
CPQ7000 "Compaq 32-Bit Server Manager/R Board"
CPQ7001 "Compaq 32-Bit Server Manager/R Board"
CPQ7001 "Compaq 32-Bit Server Manager/R Board"
CPQ7100 "Compaq Remote Insight Board"
CPQ7200 "Compaq StorageWorks Fibre Channel Host Bus Adapter/E"
CPQ9004 "Compaq 386/33 Processor Board"
CPQ9004 "Compaq 386/33 Processor Board"
CPQ9005 "Compaq 386/25 Processor Board"
CPQ9005 "Compaq 386/25 Processor Board"
CPQ9013 "Compaq 486DX2/66 System Processor Board used as Primary"
CPQ9013 "Compaq 486DX2/66 System Processor Board used as Primary"
...
@@ -232,16 +293,60 @@ CPQ9044 "Compaq 5/60 Processor Board"
...
@@ -232,16 +293,60 @@ CPQ9044 "Compaq 5/60 Processor Board"
CPQ9045 "Compaq 5/60 Processor Board"
CPQ9045 "Compaq 5/60 Processor Board"
CPQ9046 "Compaq 5/60 Processor Board"
CPQ9046 "Compaq 5/60 Processor Board"
CPQ9047 "Compaq 5/60 Processor Board"
CPQ9047 "Compaq 5/60 Processor Board"
CPQ9251 "Compaq 5/133 System Processor Board-2MB"
CPQ9253 "Compaq 5/166 System Processor Board-2MB"
CPQ9255 "Compaq 5/133 System Processor Board-1MB"
CPQ925D "Compaq 5/100 System Processor Board-1MB"
CPQ925F "ProLiant 2500 Dual Pentium Pro Processor Board"
CPQ9267 "Compaq Pentium II Processor Board"
CPQ9278 "Compaq Processor Board"
CPQ9279 "Compaq Processor Board"
CPQ9280 "Compaq Processor Board"
CPQ9281 "Compaq 486/50 System Processor Board used as Primary"
CPQ9281 "Compaq 486/50 System Processor Board used as Primary"
CPQ9282 "Compaq 486/50 System Processor Board used as Primary"
CPQ9282 "Compaq 486/50 System Processor Board used as Primary"
CPQ9283 "Processor Modules"
CPQ9285 "Processor Modules"
CPQ9286 "Compaq Slot-1 Terminator Board"
CPQ9287 "Compaq 5/66 System Processor Board used as Primary"
CPQ9287 "Compaq 5/66 System Processor Board used as Primary"
CPQ928A "Compaq 5/100 System Processor Board w/ Transaction Blaster"
CPQ928B "Compaq 5/100 System Processor Board"
CPQ928F "Compaq 486DX2/66 System Processor Board used as Primary"
CPQ928F "Compaq 486DX2/66 System Processor Board used as Primary"
CPQ929B "Compaq 5/90 System Processor Board"
CPQ929F "Compaq 5/133 System Processor Board"
CPQ92A0 "Compaq ProLiant 1500 Processor Board"
CPQ92A4 "Compaq System Processor Board"
CPQ92B0 "Compaq Processor Board"
CPQ92B1 "Compaq FRC Processor Board"
CPQ92B2 "Compaq Terminator Board"
CPQ92B3 "6/200 FlexSMP Dual Processor Board"
CPQ92B4 "Compaq Processor Board"
CPQ92B5 "Compaq Terminator Board"
CPQ92B6 "Compaq Processor Board"
CPQ92B7 "Compaq Processor(s)"
CPQ92B8 "Compaq Terminator Board"
CPQ92B9 "Compaq Terminator Board"
CPQ9351 "Compaq 5/133 System Processor Board-2MB"
CPQ9353 "Compaq 5/166 System Processor Board-2MB"
CPQ9355 "Compaq 5/133 System Processor Board-1MB"
CPQ935D "Compaq 5/100 System Processor Board-1MB"
CPQ9381 "Compaq 486/50 System Processor Board"
CPQ9381 "Compaq 486/50 System Processor Board"
CPQ9382 "Compaq 486/50 System Processor Board"
CPQ9382 "Compaq 486/50 System Processor Board"
CPQ9387 "Compaq 5/66 System Processor Board"
CPQ9387 "Compaq 5/66 System Processor Board"
CPQ938A "Compaq 5/100 System Processor Board w/ Transaction Blaster"
CPQ938B "Compaq 5/100 System Processor Board"
CPQ939B "Compaq 5/90 System Processor Board"
CPQ939F "Compaq 5/133 System Processor Board"
CPQ9451 "Compaq 5/133 System Processor Board-2MB"
CPQ9453 "Compaq 5/166 System Processor Board-2MB"
CPQ9455 "Compaq 5/133 System Processor Board-1MB"
CPQ945D "Compaq 5/100 System Processor Board-1MB"
CPQ9481 "Compaq 486/50 System Processor Board"
CPQ9481 "Compaq 486/50 System Processor Board"
CPQ9482 "Compaq 486/50 System Processor Board"
CPQ9482 "Compaq 486/50 System Processor Board"
CPQ9487 "Compaq 5/66 System Processor Board"
CPQ9487 "Compaq 5/66 System Processor Board"
CPQ948A "Compaq 5/100 System Processor Board w/ Transaction Blaster"
CPQ948B "Compaq 5/100 System Processor Board"
CPQ949B "Compaq 5/90 System Processor Board"
CPQ949F "Compaq 5/133 System Processor Board"
CPQ9901 "Compaq 486SX/16 Processor Board"
CPQ9901 "Compaq 486SX/16 Processor Board"
CPQ9902 "Compaq 486SX/16 Processor Board"
CPQ9902 "Compaq 486SX/16 Processor Board"
CPQ9903 "Compaq 486SX/25 Processor Board"
CPQ9903 "Compaq 486SX/25 Processor Board"
...
@@ -261,12 +366,21 @@ CPQ9990 "Compaq 386/33 System Processor Board used as Primary"
...
@@ -261,12 +366,21 @@ CPQ9990 "Compaq 386/33 System Processor Board used as Primary"
CPQ9991 "Compaq 386/33 Desktop Processor Board"
CPQ9991 "Compaq 386/33 Desktop Processor Board"
CPQ9999 "Compaq 486/33 System Processor Board used as Primary"
CPQ9999 "Compaq 486/33 System Processor Board used as Primary"
CPQ999A "Compaq 486/33 Desktop Processor Board"
CPQ999A "Compaq 486/33 Desktop Processor Board"
CPQ9A83 "Compaq DESKPRO XL Processor Board"
CPQ9AA1 "Compaq ProSignia 500 Processor Board"
CPQ9AA2 "Compaq ProSignia 300 Processor Board"
CPQA000 "Compaq Enhanced Option Slot Serial Board"
CPQA000 "Compaq Enhanced Option Slot Serial Board"
CPQA010 "Compaq Enhanced Option Slot Modem Board"
CPQA010 "Compaq Enhanced Option Slot Modem Board"
CPQA015 "Compaq Integrated Remote Console (IRC)"
CPQA020 "Compaq Integrated CD Rom Adapter"
CPQA020 "Compaq Integrated CD Rom Adapter"
CPQA030 "Compaq Integrated CD Rom Adapter"
CPQA030 "Compaq Integrated CD Rom Adapter"
CPQA040 "Compaq Automatic Server Recovery (ASR)"
CPQA045 "Compaq Integrated Management Display Information"
CPQF000 "Compaq Fixed Disk Drive Feature"
CPQF000 "Compaq Fixed Disk Drive Feature"
CPQF100 "Compaq Ethernet 16TP Controller"
CPQF100 "Compaq Ethernet 16TP Controller"
CPQF110 "Compaq Token Ring 16TR Controller"
CPQF120 "Compaq NetFlex-3/E Controller"
CPQF140 "Compaq NetFlex-3/E Controller"
CPQFA0D "Compaq SYSTEMPRO 4-Socket System Memory Board"
CPQFA0D "Compaq SYSTEMPRO 4-Socket System Memory Board"
CPQFA0E "Compaq SYSTEMPRO 6-Socket System Memory Board"
CPQFA0E "Compaq SYSTEMPRO 6-Socket System Memory Board"
CPQFA0F "Compaq DESKPRO 486/25 System Memory Board"
CPQFA0F "Compaq DESKPRO 486/25 System Memory Board"
...
@@ -274,8 +388,11 @@ CPQFA1A "Compaq DESKPRO 3-Socket System Memory Board"
...
@@ -274,8 +388,11 @@ CPQFA1A "Compaq DESKPRO 3-Socket System Memory Board"
CPQFA1B "Compaq DESKPRO 486/50 System Memory Board"
CPQFA1B "Compaq DESKPRO 486/50 System Memory Board"
CPQFA1C "Compaq System Memory Expansion Board"
CPQFA1C "Compaq System Memory Expansion Board"
CPQFA1D "Compaq SYSTEMPRO/XL Memory Expansion Board"
CPQFA1D "Compaq SYSTEMPRO/XL Memory Expansion Board"
CPQFA1E "Compaq Memory Expansion Board"
CPQFB03 "Compaq Async/Parallel Printer Intf Assy 000990"
CPQFB03 "Compaq Async/Parallel Printer Intf Assy 000990"
CPQFB07 "Compaq DESKPRO 2400 Baud Modem"
CPQFB07 "Compaq DESKPRO 2400 Baud Modem"
CPQFB09 "Compaq SpeedPaq 144/I Modem"
CPQFB11 "Compaq Internal 28.8/33.6 Data+Fax Modem"
CPQFC0B "Compaq Advanced Graphics 1024 Board"
CPQFC0B "Compaq Advanced Graphics 1024 Board"
CPQFD08 "Compaq 135Mb, 150/250Mb Tape Adapter"
CPQFD08 "Compaq 135Mb, 150/250Mb Tape Adapter"
CPQFD13 "Compaq 15MHz ESDI Fixed Disk Controller 001283"
CPQFD13 "Compaq 15MHz ESDI Fixed Disk Controller 001283"
...
...
include/linux/eisa.h
View file @
43c09963
...
@@ -25,13 +25,15 @@ struct eisa_device_id {
...
@@ -25,13 +25,15 @@ struct eisa_device_id {
};
};
/* There is not much we can say about an EISA device, apart from
/* There is not much we can say about an EISA device, apart from
* signature, slot number, and base address. */
* signature, slot number, and base address. dma_mask is set by
* default to 32 bits.*/
struct
eisa_device
{
struct
eisa_device
{
struct
eisa_device_id
id
;
struct
eisa_device_id
id
;
int
slot
;
int
slot
;
unsigned
long
base_addr
;
unsigned
long
base_addr
;
struct
resource
res
;
struct
resource
res
;
u64
dma_mask
;
struct
device
dev
;
/* generic device */
struct
device
dev
;
/* generic device */
};
};
...
@@ -63,12 +65,12 @@ static inline void eisa_set_drvdata (struct eisa_device *edev, void *data)
...
@@ -63,12 +65,12 @@ static inline void eisa_set_drvdata (struct eisa_device *edev, void *data)
* busses (PA-RISC ?), so we try to handle that. */
* busses (PA-RISC ?), so we try to handle that. */
struct
eisa_root_device
{
struct
eisa_root_device
{
struct
list_head
node
;
struct
device
*
dev
;
/* Pointer to bridge device */
struct
device
*
dev
;
/* Pointer to bridge device */
struct
resource
*
res
;
struct
resource
*
res
;
unsigned
long
bus_base_addr
;
unsigned
long
bus_base_addr
;
int
slots
;
/* Max slot number */
int
slots
;
/* Max slot number */
int
bus_nr
;
/* Set by eisa_root_register */
int
bus_nr
;
/* Set by eisa_root_register */
struct
resource
eisa_root_res
;
/* ditto */
};
};
int
eisa_root_register
(
struct
eisa_root_device
*
root
);
int
eisa_root_register
(
struct
eisa_root_device
*
root
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment