i2c-ali1563: Fix device initialization
authorJean Delvare <khali@linux-fr.org>
Tue, 13 Feb 2007 21:08:57 +0000 (22:08 +0100)
committerJean Delvare <khali@arrakis.delvare>
Tue, 13 Feb 2007 21:08:57 +0000 (22:08 +0100)
commit849be516c57501ec4729bde51babc25a7b073b65
tree21479c5d7f1a4aecccea7cf6338285726fd19ff0
parent69735698312f6f5e47001cf62dc678f591b6a6de
i2c-ali1563: Fix device initialization

The i2c-ali1563 initialization looks quite broken to me:
* If the I/O space isn't enabled, we forcibly set 3 bits in
  the PCI configuration space instead of just the one enabling
  the I/O space.
* After that we pretend to check if the write worked, but we
  don't actually read the new value from the register.
* It's probably not a good idea to enable the I/O space if no
  base address has been set.

So I propose the following changes to that part of the driver:
* Merge ali1563_enable() into ali1563_setup().
* Check the base address before the I/O space enabled bit.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Rudolf Marek <r.marek@assembler.cz>
drivers/i2c/busses/i2c-ali1563.c