Commit b64fd291acd8c921b4757faed1d4dded31c27edf

Authored by Andre Haupt
Committed by Linus Torvalds
1 parent b231cca438

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;