[PATCH] I2C: fix oops w83781d during rmmod
This fixes the oops during w83781d module removal by putting the subclient registration back in. While I was in there, I split w83781d_detect in half in an attempt to reduce the goto madness. So, the /sys tree looks like this, where 48 & 49 are the subclients. There are no entries (besides name & power) for the subclients. /sys/bus/i2c/ |-- devices | |-- 0-002d -> ../../../devices/pci0/00:02.1/i2c-0/0-002d | |-- 0-0048 -> ../../../devices/pci0/00:02.1/i2c-0/0-0048 | `-- 0-0049 -> ../../../devices/pci0/00:02.1/i2c-0/0-0049 `-- drivers |-- i2c_adapter `-- w83781d |-- 0-002d -> ../../../../devices/pci0/00:02.1/i2c-0/0-002d |-- 0-0048 -> ../../../../devices/pci0/00:02.1/i2c-0/0-0048 `-- 0-0049 -> ../../../../devices/pci0/00:02.1/i2c-0/0-0049 Also, I fixed a bug where this driver would request and release an ISA region, then poke around in that region, then finally request it again. This patch against 2.5.70 works for me vs. an SMBus adapter. It needs re-testing against an ISA adapter since my particular chip is SMBus only.
Showing
This diff is collapsed.
Please register or sign in to comment