diff options
Diffstat (limited to 'drivers/pnp/isapnp/compat.c')
-rw-r--r-- | drivers/pnp/isapnp/compat.c | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/drivers/pnp/isapnp/compat.c b/drivers/pnp/isapnp/compat.c index 0697ab88a9ac..10bdcc4d4f7b 100644 --- a/drivers/pnp/isapnp/compat.c +++ b/drivers/pnp/isapnp/compat.c | |||
@@ -3,34 +3,30 @@ | |||
3 | * the old isapnp APIs. If possible use the new APIs instead. | 3 | * the old isapnp APIs. If possible use the new APIs instead. |
4 | * | 4 | * |
5 | * Copyright 2002 Adam Belay <ambx1@neo.rr.com> | 5 | * Copyright 2002 Adam Belay <ambx1@neo.rr.com> |
6 | * | ||
7 | */ | 6 | */ |
8 | |||
9 | /* TODO: see if more isapnp functions are needed here */ | ||
10 | 7 | ||
11 | #include <linux/module.h> | 8 | #include <linux/module.h> |
12 | #include <linux/isapnp.h> | 9 | #include <linux/isapnp.h> |
13 | #include <linux/string.h> | 10 | #include <linux/string.h> |
14 | 11 | ||
15 | static void pnp_convert_id(char *buf, unsigned short vendor, unsigned short device) | 12 | static void pnp_convert_id(char *buf, unsigned short vendor, |
13 | unsigned short device) | ||
16 | { | 14 | { |
17 | sprintf(buf, "%c%c%c%x%x%x%x", | 15 | sprintf(buf, "%c%c%c%x%x%x%x", |
18 | 'A' + ((vendor >> 2) & 0x3f) - 1, | 16 | 'A' + ((vendor >> 2) & 0x3f) - 1, |
19 | 'A' + (((vendor & 3) << 3) | ((vendor >> 13) & 7)) - 1, | 17 | 'A' + (((vendor & 3) << 3) | ((vendor >> 13) & 7)) - 1, |
20 | 'A' + ((vendor >> 8) & 0x1f) - 1, | 18 | 'A' + ((vendor >> 8) & 0x1f) - 1, |
21 | (device >> 4) & 0x0f, | 19 | (device >> 4) & 0x0f, device & 0x0f, |
22 | device & 0x0f, | 20 | (device >> 12) & 0x0f, (device >> 8) & 0x0f); |
23 | (device >> 12) & 0x0f, | ||
24 | (device >> 8) & 0x0f); | ||
25 | } | 21 | } |
26 | 22 | ||
27 | struct pnp_card *pnp_find_card(unsigned short vendor, | 23 | struct pnp_card *pnp_find_card(unsigned short vendor, unsigned short device, |
28 | unsigned short device, | ||
29 | struct pnp_card *from) | 24 | struct pnp_card *from) |
30 | { | 25 | { |
31 | char id[8]; | 26 | char id[8]; |
32 | char any[8]; | 27 | char any[8]; |
33 | struct list_head *list; | 28 | struct list_head *list; |
29 | |||
34 | pnp_convert_id(id, vendor, device); | 30 | pnp_convert_id(id, vendor, device); |
35 | pnp_convert_id(any, ISAPNP_ANY_ID, ISAPNP_ANY_ID); | 31 | pnp_convert_id(any, ISAPNP_ANY_ID, ISAPNP_ANY_ID); |
36 | 32 | ||
@@ -38,20 +34,20 @@ struct pnp_card *pnp_find_card(unsigned short vendor, | |||
38 | 34 | ||
39 | while (list != &pnp_cards) { | 35 | while (list != &pnp_cards) { |
40 | struct pnp_card *card = global_to_pnp_card(list); | 36 | struct pnp_card *card = global_to_pnp_card(list); |
41 | if (compare_pnp_id(card->id,id) || (memcmp(id,any,7)==0)) | 37 | |
38 | if (compare_pnp_id(card->id, id) || (memcmp(id, any, 7) == 0)) | ||
42 | return card; | 39 | return card; |
43 | list = list->next; | 40 | list = list->next; |
44 | } | 41 | } |
45 | return NULL; | 42 | return NULL; |
46 | } | 43 | } |
47 | 44 | ||
48 | struct pnp_dev *pnp_find_dev(struct pnp_card *card, | 45 | struct pnp_dev *pnp_find_dev(struct pnp_card *card, unsigned short vendor, |
49 | unsigned short vendor, | 46 | unsigned short function, struct pnp_dev *from) |
50 | unsigned short function, | ||
51 | struct pnp_dev *from) | ||
52 | { | 47 | { |
53 | char id[8]; | 48 | char id[8]; |
54 | char any[8]; | 49 | char any[8]; |
50 | |||
55 | pnp_convert_id(id, vendor, function); | 51 | pnp_convert_id(id, vendor, function); |
56 | pnp_convert_id(any, ISAPNP_ANY_ID, ISAPNP_ANY_ID); | 52 | pnp_convert_id(any, ISAPNP_ANY_ID, ISAPNP_ANY_ID); |
57 | if (card == NULL) { /* look for a logical device from all cards */ | 53 | if (card == NULL) { /* look for a logical device from all cards */ |
@@ -63,7 +59,9 @@ struct pnp_dev *pnp_find_dev(struct pnp_card *card, | |||
63 | 59 | ||
64 | while (list != &pnp_global) { | 60 | while (list != &pnp_global) { |
65 | struct pnp_dev *dev = global_to_pnp_dev(list); | 61 | struct pnp_dev *dev = global_to_pnp_dev(list); |
66 | if (compare_pnp_id(dev->id,id) || (memcmp(id,any,7)==0)) | 62 | |
63 | if (compare_pnp_id(dev->id, id) || | ||
64 | (memcmp(id, any, 7) == 0)) | ||
67 | return dev; | 65 | return dev; |
68 | list = list->next; | 66 | list = list->next; |
69 | } | 67 | } |
@@ -78,7 +76,8 @@ struct pnp_dev *pnp_find_dev(struct pnp_card *card, | |||
78 | } | 76 | } |
79 | while (list != &card->devices) { | 77 | while (list != &card->devices) { |
80 | struct pnp_dev *dev = card_to_pnp_dev(list); | 78 | struct pnp_dev *dev = card_to_pnp_dev(list); |
81 | if (compare_pnp_id(dev->id,id)) | 79 | |
80 | if (compare_pnp_id(dev->id, id)) | ||
82 | return dev; | 81 | return dev; |
83 | list = list->next; | 82 | list = list->next; |
84 | } | 83 | } |