Commit | Line | Data |
---|---|---|
5085cb26 DB |
1 | This file details changes in 2.6 which affect PCMCIA card driver authors: |
2 | ||
c6fd7188 DB |
3 | * event handler initialization in struct pcmcia_driver (as of 2.6.13) |
4 | The event handler is notified of all events, and must be initialized | |
5 | as the event() callback in the driver's struct pcmcia_driver. | |
6 | ||
7 | * pcmcia/version.h should not be used (as of 2.6.13) | |
8 | This file will be removed eventually. | |
9 | ||
10 | * in-kernel device<->driver matching (as of 2.6.13) | |
5085cb26 DB |
11 | PCMCIA devices and their correct drivers can now be matched in |
12 | kernelspace. See 'devicetable.txt' for details. | |
13 | ||
14 | * Device model integration (as of 2.6.11) | |
15 | A struct pcmcia_device is registered with the device model core, | |
16 | and can be used (e.g. for SET_NETDEV_DEV) by using | |
17 | handle_to_dev(client_handle_t * handle). | |
18 | ||
19 | * Convert internal I/O port addresses to unsigned long (as of 2.6.11) | |
20 | ioaddr_t should be replaced by kio_addr_t in PCMCIA card drivers. | |
21 | ||
22 | * irq_mask and irq_list parameters (as of 2.6.11) | |
23 | The irq_mask and irq_list parameters should no longer be used in | |
24 | PCMCIA card drivers. Instead, it is the job of the PCMCIA core to | |
25 | determine which IRQ should be used. Therefore, link->irq.IRQInfo2 | |
26 | is ignored. | |
27 | ||
28 | * client->PendingEvents is gone (as of 2.6.11) | |
29 | client->PendingEvents is no longer available. | |
30 | ||
31 | * client->Attributes are gone (as of 2.6.11) | |
32 | client->Attributes is unused, therefore it is removed from all | |
33 | PCMCIA card drivers | |
34 | ||
35 | * core functions no longer available (as of 2.6.11) | |
36 | The following functions have been removed from the kernel source | |
37 | because they are unused by all in-kernel drivers, and no external | |
38 | driver was reported to rely on them: | |
39 | pcmcia_get_first_region() | |
40 | pcmcia_get_next_region() | |
41 | pcmcia_modify_window() | |
42 | pcmcia_set_event_mask() | |
43 | pcmcia_get_first_window() | |
44 | pcmcia_get_next_window() | |
45 | ||
46 | * device list iteration upon module removal (as of 2.6.10) | |
47 | It is no longer necessary to iterate on the driver's internal | |
48 | client list and call the ->detach() function upon module removal. | |
49 | ||
50 | * Resource management. (as of 2.6.8) | |
51 | Although the PCMCIA subsystem will allocate resources for cards, | |
52 | it no longer marks these resources busy. This means that driver | |
53 | authors are now responsible for claiming your resources as per | |
54 | other drivers in Linux. You should use request_region() to mark | |
55 | your IO regions in-use, and request_mem_region() to mark your | |
56 | memory regions in-use. The name argument should be a pointer to | |
57 | your driver name. Eg, for pcnet_cs, name should point to the | |
58 | string "pcnet_cs". |