Commit b64fd291acd8c921b4757faed1d4dded31c27edf
Committed by
Linus Torvalds
1 parent
b231cca438
Exists in
master
and in
7 other branches
pc8736x_gpio: add support for PC87365 chips
This is only compile tested, because I do not own appropriate hardware. Signed-off-by: Andre Haupt <andre@bitwigglers.org> Cc: Jim Cromie <jim.cromie@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 8 additions and 3 deletions Side-by-side Diff
drivers/char/pc8736x_gpio.c
... | ... | @@ -41,7 +41,8 @@ |
41 | 41 | #define SIO_BASE2 0x4E /* alt command-reg to check */ |
42 | 42 | |
43 | 43 | #define SIO_SID 0x20 /* SuperI/O ID Register */ |
44 | -#define SIO_SID_VALUE 0xe9 /* Expected value in SuperI/O ID Register */ | |
44 | +#define SIO_SID_PC87365 0xe5 /* Expected value in ID Register for PC87365 */ | |
45 | +#define SIO_SID_PC87366 0xe9 /* Expected value in ID Register for PC87366 */ | |
45 | 46 | |
46 | 47 | #define SIO_CF1 0x21 /* chip config, bit0 is chip enable */ |
47 | 48 | |
48 | 49 | |
49 | 50 | |
... | ... | @@ -91,13 +92,17 @@ |
91 | 92 | |
92 | 93 | static int pc8736x_superio_present(void) |
93 | 94 | { |
95 | + int id; | |
96 | + | |
94 | 97 | /* try the 2 possible values, read a hardware reg to verify */ |
95 | 98 | superio_cmd = SIO_BASE1; |
96 | - if (superio_inb(SIO_SID) == SIO_SID_VALUE) | |
99 | + id = superio_inb(SIO_SID); | |
100 | + if (id == SIO_SID_PC87365 || id == SIO_SID_PC87366) | |
97 | 101 | return superio_cmd; |
98 | 102 | |
99 | 103 | superio_cmd = SIO_BASE2; |
100 | - if (superio_inb(SIO_SID) == SIO_SID_VALUE) | |
104 | + id = superio_inb(SIO_SID); | |
105 | + if (id == SIO_SID_PC87365 || id == SIO_SID_PC87366) | |
101 | 106 | return superio_cmd; |
102 | 107 | |
103 | 108 | return 0; |