Blame view
drivers/ide/ide-cs.c
12 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 |
/*====================================================================== A driver for PCMCIA IDE/ATA disk cards |
1da177e4c Linux-2.6.12-rc2 |
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The initial developer of the original code is David A. Hinds <dahinds@users.sourceforge.net>. Portions created by David A. Hinds are Copyright (C) 1999 David A. Hinds. All Rights Reserved. Alternatively, the contents of this file may be used under the terms of the GNU General Public License version 2 (the "GPL"), in which case the provisions of the GPL are applicable instead of the above. If you wish to allow the use of your version of this file only under the terms of the GPL and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the GPL. |
7b1dec597 ide-cs: Add addit... |
28 |
|
1da177e4c Linux-2.6.12-rc2 |
29 30 31 32 33 |
======================================================================*/ #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> |
1da177e4c Linux-2.6.12-rc2 |
34 35 36 37 38 39 |
#include <linux/ptrace.h> #include <linux/slab.h> #include <linux/string.h> #include <linux/timer.h> #include <linux/ioport.h> #include <linux/ide.h> |
1da177e4c Linux-2.6.12-rc2 |
40 |
#include <linux/major.h> |
2aad5f03d [PATCH] janitor: ... |
41 |
#include <linux/delay.h> |
1da177e4c Linux-2.6.12-rc2 |
42 |
#include <asm/io.h> |
1da177e4c Linux-2.6.12-rc2 |
43 |
|
1da177e4c Linux-2.6.12-rc2 |
44 45 46 47 |
#include <pcmcia/cistpl.h> #include <pcmcia/ds.h> #include <pcmcia/cisreg.h> #include <pcmcia/ciscode.h> |
d703b79e5 ide-cs: manage I/... |
48 |
#define DRV_NAME "ide-cs" |
1da177e4c Linux-2.6.12-rc2 |
49 50 51 52 53 54 55 |
/*====================================================================*/ /* Module parameters */ MODULE_AUTHOR("David Hinds <dahinds@users.sourceforge.net>"); MODULE_DESCRIPTION("PCMCIA ATA/IDE card driver"); MODULE_LICENSE("Dual MPL/GPL"); |
1da177e4c Linux-2.6.12-rc2 |
56 |
/*====================================================================*/ |
1da177e4c Linux-2.6.12-rc2 |
57 |
typedef struct ide_info_t { |
fd238232c [PATCH] pcmcia: e... |
58 |
struct pcmcia_device *p_dev; |
48c3c1072 ide: add struct i... |
59 |
struct ide_host *host; |
ded6a1a34 pcmcia: dev_node ... |
60 |
int ndev; |
1da177e4c Linux-2.6.12-rc2 |
61 |
} ide_info_t; |
fba395eee [PATCH] pcmcia: r... |
62 |
static void ide_release(struct pcmcia_device *); |
15b99ac17 [PATCH] pcmcia: a... |
63 |
static int ide_config(struct pcmcia_device *); |
1da177e4c Linux-2.6.12-rc2 |
64 |
|
cc3b4866b [PATCH] pcmcia: u... |
65 |
static void ide_detach(struct pcmcia_device *p_dev); |
1da177e4c Linux-2.6.12-rc2 |
66 |
|
15b99ac17 [PATCH] pcmcia: a... |
67 |
static int ide_probe(struct pcmcia_device *link) |
1da177e4c Linux-2.6.12-rc2 |
68 69 |
{ ide_info_t *info; |
f8cfa618d [PATCH] pcmcia: u... |
70 |
|
444486a5f pcmcia: use dynam... |
71 72 |
dev_dbg(&link->dev, "ide_attach() "); |
1da177e4c Linux-2.6.12-rc2 |
73 74 |
/* Create new ide device */ |
f5e3c2faa [PATCH] ide: kmal... |
75 |
info = kzalloc(sizeof(*info), GFP_KERNEL); |
f8cfa618d [PATCH] pcmcia: u... |
76 77 |
if (!info) return -ENOMEM; |
fd238232c [PATCH] pcmcia: e... |
78 |
|
fba395eee [PATCH] pcmcia: r... |
79 |
info->p_dev = link; |
fd238232c [PATCH] pcmcia: e... |
80 |
link->priv = info; |
1da177e4c Linux-2.6.12-rc2 |
81 |
|
00990e7ce pcmcia: use autoc... |
82 83 |
link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO | CONF_AUTO_SET_VPP | CONF_AUTO_CHECK_VCC; |
f8cfa618d [PATCH] pcmcia: u... |
84 |
|
15b99ac17 [PATCH] pcmcia: a... |
85 |
return ide_config(link); |
1da177e4c Linux-2.6.12-rc2 |
86 |
} /* ide_attach */ |
fba395eee [PATCH] pcmcia: r... |
87 |
static void ide_detach(struct pcmcia_device *link) |
1da177e4c Linux-2.6.12-rc2 |
88 |
{ |
d703b79e5 ide-cs: manage I/... |
89 |
ide_info_t *info = link->priv; |
d703b79e5 ide-cs: manage I/... |
90 |
|
444486a5f pcmcia: use dynam... |
91 92 |
dev_dbg(&link->dev, "ide_detach(0x%p) ", link); |
1da177e4c Linux-2.6.12-rc2 |
93 |
|
e2d409636 [PATCH] pcmcia: u... |
94 |
ide_release(link); |
b46358115 [PATCH] pcmcia: r... |
95 |
|
d703b79e5 ide-cs: manage I/... |
96 |
kfree(info); |
1da177e4c Linux-2.6.12-rc2 |
97 |
} /* ide_detach */ |
ac95beedf ide: add struct i... |
98 99 100 |
static const struct ide_port_ops idecs_port_ops = { .quirkproc = ide_undecoded_slave, }; |
dccdf5273 ide-cs: use struc... |
101 102 103 |
static const struct ide_port_info idecs_port_info = { .port_ops = &idecs_port_ops, .host_flags = IDE_HFLAG_NO_DMA, |
255115fb3 ide: allow host d... |
104 |
.irq_flags = IRQF_SHARED, |
29e52cf79 ide: remove chips... |
105 |
.chipset = ide_pci, |
dccdf5273 ide-cs: use struc... |
106 |
}; |
48c3c1072 ide: add struct i... |
107 |
static struct ide_host *idecs_register(unsigned long io, unsigned long ctl, |
d703b79e5 ide-cs: manage I/... |
108 |
unsigned long irq, struct pcmcia_device *handle) |
1da177e4c Linux-2.6.12-rc2 |
109 |
{ |
48c3c1072 ide: add struct i... |
110 |
struct ide_host *host; |
9e016a719 ide: add ide_depr... |
111 |
ide_hwif_t *hwif; |
6f904d015 ide: add ide_host... |
112 |
int i, rc; |
9f36d3143 ide: remove hw_re... |
113 |
struct ide_hw hw, *hws[] = { &hw }; |
9e016a719 ide: add ide_depr... |
114 |
|
d703b79e5 ide-cs: manage I/... |
115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
if (!request_region(io, 8, DRV_NAME)) { printk(KERN_ERR "%s: I/O resource 0x%lX-0x%lX not free. ", DRV_NAME, io, io + 7); return NULL; } if (!request_region(ctl, 1, DRV_NAME)) { printk(KERN_ERR "%s: I/O resource 0x%lX not free. ", DRV_NAME, ctl); release_region(io, 8); return NULL; } |
1da177e4c Linux-2.6.12-rc2 |
129 |
memset(&hw, 0, sizeof(hw)); |
dcb425f55 ide-cs: use ide_s... |
130 |
ide_std_init_ports(&hw, io, ctl); |
1da177e4c Linux-2.6.12-rc2 |
131 |
hw.irq = irq; |
4349d5cdf [PATCH] ide: inco... |
132 |
hw.dev = &handle->dev; |
9e016a719 ide: add ide_depr... |
133 |
|
dca398305 ide: pass number ... |
134 |
rc = ide_host_add(&idecs_port_info, hws, 1, &host); |
6f904d015 ide: add ide_host... |
135 |
if (rc) |
d703b79e5 ide-cs: manage I/... |
136 |
goto out_release; |
9e016a719 ide: add ide_depr... |
137 |
|
48c3c1072 ide: add struct i... |
138 |
hwif = host->ports[0]; |
9e016a719 ide: add ide_depr... |
139 |
|
d703b79e5 ide-cs: manage I/... |
140 |
if (hwif->present) |
48c3c1072 ide: add struct i... |
141 |
return host; |
d703b79e5 ide-cs: manage I/... |
142 |
|
792a1a985 ide-cs: fix probi... |
143 144 145 146 147 |
/* retry registration in case device is still spinning up */ for (i = 0; i < 10; i++) { msleep(100); ide_port_scan(hwif); if (hwif->present) |
48c3c1072 ide: add struct i... |
148 |
return host; |
792a1a985 ide-cs: fix probi... |
149 |
} |
48c3c1072 ide: add struct i... |
150 |
return host; |
792a1a985 ide-cs: fix probi... |
151 |
|
d703b79e5 ide-cs: manage I/... |
152 153 154 155 |
out_release: release_region(ctl, 1); release_region(io, 8); return NULL; |
1da177e4c Linux-2.6.12-rc2 |
156 |
} |
00990e7ce pcmcia: use autoc... |
157 |
static int pcmcia_check_one_config(struct pcmcia_device *pdev, void *priv_data) |
0bac660a7 pcmcia: use pcmci... |
158 |
{ |
00990e7ce pcmcia: use autoc... |
159 |
int *is_kme = priv_data; |
e58c5de8f drivers/ide/ide-c... |
160 161 |
if ((pdev->resource[0]->flags & IO_DATA_PATH_WIDTH) != IO_DATA_PATH_WIDTH_8) { |
00990e7ce pcmcia: use autoc... |
162 163 164 165 166 167 168 169 170 171 172 |
pdev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH; pdev->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; } pdev->resource[1]->flags &= ~IO_DATA_PATH_WIDTH; pdev->resource[1]->flags |= IO_DATA_PATH_WIDTH_8; if (pdev->resource[1]->end) { pdev->resource[0]->end = 8; pdev->resource[1]->end = (*is_kme) ? 2 : 1; } else { if (pdev->resource[0]->end < 16) |
8e2fc39dd pcmcia: pcmcia_co... |
173 |
return -ENODEV; |
0bac660a7 pcmcia: use pcmci... |
174 |
} |
00990e7ce pcmcia: use autoc... |
175 176 |
return pcmcia_request_io(pdev); |
0bac660a7 pcmcia: use pcmci... |
177 |
} |
15b99ac17 [PATCH] pcmcia: a... |
178 |
static int ide_config(struct pcmcia_device *link) |
1da177e4c Linux-2.6.12-rc2 |
179 |
{ |
1da177e4c Linux-2.6.12-rc2 |
180 |
ide_info_t *info = link->priv; |
444486a5f pcmcia: use dynam... |
181 |
int ret = 0, is_kme = 0; |
2f1b92505 Revert "[PATCH] p... |
182 |
unsigned long io_base, ctl_base; |
48c3c1072 ide: add struct i... |
183 |
struct ide_host *host; |
1da177e4c Linux-2.6.12-rc2 |
184 |
|
444486a5f pcmcia: use dynam... |
185 186 |
dev_dbg(&link->dev, "ide_config(0x%p) ", link); |
1da177e4c Linux-2.6.12-rc2 |
187 |
|
efd50585e [PATCH] pcmcia: r... |
188 189 190 |
is_kme = ((link->manf_id == MANFID_KME) && ((link->card_id == PRODID_KME_KXLC005_A) || (link->card_id == PRODID_KME_KXLC005_B))); |
1da177e4c Linux-2.6.12-rc2 |
191 |
|
00990e7ce pcmcia: use autoc... |
192 |
if (pcmcia_loop_config(link, pcmcia_check_one_config, &is_kme)) { |
440eed43e pcmcia: introduce... |
193 |
link->config_flags &= ~CONF_AUTO_CHECK_VCC; |
00990e7ce pcmcia: use autoc... |
194 |
if (pcmcia_loop_config(link, pcmcia_check_one_config, &is_kme)) |
0bac660a7 pcmcia: use pcmci... |
195 |
goto failed; /* No suitable config found */ |
1da177e4c Linux-2.6.12-rc2 |
196 |
} |
9a017a910 pcmcia: do not us... |
197 |
io_base = link->resource[0]->start; |
00990e7ce pcmcia: use autoc... |
198 199 200 201 |
if (link->resource[1]->end) ctl_base = link->resource[1]->start; else ctl_base = link->resource[0]->start + 0x0e; |
1da177e4c Linux-2.6.12-rc2 |
202 |
|
eb14120f7 pcmcia: re-work p... |
203 |
if (!link->irq) |
444486a5f pcmcia: use dynam... |
204 |
goto failed; |
1ac71e5a3 pcmcia: convert p... |
205 206 |
ret = pcmcia_enable_device(link); |
444486a5f pcmcia: use dynam... |
207 208 |
if (ret) goto failed; |
1da177e4c Linux-2.6.12-rc2 |
209 210 |
/* disable drive interrupts during IDE probe */ |
2f1b92505 Revert "[PATCH] p... |
211 |
outb(0x02, ctl_base); |
1da177e4c Linux-2.6.12-rc2 |
212 213 214 |
/* special setup for KXLC005 card */ if (is_kme) |
2f1b92505 Revert "[PATCH] p... |
215 |
outb(0x81, ctl_base+1); |
1da177e4c Linux-2.6.12-rc2 |
216 |
|
eb14120f7 pcmcia: re-work p... |
217 |
host = idecs_register(io_base, ctl_base, link->irq, link); |
9a017a910 pcmcia: do not us... |
218 |
if (host == NULL && resource_size(link->resource[0]) == 0x20) { |
2f1b92505 Revert "[PATCH] p... |
219 |
outb(0x02, ctl_base + 0x10); |
48c3c1072 ide: add struct i... |
220 |
host = idecs_register(io_base + 0x10, ctl_base + 0x10, |
eb14120f7 pcmcia: re-work p... |
221 |
link->irq, link); |
1da177e4c Linux-2.6.12-rc2 |
222 |
} |
48c3c1072 ide: add struct i... |
223 |
if (host == NULL) |
1da177e4c Linux-2.6.12-rc2 |
224 |
goto failed; |
1da177e4c Linux-2.6.12-rc2 |
225 226 |
info->ndev = 1; |
48c3c1072 ide: add struct i... |
227 |
info->host = host; |
ded6a1a34 pcmcia: dev_node ... |
228 229 230 |
dev_info(&link->dev, "ide-cs: hd%c: Vpp = %d.%d ", 'a' + host->ports[0]->index * 2, |
e8405f0f6 pcmcia: move Vpp ... |
231 |
link->vpp / 10, link->vpp % 10); |
1da177e4c Linux-2.6.12-rc2 |
232 |
|
15b99ac17 [PATCH] pcmcia: a... |
233 |
return 0; |
1da177e4c Linux-2.6.12-rc2 |
234 |
|
1da177e4c Linux-2.6.12-rc2 |
235 |
failed: |
1da177e4c Linux-2.6.12-rc2 |
236 |
ide_release(link); |
15b99ac17 [PATCH] pcmcia: a... |
237 |
return -ENODEV; |
1da177e4c Linux-2.6.12-rc2 |
238 |
} /* ide_config */ |
727c6742c pcmcia: Fix ide-c... |
239 |
static void ide_release(struct pcmcia_device *link) |
1da177e4c Linux-2.6.12-rc2 |
240 241 |
{ ide_info_t *info = link->priv; |
48c3c1072 ide: add struct i... |
242 |
struct ide_host *host = info->host; |
7b1dec597 ide-cs: Add addit... |
243 |
|
444486a5f pcmcia: use dynam... |
244 245 |
dev_dbg(&link->dev, "ide_release(0x%p) ", link); |
1da177e4c Linux-2.6.12-rc2 |
246 |
|
d4ae5415c ide/ide-cs: fix o... |
247 248 249 250 251 252 |
if (info->ndev) { ide_hwif_t *hwif = host->ports[0]; unsigned long data_addr, ctl_addr; data_addr = hwif->io_ports.data_addr; ctl_addr = hwif->io_ports.ctl_addr; |
48c3c1072 ide: add struct i... |
253 |
ide_host_remove(host); |
d4ae5415c ide/ide-cs: fix o... |
254 |
info->ndev = 0; |
48c3c1072 ide: add struct i... |
255 |
|
d4ae5415c ide/ide-cs: fix o... |
256 257 258 |
release_region(ctl_addr, 1); release_region(data_addr, 8); } |
1da177e4c Linux-2.6.12-rc2 |
259 |
|
fba395eee [PATCH] pcmcia: r... |
260 |
pcmcia_disable_device(link); |
1da177e4c Linux-2.6.12-rc2 |
261 |
} /* ide_release */ |
98e4c28b7 [PATCH] pcmcia: n... |
262 |
|
25f8f54f6 pcmcia: Convert p... |
263 |
static const struct pcmcia_device_id ide_ids[] = { |
f70b7d40d [PATCH] pcmcia: i... |
264 |
PCMCIA_DEVICE_FUNC_ID(4), |
7b1dec597 ide-cs: Add addit... |
265 |
PCMCIA_DEVICE_MANF_CARD(0x0000, 0x0000), /* Corsair */ |
725a6abfe [PATCH] pcmcia: a... |
266 |
PCMCIA_DEVICE_MANF_CARD(0x0007, 0x0000), /* Hitachi */ |
ed8961678 ide-cs: Update de... |
267 268 |
PCMCIA_DEVICE_MANF_CARD(0x000a, 0x0000), /* I-O Data CFA */ PCMCIA_DEVICE_MANF_CARD(0x001c, 0x0001), /* Mitsubishi CFA */ |
f70b7d40d [PATCH] pcmcia: i... |
269 |
PCMCIA_DEVICE_MANF_CARD(0x0032, 0x0704), |
795659ef0 pcmcia: uniform d... |
270 |
PCMCIA_DEVICE_MANF_CARD(0x0032, 0x2904), |
ed8961678 ide-cs: Update de... |
271 |
PCMCIA_DEVICE_MANF_CARD(0x0045, 0x0401), /* SanDisk CFA */ |
a49c06bfe pcmcia ide kingst... |
272 |
PCMCIA_DEVICE_MANF_CARD(0x004f, 0x0000), /* Kingston */ |
795659ef0 pcmcia: uniform d... |
273 |
PCMCIA_DEVICE_MANF_CARD(0x0097, 0x1620), /* TI emulated */ |
d3feb1844 [PATCH] pcmcia: m... |
274 |
PCMCIA_DEVICE_MANF_CARD(0x0098, 0x0000), /* Toshiba */ |
f70b7d40d [PATCH] pcmcia: i... |
275 |
PCMCIA_DEVICE_MANF_CARD(0x00a4, 0x002d), |
d3feb1844 [PATCH] pcmcia: m... |
276 |
PCMCIA_DEVICE_MANF_CARD(0x00ce, 0x0000), /* Samsung */ |
7b1dec597 ide-cs: Add addit... |
277 |
PCMCIA_DEVICE_MANF_CARD(0x0319, 0x0000), /* Hitachi */ |
f70b7d40d [PATCH] pcmcia: i... |
278 |
PCMCIA_DEVICE_MANF_CARD(0x2080, 0x0001), |
ed8961678 ide-cs: Update de... |
279 280 |
PCMCIA_DEVICE_MANF_CARD(0x4e01, 0x0100), /* Viking CFA */ PCMCIA_DEVICE_MANF_CARD(0x4e01, 0x0200), /* Lexar, Viking CFA */ |
f70b7d40d [PATCH] pcmcia: i... |
281 282 283 284 285 |
PCMCIA_DEVICE_PROD_ID123("Caravelle", "PSC-IDE ", "PSC000", 0x8c36137c, 0xd0693ab8, 0x2768a9f0), PCMCIA_DEVICE_PROD_ID123("CDROM", "IDE", "MCD-601p", 0x1b9179ca, 0xede88951, 0x0d902f74), PCMCIA_DEVICE_PROD_ID123("PCMCIA", "IDE CARD", "F1", 0x281f1c5d, 0x1907960c, 0xf7fde8b9), PCMCIA_DEVICE_PROD_ID12("ARGOSY", "CD-ROM", 0x78f308dc, 0x66536591), PCMCIA_DEVICE_PROD_ID12("ARGOSY", "PnPIDE", 0x78f308dc, 0x0c694728), |
c9a2bfd1f pcmcia: add CNF-C... |
286 |
PCMCIA_DEVICE_PROD_ID12("CNF ", "CD-ROM", 0x46d7db81, 0x66536591), |
f70b7d40d [PATCH] pcmcia: i... |
287 288 289 |
PCMCIA_DEVICE_PROD_ID12("CNF CD-M", "CD-ROM", 0x7d93b852, 0x66536591), PCMCIA_DEVICE_PROD_ID12("Creative Technology Ltd.", "PCMCIA CD-ROM Interface Card", 0xff8c8a45, 0xfe8020c4), PCMCIA_DEVICE_PROD_ID12("Digital Equipment Corporation.", "Digital Mobile Media CD-ROM", 0x17692a66, 0xef1dcbde), |
d277ad0ea [PATCH] pcmcia: f... |
290 |
PCMCIA_DEVICE_PROD_ID12("EXP", "CD+GAME", 0x6f58c983, 0x63c13aaf), |
f70b7d40d [PATCH] pcmcia: i... |
291 292 293 |
PCMCIA_DEVICE_PROD_ID12("EXP ", "CD-ROM", 0x0a5c52fd, 0x66536591), PCMCIA_DEVICE_PROD_ID12("EXP ", "PnPIDE", 0x0a5c52fd, 0x0c694728), PCMCIA_DEVICE_PROD_ID12("FREECOM", "PCCARD-IDE", 0x5714cbf7, 0x48e0ab8e), |
725a6abfe [PATCH] pcmcia: a... |
294 295 |
PCMCIA_DEVICE_PROD_ID12("HITACHI", "FLASH", 0xf4f43949, 0x9eb86aae), PCMCIA_DEVICE_PROD_ID12("HITACHI", "microdrive", 0xf4f43949, 0xa6d76178), |
7b1dec597 ide-cs: Add addit... |
296 |
PCMCIA_DEVICE_PROD_ID12("Hyperstone", "Model1", 0x3d5b9ef5, 0xca6ab420), |
264a34123 [PATCH] ide_cs: A... |
297 |
PCMCIA_DEVICE_PROD_ID12("IBM", "microdrive", 0xb569a6e5, 0xa6d76178), |
f70b7d40d [PATCH] pcmcia: i... |
298 |
PCMCIA_DEVICE_PROD_ID12("IBM", "IBM17JSSFP20", 0xb569a6e5, 0xf2508753), |
85ea2d3f9 pata_pcmcia / ide... |
299 |
PCMCIA_DEVICE_PROD_ID12("KINGSTON", "CF CARD 1GB", 0x2e6d1829, 0x55d5bffb), |
f25798eda pata_pcmcia/ide-c... |
300 |
PCMCIA_DEVICE_PROD_ID12("KINGSTON", "CF CARD 4GB", 0x2e6d1829, 0x531e7d10), |
363f7e428 PCMCIA: Add anoth... |
301 |
PCMCIA_DEVICE_PROD_ID12("KINGSTON", "CF8GB", 0x2e6d1829, 0xacbe682e), |
f70b7d40d [PATCH] pcmcia: i... |
302 303 304 305 |
PCMCIA_DEVICE_PROD_ID12("IO DATA", "CBIDE2 ", 0x547e66dc, 0x8671043b), PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDE", 0x547e66dc, 0x5c5ab149), PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDEII", 0x547e66dc, 0xb3662674), PCMCIA_DEVICE_PROD_ID12("LOOKMEET", "CBIDE2 ", 0xe37be2b5, 0x8671043b), |
74e23386b pcmcia: add an pa... |
306 |
PCMCIA_DEVICE_PROD_ID12("M-Systems", "CF300", 0x7ed2ad87, 0x7e9e78ee), |
4fa902a91 [PATCH] PCMCIA: A... |
307 |
PCMCIA_DEVICE_PROD_ID12("M-Systems", "CF500", 0x7ed2ad87, 0x7a13045c), |
2570b7464 [PATCH] pcmcia: u... |
308 |
PCMCIA_DEVICE_PROD_ID2("NinjaATA-", 0xebe0bd79), |
f70b7d40d [PATCH] pcmcia: i... |
309 310 311 |
PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591), PCMCIA_DEVICE_PROD_ID12("PCMCIA", "PnPIDE", 0x281f1c5d, 0x0c694728), PCMCIA_DEVICE_PROD_ID12("SHUTTLE TECHNOLOGY LTD.", "PCCARD-IDE/ATAPI Adapter", 0x4a3f0ba0, 0x322560e1), |
4fa902a91 [PATCH] PCMCIA: A... |
312 313 314 |
PCMCIA_DEVICE_PROD_ID12("SEAGATE", "ST1", 0x87c1b330, 0xe1f30883), PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "04/05/06", 0x43d74cb4, 0x6a22777d), PCMCIA_DEVICE_PROD_ID12("SMI VENDOR", "SMI PRODUCT", 0x30896c92, 0x703cc5f6), |
f70b7d40d [PATCH] pcmcia: i... |
315 |
PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003), |
429356569 [PATCH] pcmcia: a... |
316 |
PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443), |
a17bf2202 pcmcia: add anoth... |
317 |
PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF45", 0x709b1bf1, 0xf68b6f32), |
bf4e18294 [PATCH] pcmcia: A... |
318 |
PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF80", 0x709b1bf1, 0x2a54d4b1), |
aa12b2842 ide-cs: recognize... |
319 |
PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS2GCF120", 0x709b1bf1, 0x969aa4f2), |
4fa902a91 [PATCH] PCMCIA: A... |
320 |
PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF120", 0x709b1bf1, 0xf54a91c8), |
85ea2d3f9 pata_pcmcia / ide... |
321 |
PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF133", 0x709b1bf1, 0x7558f133), |
f25798eda pata_pcmcia/ide-c... |
322 |
PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS8GCF133", 0x709b1bf1, 0xb2f89b47), |
f70b7d40d [PATCH] pcmcia: i... |
323 |
PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852), |
0517793fa [PATCH] pcmcia: y... |
324 |
PCMCIA_DEVICE_PROD_ID12("WEIDA", "TWTTI", 0xcc7cf69c, 0x212bb918), |
f70b7d40d [PATCH] pcmcia: i... |
325 |
PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209), |
d3feb1844 [PATCH] pcmcia: m... |
326 |
PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e), |
698e22c4b [PATCH] pcmcia: i... |
327 |
PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6), |
980fc29f2 pcmcia: add anoth... |
328 |
PCMCIA_DEVICE_PROD_ID2("Flash Card", 0x5a362506), |
f70b7d40d [PATCH] pcmcia: i... |
329 330 331 |
PCMCIA_DEVICE_NULL, }; MODULE_DEVICE_TABLE(pcmcia, ide_ids); |
1da177e4c Linux-2.6.12-rc2 |
332 333 |
static struct pcmcia_driver ide_cs_driver = { .owner = THIS_MODULE, |
2e9b981a7 pcmcia: move driv... |
334 |
.name = "ide-cs", |
15b99ac17 [PATCH] pcmcia: a... |
335 |
.probe = ide_probe, |
cc3b4866b [PATCH] pcmcia: u... |
336 |
.remove = ide_detach, |
f70b7d40d [PATCH] pcmcia: i... |
337 |
.id_table = ide_ids, |
1da177e4c Linux-2.6.12-rc2 |
338 339 340 341 342 343 344 345 346 347 |
}; static int __init init_ide_cs(void) { return pcmcia_register_driver(&ide_cs_driver); } static void __exit exit_ide_cs(void) { pcmcia_unregister_driver(&ide_cs_driver); |
1da177e4c Linux-2.6.12-rc2 |
348 |
} |
2b8d46693 [PATCH] pcmcia: d... |
349 |
late_initcall(init_ide_cs); |
1da177e4c Linux-2.6.12-rc2 |
350 |
module_exit(exit_ide_cs); |