This is the start of a v3 superio refactoring, more will follow. Build-tested on one or two targets.
Uwe.
This is the start of a v3 superio refactoring, more will follow. Build-tested on one or two targets.
for fintek: -static void pnp_enter_conf_state(struct device *dev) -{ - outb(0x87, dev->path.pnp.port); -}
- pnp_enter_conf_state(dev); + pnp_enter_8787(dev);
I don't know that much about SuperIOs, but does it matter that you replaced one outb with two?
At least in pnp_enter_ite() it seems to matter.
Besides that it looks good.
Acked-by: Myles Watson mylesgw@gmail.com
Thanks, Myles
On Tue, Nov 18, 2008 at 3:34 PM, Myles Watson mylesgw@gmail.com wrote:
This is the start of a v3 superio refactoring, more will follow. Build-tested on one or two targets.
for fintek: -static void pnp_enter_conf_state(struct device *dev) -{
outb(0x87, dev->path.pnp.port);
-}
pnp_enter_conf_state(dev);
pnp_enter_8787(dev);
I don't know that much about SuperIOs, but does it matter that you replaced one outb with two?
No, it doesn't, I've used two 0x87s on actual hardware.
-Corey
At least in pnp_enter_ite() it seems to matter.
Besides that it looks good.
Acked-by: Myles Watson mylesgw@gmail.com
On Tue, Nov 18, 2008 at 1:50 PM, Corey Osgood corey.osgood@gmail.comwrote:
On Tue, Nov 18, 2008 at 3:34 PM, Myles Watson mylesgw@gmail.com wrote:
This is the start of a v3 superio refactoring, more will follow. Build-tested on one or two targets.
for fintek: -static void pnp_enter_conf_state(struct device *dev) -{
outb(0x87, dev->path.pnp.port);
-}
pnp_enter_conf_state(dev);
pnp_enter_8787(dev);
I don't know that much about SuperIOs, but does it matter that you replaced one outb with two?
No, it doesn't, I've used two 0x87s on actual hardware.
-Corey
Good to know. Interesting that the second one matters to the ite chip.
Thanks, Myles
At least in pnp_enter_ite() it seems to matter.
Besides that it looks good.
Acked-by: Myles Watson mylesgw@gmail.com
On Tue, Nov 18, 2008 at 02:16:32PM -0700, Myles Watson wrote:
for fintek: -static void pnp_enter_conf_state(struct device *dev) -{
outb(0x87, dev->path.pnp.port);
-}
pnp_enter_conf_state(dev);
pnp_enter_8787(dev);
I don't know that much about SuperIOs, but does it matter that you replaced one outb with two?
No, it doesn't, I've used two 0x87s on actual hardware.
Yep. Also, the same is true for some SMSC Super I/Os which use one 0x55, but 0x55,0x55 will also work. This will just make it "enter" twice and doesn't seem to be a problem.
Good to know. Interesting that the second one matters to the ite chip.
Most ITE chips use a four byte sequence to enter config mode, and the datasheet explicitly defines which four bytes you have to use (depends on the chip _and_ on the config port the chip is located on, which is board-specific). If you change one of the bytes, it won't work anymore, whereas for the 0x87 vs. 0x87,0x87 is still works, it simply works _twice_ :)
Acked-by: Myles Watson mylesgw@gmail.com
Thanks, r1044.
Uwe.