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
bf0cbb3e
Commit
bf0cbb3e
authored
Sep 26, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6
parents
0b155694
4fb7edce
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
167 additions
and
48 deletions
+167
-48
drivers/ide/legacy/ide-cs.c
drivers/ide/legacy/ide-cs.c
+1
-1
drivers/pcmcia/Kconfig
drivers/pcmcia/Kconfig
+1
-1
drivers/pcmcia/cardbus.c
drivers/pcmcia/cardbus.c
+5
-0
drivers/pcmcia/ti113x.h
drivers/pcmcia/ti113x.h
+105
-10
drivers/pcmcia/yenta_socket.c
drivers/pcmcia/yenta_socket.c
+29
-33
drivers/serial/serial_cs.c
drivers/serial/serial_cs.c
+1
-0
include/linux/mod_devicetable.h
include/linux/mod_devicetable.h
+3
-2
include/linux/pci_ids.h
include/linux/pci_ids.h
+12
-0
include/pcmcia/ss.h
include/pcmcia/ss.h
+8
-1
scripts/mod/file2alias.c
scripts/mod/file2alias.c
+2
-0
No files found.
drivers/ide/legacy/ide-cs.c
View file @
bf0cbb3e
...
@@ -477,7 +477,7 @@ static struct pcmcia_device_id ide_ids[] = {
...
@@ -477,7 +477,7 @@ static struct pcmcia_device_id ide_ids[] = {
PCMCIA_DEVICE_PROD_ID12
(
"IO DATA"
,
"PCIDE"
,
0x547e66dc
,
0x5c5ab149
),
PCMCIA_DEVICE_PROD_ID12
(
"IO DATA"
,
"PCIDE"
,
0x547e66dc
,
0x5c5ab149
),
PCMCIA_DEVICE_PROD_ID12
(
"IO DATA"
,
"PCIDEII"
,
0x547e66dc
,
0xb3662674
),
PCMCIA_DEVICE_PROD_ID12
(
"IO DATA"
,
"PCIDEII"
,
0x547e66dc
,
0xb3662674
),
PCMCIA_DEVICE_PROD_ID12
(
"LOOKMEET"
,
"CBIDE2 "
,
0xe37be2b5
,
0x8671043b
),
PCMCIA_DEVICE_PROD_ID12
(
"LOOKMEET"
,
"CBIDE2 "
,
0xe37be2b5
,
0x8671043b
),
PCMCIA_DEVICE_PROD_ID
12
(
" "
,
"NinjaATA-"
,
0x3b6e20c8
,
0xebe0bd79
),
PCMCIA_DEVICE_PROD_ID
2
(
"NinjaATA-"
,
0xebe0bd79
),
PCMCIA_DEVICE_PROD_ID12
(
"PCMCIA"
,
"CD-ROM"
,
0x281f1c5d
,
0x66536591
),
PCMCIA_DEVICE_PROD_ID12
(
"PCMCIA"
,
"CD-ROM"
,
0x281f1c5d
,
0x66536591
),
PCMCIA_DEVICE_PROD_ID12
(
"PCMCIA"
,
"PnPIDE"
,
0x281f1c5d
,
0x0c694728
),
PCMCIA_DEVICE_PROD_ID12
(
"PCMCIA"
,
"PnPIDE"
,
0x281f1c5d
,
0x0c694728
),
PCMCIA_DEVICE_PROD_ID12
(
"SHUTTLE TECHNOLOGY LTD."
,
"PCCARD-IDE/ATAPI Adapter"
,
0x4a3f0ba0
,
0x322560e1
),
PCMCIA_DEVICE_PROD_ID12
(
"SHUTTLE TECHNOLOGY LTD."
,
"PCCARD-IDE/ATAPI Adapter"
,
0x4a3f0ba0
,
0x322560e1
),
...
...
drivers/pcmcia/Kconfig
View file @
bf0cbb3e
...
@@ -146,7 +146,7 @@ config I82365
...
@@ -146,7 +146,7 @@ config I82365
config TCIC
config TCIC
tristate "Databook TCIC host bridge support"
tristate "Databook TCIC host bridge support"
depends on PCMCIA
depends on PCMCIA
&& ISA
select PCCARD_NONSTATIC
select PCCARD_NONSTATIC
help
help
Say Y here to include support for the Databook TCIC family of PCMCIA
Say Y here to include support for the Databook TCIC family of PCMCIA
...
...
drivers/pcmcia/cardbus.c
View file @
bf0cbb3e
...
@@ -228,6 +228,11 @@ int cb_alloc(struct pcmcia_socket * s)
...
@@ -228,6 +228,11 @@ int cb_alloc(struct pcmcia_socket * s)
pci_bus_size_bridges
(
bus
);
pci_bus_size_bridges
(
bus
);
pci_bus_assign_resources
(
bus
);
pci_bus_assign_resources
(
bus
);
cardbus_assign_irqs
(
bus
,
s
->
pci_irq
);
cardbus_assign_irqs
(
bus
,
s
->
pci_irq
);
/* socket specific tune function */
if
(
s
->
tune_bridge
)
s
->
tune_bridge
(
s
,
bus
);
pci_enable_bridges
(
bus
);
pci_enable_bridges
(
bus
);
pci_bus_add_devices
(
bus
);
pci_bus_add_devices
(
bus
);
...
...
drivers/pcmcia/ti113x.h
View file @
bf0cbb3e
...
@@ -59,6 +59,7 @@
...
@@ -59,6 +59,7 @@
#define TI122X_SCR_SER_STEP 0xc0000000
#define TI122X_SCR_SER_STEP 0xc0000000
#define TI122X_SCR_INTRTIE 0x20000000
#define TI122X_SCR_INTRTIE 0x20000000
#define TIXX21_SCR_TIEALL 0x10000000
#define TI122X_SCR_CBRSVD 0x00400000
#define TI122X_SCR_CBRSVD 0x00400000
#define TI122X_SCR_MRBURSTDN 0x00008000
#define TI122X_SCR_MRBURSTDN 0x00008000
#define TI122X_SCR_MRBURSTUP 0x00004000
#define TI122X_SCR_MRBURSTUP 0x00004000
...
@@ -153,6 +154,12 @@
...
@@ -153,6 +154,12 @@
/* EnE test register */
/* EnE test register */
#define ENE_TEST_C9 0xc9
/* 8bit */
#define ENE_TEST_C9 0xc9
/* 8bit */
#define ENE_TEST_C9_TLTENABLE 0x02
#define ENE_TEST_C9_TLTENABLE 0x02
#define ENE_TEST_C9_PFENABLE_F0 0x04
#define ENE_TEST_C9_PFENABLE_F1 0x08
#define ENE_TEST_C9_PFENABLE (ENE_TEST_C9_PFENABLE_F0 | ENE_TEST_C9_PFENABLE_F0)
#define ENE_TEST_C9_WPDISALBLE_F0 0x40
#define ENE_TEST_C9_WPDISALBLE_F1 0x80
#define ENE_TEST_C9_WPDISALBLE (ENE_TEST_C9_WPDISALBLE_F0 | ENE_TEST_C9_WPDISALBLE_F1)
/*
/*
* Texas Instruments CardBus controller overrides.
* Texas Instruments CardBus controller overrides.
...
@@ -618,6 +625,7 @@ static int ti12xx_2nd_slot_empty(struct yenta_socket *socket)
...
@@ -618,6 +625,7 @@ static int ti12xx_2nd_slot_empty(struct yenta_socket *socket)
int
devfn
;
int
devfn
;
unsigned
int
state
;
unsigned
int
state
;
int
ret
=
1
;
int
ret
=
1
;
u32
sysctl
;
/* catch the two-slot controllers */
/* catch the two-slot controllers */
switch
(
socket
->
dev
->
device
)
{
switch
(
socket
->
dev
->
device
)
{
...
@@ -640,6 +648,24 @@ static int ti12xx_2nd_slot_empty(struct yenta_socket *socket)
...
@@ -640,6 +648,24 @@ static int ti12xx_2nd_slot_empty(struct yenta_socket *socket)
*/
*/
break
;
break
;
case
PCI_DEVICE_ID_TI_X515
:
case
PCI_DEVICE_ID_TI_X420
:
case
PCI_DEVICE_ID_TI_X620
:
case
PCI_DEVICE_ID_TI_XX21_XX11
:
case
PCI_DEVICE_ID_TI_7410
:
case
PCI_DEVICE_ID_TI_7610
:
/*
* those are either single or dual slot CB with additional functions
* like 1394, smartcard reader, etc. check the TIEALL flag for them
* the TIEALL flag binds the IRQ of all functions toghether.
* we catch the single slot variants later.
*/
sysctl
=
config_readl
(
socket
,
TI113X_SYSTEM_CONTROL
);
if
(
sysctl
&
TIXX21_SCR_TIEALL
)
return
0
;
break
;
/* single-slot controllers have the 2nd slot empty always :) */
/* single-slot controllers have the 2nd slot empty always :) */
default:
default:
return
1
;
return
1
;
...
@@ -652,6 +678,15 @@ static int ti12xx_2nd_slot_empty(struct yenta_socket *socket)
...
@@ -652,6 +678,15 @@ static int ti12xx_2nd_slot_empty(struct yenta_socket *socket)
if
(
!
func
)
if
(
!
func
)
return
1
;
return
1
;
/*
* check that the device id of both slots match. this is needed for the
* XX21 and the XX11 controller that share the same device id for single
* and dual slot controllers. return '2nd slot empty'. we already checked
* if the interrupt is tied to another function.
*/
if
(
socket
->
dev
->
device
!=
func
->
device
)
goto
out
;
slot2
=
pci_get_drvdata
(
func
);
slot2
=
pci_get_drvdata
(
func
);
if
(
!
slot2
)
if
(
!
slot2
)
goto
out
;
goto
out
;
...
@@ -790,16 +825,6 @@ static int ti12xx_override(struct yenta_socket *socket)
...
@@ -790,16 +825,6 @@ static int ti12xx_override(struct yenta_socket *socket)
if
(
val_orig
!=
val
)
if
(
val_orig
!=
val
)
config_writel
(
socket
,
TI113X_SYSTEM_CONTROL
,
val
);
config_writel
(
socket
,
TI113X_SYSTEM_CONTROL
,
val
);
/*
* for EnE bridges only: clear testbit TLTEnable. this makes the
* RME Hammerfall DSP sound card working.
*/
if
(
socket
->
dev
->
vendor
==
PCI_VENDOR_ID_ENE
)
{
u8
test_c9
=
config_readb
(
socket
,
ENE_TEST_C9
);
test_c9
&=
~
ENE_TEST_C9_TLTENABLE
;
config_writeb
(
socket
,
ENE_TEST_C9
,
test_c9
);
}
/*
/*
* Yenta expects controllers to use CSCINT to route
* Yenta expects controllers to use CSCINT to route
* CSC interrupts to PCI rather than INTVAL.
* CSC interrupts to PCI rather than INTVAL.
...
@@ -841,5 +866,75 @@ static int ti1250_override(struct yenta_socket *socket)
...
@@ -841,5 +866,75 @@ static int ti1250_override(struct yenta_socket *socket)
return
ti12xx_override
(
socket
);
return
ti12xx_override
(
socket
);
}
}
/**
* EnE specific part. EnE bridges are register compatible with TI bridges but
* have their own test registers and more important their own little problems.
* Some fixup code to make everybody happy (TM).
*/
/**
* set/clear various test bits:
* Defaults to clear the bit.
* - mask (u8) defines what bits to change
* - bits (u8) is the values to change them to
* -> it's
* current = (current & ~mask) | bits
*/
/* pci ids of devices that wants to have the bit set */
#define DEVID(_vend,_dev,_subvend,_subdev,mask,bits) { \
.vendor = _vend, \
.device = _dev, \
.subvendor = _subvend, \
.subdevice = _subdev, \
.driver_data = ((mask) << 8 | (bits)), \
}
static
struct
pci_device_id
ene_tune_tbl
[]
=
{
/* Echo Audio products based on motorola DSP56301 and DSP56361 */
DEVID
(
PCI_VENDOR_ID_MOTOROLA
,
0x1801
,
0xECC0
,
PCI_ANY_ID
,
ENE_TEST_C9_TLTENABLE
|
ENE_TEST_C9_PFENABLE
,
ENE_TEST_C9_TLTENABLE
),
DEVID
(
PCI_VENDOR_ID_MOTOROLA
,
0x3410
,
0xECC0
,
PCI_ANY_ID
,
ENE_TEST_C9_TLTENABLE
|
ENE_TEST_C9_PFENABLE
,
ENE_TEST_C9_TLTENABLE
),
{}
};
static
void
ene_tune_bridge
(
struct
pcmcia_socket
*
sock
,
struct
pci_bus
*
bus
)
{
struct
yenta_socket
*
socket
=
container_of
(
sock
,
struct
yenta_socket
,
socket
);
struct
pci_dev
*
dev
;
struct
pci_device_id
*
id
=
NULL
;
u8
test_c9
,
old_c9
,
mask
,
bits
;
list_for_each_entry
(
dev
,
&
bus
->
devices
,
bus_list
)
{
id
=
(
struct
pci_device_id
*
)
pci_match_id
(
ene_tune_tbl
,
dev
);
if
(
id
)
break
;
}
test_c9
=
old_c9
=
config_readb
(
socket
,
ENE_TEST_C9
);
if
(
id
)
{
mask
=
(
id
->
driver_data
>>
8
)
&
0xFF
;
bits
=
id
->
driver_data
&
0xFF
;
test_c9
=
(
test_c9
&
~
mask
)
|
bits
;
}
else
/* default to clear TLTEnable bit, old behaviour */
test_c9
&=
~
ENE_TEST_C9_TLTENABLE
;
printk
(
KERN_INFO
"yenta EnE: chaning testregister 0xC9, %02x -> %02x
\n
"
,
old_c9
,
test_c9
);
config_writeb
(
socket
,
ENE_TEST_C9
,
test_c9
);
}
static
int
ene_override
(
struct
yenta_socket
*
socket
)
{
/* install tune_bridge() function */
socket
->
socket
.
tune_bridge
=
ene_tune_bridge
;
return
ti1250_override
(
socket
);
}
#endif
/* _LINUX_TI113X_H */
#endif
/* _LINUX_TI113X_H */
drivers/pcmcia/yenta_socket.c
View file @
bf0cbb3e
...
@@ -559,12 +559,6 @@ static void yenta_interrogate(struct yenta_socket *socket)
...
@@ -559,12 +559,6 @@ static void yenta_interrogate(struct yenta_socket *socket)
static
int
yenta_sock_init
(
struct
pcmcia_socket
*
sock
)
static
int
yenta_sock_init
(
struct
pcmcia_socket
*
sock
)
{
{
struct
yenta_socket
*
socket
=
container_of
(
sock
,
struct
yenta_socket
,
socket
);
struct
yenta_socket
*
socket
=
container_of
(
sock
,
struct
yenta_socket
,
socket
);
u16
bridge
;
bridge
=
config_readw
(
socket
,
CB_BRIDGE_CONTROL
)
&
~
CB_BRIDGE_INTR
;
if
(
!
socket
->
cb_irq
)
bridge
|=
CB_BRIDGE_INTR
;
config_writew
(
socket
,
CB_BRIDGE_CONTROL
,
bridge
);
exca_writeb
(
socket
,
I365_GBLCTL
,
0x00
);
exca_writeb
(
socket
,
I365_GBLCTL
,
0x00
);
exca_writeb
(
socket
,
I365_GENCTL
,
0x00
);
exca_writeb
(
socket
,
I365_GENCTL
,
0x00
);
...
@@ -819,6 +813,7 @@ enum {
...
@@ -819,6 +813,7 @@ enum {
CARDBUS_TYPE_TOPIC95
,
CARDBUS_TYPE_TOPIC95
,
CARDBUS_TYPE_TOPIC97
,
CARDBUS_TYPE_TOPIC97
,
CARDBUS_TYPE_O2MICRO
,
CARDBUS_TYPE_O2MICRO
,
CARDBUS_TYPE_ENE
,
};
};
/*
/*
...
@@ -865,6 +860,12 @@ static struct cardbus_type cardbus_type[] = {
...
@@ -865,6 +860,12 @@ static struct cardbus_type cardbus_type[] = {
.
override
=
o2micro_override
,
.
override
=
o2micro_override
,
.
restore_state
=
o2micro_restore_state
,
.
restore_state
=
o2micro_restore_state
,
},
},
[
CARDBUS_TYPE_ENE
]
=
{
.
override
=
ene_override
,
.
save_state
=
ti_save_state
,
.
restore_state
=
ti_restore_state
,
.
sock_init
=
ti_init
,
},
};
};
...
@@ -883,16 +884,8 @@ static unsigned int yenta_probe_irq(struct yenta_socket *socket, u32 isa_irq_mas
...
@@ -883,16 +884,8 @@ static unsigned int yenta_probe_irq(struct yenta_socket *socket, u32 isa_irq_mas
{
{
int
i
;
int
i
;
unsigned
long
val
;
unsigned
long
val
;
u16
bridge_ctrl
;
u32
mask
;
u32
mask
;
/* Set up ISA irq routing to probe the ISA irqs.. */
bridge_ctrl
=
config_readw
(
socket
,
CB_BRIDGE_CONTROL
);
if
(
!
(
bridge_ctrl
&
CB_BRIDGE_INTR
))
{
bridge_ctrl
|=
CB_BRIDGE_INTR
;
config_writew
(
socket
,
CB_BRIDGE_CONTROL
,
bridge_ctrl
);
}
/*
/*
* Probe for usable interrupts using the force
* Probe for usable interrupts using the force
* register to generate bogus card status events.
* register to generate bogus card status events.
...
@@ -914,9 +907,6 @@ static unsigned int yenta_probe_irq(struct yenta_socket *socket, u32 isa_irq_mas
...
@@ -914,9 +907,6 @@ static unsigned int yenta_probe_irq(struct yenta_socket *socket, u32 isa_irq_mas
mask
=
probe_irq_mask
(
val
)
&
0xffff
;
mask
=
probe_irq_mask
(
val
)
&
0xffff
;
bridge_ctrl
&=
~
CB_BRIDGE_INTR
;
config_writew
(
socket
,
CB_BRIDGE_CONTROL
,
bridge_ctrl
);
return
mask
;
return
mask
;
}
}
...
@@ -944,18 +934,11 @@ static irqreturn_t yenta_probe_handler(int irq, void *dev_id, struct pt_regs *re
...
@@ -944,18 +934,11 @@ static irqreturn_t yenta_probe_handler(int irq, void *dev_id, struct pt_regs *re
/* probes the PCI interrupt, use only on override functions */
/* probes the PCI interrupt, use only on override functions */
static
int
yenta_probe_cb_irq
(
struct
yenta_socket
*
socket
)
static
int
yenta_probe_cb_irq
(
struct
yenta_socket
*
socket
)
{
{
u16
bridge_ctrl
;
if
(
!
socket
->
cb_irq
)
if
(
!
socket
->
cb_irq
)
return
-
1
;
return
-
1
;
socket
->
probe_status
=
0
;
socket
->
probe_status
=
0
;
/* disable ISA interrupts */
bridge_ctrl
=
config_readw
(
socket
,
CB_BRIDGE_CONTROL
);
bridge_ctrl
&=
~
CB_BRIDGE_INTR
;
config_writew
(
socket
,
CB_BRIDGE_CONTROL
,
bridge_ctrl
);
if
(
request_irq
(
socket
->
cb_irq
,
yenta_probe_handler
,
SA_SHIRQ
,
"yenta"
,
socket
))
{
if
(
request_irq
(
socket
->
cb_irq
,
yenta_probe_handler
,
SA_SHIRQ
,
"yenta"
,
socket
))
{
printk
(
KERN_WARNING
"Yenta: request_irq() in yenta_probe_cb_irq() failed!
\n
"
);
printk
(
KERN_WARNING
"Yenta: request_irq() in yenta_probe_cb_irq() failed!
\n
"
);
return
-
1
;
return
-
1
;
...
@@ -966,7 +949,7 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket)
...
@@ -966,7 +949,7 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket)
cb_writel
(
socket
,
CB_SOCKET_EVENT
,
-
1
);
cb_writel
(
socket
,
CB_SOCKET_EVENT
,
-
1
);
cb_writel
(
socket
,
CB_SOCKET_MASK
,
CB_CSTSMASK
);
cb_writel
(
socket
,
CB_SOCKET_MASK
,
CB_CSTSMASK
);
cb_writel
(
socket
,
CB_SOCKET_FORCE
,
CB_FCARDSTS
);
cb_writel
(
socket
,
CB_SOCKET_FORCE
,
CB_FCARDSTS
);
msleep
(
100
);
msleep
(
100
);
/* disable interrupts */
/* disable interrupts */
...
@@ -1004,11 +987,12 @@ static void yenta_config_init(struct yenta_socket *socket)
...
@@ -1004,11 +987,12 @@ static void yenta_config_init(struct yenta_socket *socket)
{
{
u16
bridge
;
u16
bridge
;
struct
pci_dev
*
dev
=
socket
->
dev
;
struct
pci_dev
*
dev
=
socket
->
dev
;
struct
pci_bus_region
region
;
pci
_set_power_state
(
socket
->
dev
,
0
);
pci
bios_resource_to_bus
(
socket
->
dev
,
&
region
,
&
dev
->
resource
[
0
]
);
config_writel
(
socket
,
CB_LEGACY_MODE_BASE
,
0
);
config_writel
(
socket
,
CB_LEGACY_MODE_BASE
,
0
);
config_writel
(
socket
,
PCI_BASE_ADDRESS_0
,
dev
->
resource
[
0
]
.
start
);
config_writel
(
socket
,
PCI_BASE_ADDRESS_0
,
region
.
start
);
config_writew
(
socket
,
PCI_COMMAND
,
config_writew
(
socket
,
PCI_COMMAND
,
PCI_COMMAND_IO
|
PCI_COMMAND_IO
|
PCI_COMMAND_MEMORY
|
PCI_COMMAND_MEMORY
|
...
@@ -1031,8 +1015,8 @@ static void yenta_config_init(struct yenta_socket *socket)
...
@@ -1031,8 +1015,8 @@ static void yenta_config_init(struct yenta_socket *socket)
* - PCI interrupts enabled if a PCI interrupt exists..
* - PCI interrupts enabled if a PCI interrupt exists..
*/
*/
bridge
=
config_readw
(
socket
,
CB_BRIDGE_CONTROL
);
bridge
=
config_readw
(
socket
,
CB_BRIDGE_CONTROL
);
bridge
&=
~
(
CB_BRIDGE_CRST
|
CB_BRIDGE_PREFETCH1
|
CB_BRIDGE_I
NTR
|
CB_BRIDGE_I
SAEN
|
CB_BRIDGE_VGAEN
);
bridge
&=
~
(
CB_BRIDGE_CRST
|
CB_BRIDGE_PREFETCH1
|
CB_BRIDGE_ISAEN
|
CB_BRIDGE_VGAEN
);
bridge
|=
CB_BRIDGE_PREFETCH0
|
CB_BRIDGE_POSTEN
|
CB_BRIDGE_INTR
;
bridge
|=
CB_BRIDGE_PREFETCH0
|
CB_BRIDGE_POSTEN
;
config_writew
(
socket
,
CB_BRIDGE_CONTROL
,
bridge
);
config_writew
(
socket
,
CB_BRIDGE_CONTROL
,
bridge
);
}
}
...
@@ -1265,10 +1249,22 @@ static struct pci_device_id yenta_table [] = {
...
@@ -1265,10 +1249,22 @@ static struct pci_device_id yenta_table [] = {
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_1250
,
TI1250
),
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_1250
,
TI1250
),
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_1410
,
TI1250
),
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_1410
,
TI1250
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_1211
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_XX21_XX11
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_1225
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_X515
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_1410
,
TI1250
),
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_X420
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_1420
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_X620
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_7410
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_7510
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_7610
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_710
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_712
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_720
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_722
,
TI12XX
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_1211
,
ENE
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_1225
,
ENE
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_1410
,
ENE
),
CB_ID
(
PCI_VENDOR_ID_ENE
,
PCI_DEVICE_ID_ENE_1420
,
ENE
),
CB_ID
(
PCI_VENDOR_ID_RICOH
,
PCI_DEVICE_ID_RICOH_RL5C465
,
RICOH
),
CB_ID
(
PCI_VENDOR_ID_RICOH
,
PCI_DEVICE_ID_RICOH_RL5C465
,
RICOH
),
CB_ID
(
PCI_VENDOR_ID_RICOH
,
PCI_DEVICE_ID_RICOH_RL5C466
,
RICOH
),
CB_ID
(
PCI_VENDOR_ID_RICOH
,
PCI_DEVICE_ID_RICOH_RL5C466
,
RICOH
),
...
...
drivers/serial/serial_cs.c
View file @
bf0cbb3e
...
@@ -859,6 +859,7 @@ static struct pcmcia_device_id serial_ids[] = {
...
@@ -859,6 +859,7 @@ static struct pcmcia_device_id serial_ids[] = {
PCMCIA_MFC_DEVICE_CIS_MANF_CARD
(
1
,
0x0175
,
0x0000
,
"DP83903.cis"
),
PCMCIA_MFC_DEVICE_CIS_MANF_CARD
(
1
,
0x0175
,
0x0000
,
"DP83903.cis"
),
PCMCIA_MFC_DEVICE_CIS_MANF_CARD
(
1
,
0x0101
,
0x0035
,
"3CXEM556.cis"
),
PCMCIA_MFC_DEVICE_CIS_MANF_CARD
(
1
,
0x0101
,
0x0035
,
"3CXEM556.cis"
),
PCMCIA_MFC_DEVICE_CIS_MANF_CARD
(
1
,
0x0101
,
0x003d
,
"3CXEM556.cis"
),
PCMCIA_MFC_DEVICE_CIS_MANF_CARD
(
1
,
0x0101
,
0x003d
,
"3CXEM556.cis"
),
PCMCIA_DEVICE_CIS_MANF_CARD
(
0x0192
,
0x0710
,
"SW_7xx_SER.cis"
),
/* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
PCMCIA_DEVICE_CIS_PROD_ID12
(
"MultiTech"
,
"PCMCIA 56K DataFax"
,
0x842047ee
,
0xc2efcf03
,
"MT5634ZLX.cis"
),
PCMCIA_DEVICE_CIS_PROD_ID12
(
"MultiTech"
,
"PCMCIA 56K DataFax"
,
0x842047ee
,
0xc2efcf03
,
"MT5634ZLX.cis"
),
PCMCIA_DEVICE_CIS_PROD_ID12
(
"ADVANTECH"
,
"COMpad-32/85B-4"
,
0x96913a85
,
0xcec8f102
,
"COMpad4.cis"
),
PCMCIA_DEVICE_CIS_PROD_ID12
(
"ADVANTECH"
,
"COMpad-32/85B-4"
,
0x96913a85
,
0xcec8f102
,
"COMpad4.cis"
),
PCMCIA_DEVICE_CIS_PROD_ID123
(
"ADVANTECH"
,
"COMpad-32/85"
,
"1.0"
,
0x96913a85
,
0x8fbe92ae
,
0x0877b627
,
"COMpad2.cis"
),
PCMCIA_DEVICE_CIS_PROD_ID123
(
"ADVANTECH"
,
"COMpad-32/85"
,
"1.0"
,
0x96913a85
,
0x8fbe92ae
,
0x0877b627
,
"COMpad2.cis"
),
...
...
include/linux/mod_devicetable.h
View file @
bf0cbb3e
...
@@ -209,10 +209,11 @@ struct pcmcia_device_id {
...
@@ -209,10 +209,11 @@ struct pcmcia_device_id {
/* for real multi-function devices */
/* for real multi-function devices */
__u8
function
;
__u8
function
;
/* for pseud
e
multi-function devices */
/* for pseud
o
multi-function devices */
__u8
device_no
;
__u8
device_no
;
__u32
prod_id_hash
[
4
];
__u32
prod_id_hash
[
4
]
__attribute__
((
aligned
(
sizeof
(
__u32
))));
/* not matched against in kernelspace*/
/* not matched against in kernelspace*/
#ifdef __KERNEL__
#ifdef __KERNEL__
...
...
include/linux/pci_ids.h
View file @
bf0cbb3e
...
@@ -769,6 +769,8 @@
...
@@ -769,6 +769,8 @@
#define PCI_DEVICE_ID_TI_TVP4010 0x3d04
#define PCI_DEVICE_ID_TI_TVP4010 0x3d04
#define PCI_DEVICE_ID_TI_TVP4020 0x3d07
#define PCI_DEVICE_ID_TI_TVP4020 0x3d07
#define PCI_DEVICE_ID_TI_4450 0x8011
#define PCI_DEVICE_ID_TI_4450 0x8011
#define PCI_DEVICE_ID_TI_XX21_XX11 0x8031
#define PCI_DEVICE_ID_TI_X515 0x8036
#define PCI_DEVICE_ID_TI_1130 0xac12
#define PCI_DEVICE_ID_TI_1130 0xac12
#define PCI_DEVICE_ID_TI_1031 0xac13
#define PCI_DEVICE_ID_TI_1031 0xac13
#define PCI_DEVICE_ID_TI_1131 0xac15
#define PCI_DEVICE_ID_TI_1131 0xac15
...
@@ -785,12 +787,17 @@
...
@@ -785,12 +787,17 @@
#define PCI_DEVICE_ID_TI_4451 0xac42
#define PCI_DEVICE_ID_TI_4451 0xac42
#define PCI_DEVICE_ID_TI_4510 0xac44
#define PCI_DEVICE_ID_TI_4510 0xac44
#define PCI_DEVICE_ID_TI_4520 0xac46
#define PCI_DEVICE_ID_TI_4520 0xac46
#define PCI_DEVICE_ID_TI_7510 0xac47
#define PCI_DEVICE_ID_TI_7610 0xac48
#define PCI_DEVICE_ID_TI_7410 0xac49
#define PCI_DEVICE_ID_TI_1410 0xac50
#define PCI_DEVICE_ID_TI_1410 0xac50
#define PCI_DEVICE_ID_TI_1420 0xac51
#define PCI_DEVICE_ID_TI_1420 0xac51
#define PCI_DEVICE_ID_TI_1451A 0xac52
#define PCI_DEVICE_ID_TI_1451A 0xac52
#define PCI_DEVICE_ID_TI_1620 0xac54
#define PCI_DEVICE_ID_TI_1620 0xac54
#define PCI_DEVICE_ID_TI_1520 0xac55
#define PCI_DEVICE_ID_TI_1520 0xac55
#define PCI_DEVICE_ID_TI_1510 0xac56
#define PCI_DEVICE_ID_TI_1510 0xac56
#define PCI_DEVICE_ID_TI_X620 0xac8d
#define PCI_DEVICE_ID_TI_X420 0xac8e
#define PCI_VENDOR_ID_SONY 0x104d
#define PCI_VENDOR_ID_SONY 0x104d
#define PCI_DEVICE_ID_SONY_CXD3222 0x8039
#define PCI_DEVICE_ID_SONY_CXD3222 0x8039
...
@@ -2187,7 +2194,12 @@
...
@@ -2187,7 +2194,12 @@
#define PCI_DEVICE_ID_ENE_1211 0x1211
#define PCI_DEVICE_ID_ENE_1211 0x1211
#define PCI_DEVICE_ID_ENE_1225 0x1225
#define PCI_DEVICE_ID_ENE_1225 0x1225
#define PCI_DEVICE_ID_ENE_1410 0x1410
#define PCI_DEVICE_ID_ENE_1410 0x1410
#define PCI_DEVICE_ID_ENE_710 0x1411
#define PCI_DEVICE_ID_ENE_712 0x1412
#define PCI_DEVICE_ID_ENE_1420 0x1420
#define PCI_DEVICE_ID_ENE_1420 0x1420
#define PCI_DEVICE_ID_ENE_720 0x1421
#define PCI_DEVICE_ID_ENE_722 0x1422
#define PCI_VENDOR_ID_CHELSIO 0x1425
#define PCI_VENDOR_ID_CHELSIO 0x1425
#define PCI_VENDOR_ID_MIPS 0x153f
#define PCI_VENDOR_ID_MIPS 0x153f
...
...
include/pcmcia/ss.h
View file @
bf0cbb3e
...
@@ -21,6 +21,9 @@
...
@@ -21,6 +21,9 @@
#include <pcmcia/cs_types.h>
#include <pcmcia/cs_types.h>
#include <pcmcia/cs.h>
#include <pcmcia/cs.h>
#include <pcmcia/bulkmem.h>
#include <pcmcia/bulkmem.h>
#ifdef CONFIG_CARDBUS
#include <linux/pci.h>
#endif
/* Definitions for card status flags for GetStatus */
/* Definitions for card status flags for GetStatus */
#define SS_WRPROT 0x0001
#define SS_WRPROT 0x0001
...
@@ -233,7 +236,11 @@ struct pcmcia_socket {
...
@@ -233,7 +236,11 @@ struct pcmcia_socket {
/* so is power hook */
/* so is power hook */
int
(
*
power_hook
)(
struct
pcmcia_socket
*
sock
,
int
operation
);
int
(
*
power_hook
)(
struct
pcmcia_socket
*
sock
,
int
operation
);
#ifdef CONFIG_CARDBUS
/* allows tuning the CB bridge before loading driver for the CB card */
void
(
*
tune_bridge
)(
struct
pcmcia_socket
*
sock
,
struct
pci_bus
*
bus
);
#endif
/* state thread */
/* state thread */
struct
semaphore
skt_sem
;
/* protects socket h/w state */
struct
semaphore
skt_sem
;
/* protects socket h/w state */
...
...
scripts/mod/file2alias.c
View file @
bf0cbb3e
...
@@ -295,11 +295,13 @@ static int do_pcmcia_entry(const char *filename,
...
@@ -295,11 +295,13 @@ static int do_pcmcia_entry(const char *filename,
{
{
unsigned
int
i
;
unsigned
int
i
;
id
->
match_flags
=
TO_NATIVE
(
id
->
match_flags
);
id
->
manf_id
=
TO_NATIVE
(
id
->
manf_id
);
id
->
manf_id
=
TO_NATIVE
(
id
->
manf_id
);
id
->
card_id
=
TO_NATIVE
(
id
->
card_id
);
id
->
card_id
=
TO_NATIVE
(
id
->
card_id
);
id
->
func_id
=
TO_NATIVE
(
id
->
func_id
);
id
->
func_id
=
TO_NATIVE
(
id
->
func_id
);
id
->
function
=
TO_NATIVE
(
id
->
function
);
id
->
function
=
TO_NATIVE
(
id
->
function
);
id
->
device_no
=
TO_NATIVE
(
id
->
device_no
);
id
->
device_no
=
TO_NATIVE
(
id
->
device_no
);
for
(
i
=
0
;
i
<
4
;
i
++
)
{
for
(
i
=
0
;
i
<
4
;
i
++
)
{
id
->
prod_id_hash
[
i
]
=
TO_NATIVE
(
id
->
prod_id_hash
[
i
]);
id
->
prod_id_hash
[
i
]
=
TO_NATIVE
(
id
->
prod_id_hash
[
i
]);
}
}
...
...
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