Will Mansell
2010-07-12 11:37:36 UTC
I am writing a device driver for an IT871F on POSReady. The idea is to track
voltages and temperatures.
The INF file contains the correct IO port.
[dogwatch_Device.NT]
CopyFiles=dogwatch_Device.NT.Copy
LogConfig=PortIO.LC0
[PortIO.LC0]
ConfigPriority=HARDRECONFIG
IOConfig=A10-A1F
Unfortunately this generates a resource conflict with motherboard resources.
Disabling the motherboard resources in device manager doesn't resolve the
conflict.
In similar drivers such as GiveIO undocumented kernel calls such as
ke386SetIoAccessMap are used to access this IO range and testing shows that
this method works. I don't want to use this in my driver since the call may
be non-existent in future versions of windows and I don't want to give io
access to anything in user space.
The other option is to use the smbus/I2c but then there would be
synchronization issues.
What is the correct way to address this IO space and how do I resolve the
conflict.
Thanks
Will
voltages and temperatures.
The INF file contains the correct IO port.
[dogwatch_Device.NT]
CopyFiles=dogwatch_Device.NT.Copy
LogConfig=PortIO.LC0
[PortIO.LC0]
ConfigPriority=HARDRECONFIG
IOConfig=A10-A1F
Unfortunately this generates a resource conflict with motherboard resources.
Disabling the motherboard resources in device manager doesn't resolve the
conflict.
In similar drivers such as GiveIO undocumented kernel calls such as
ke386SetIoAccessMap are used to access this IO range and testing shows that
this method works. I don't want to use this in my driver since the call may
be non-existent in future versions of windows and I don't want to give io
access to anything in user space.
The other option is to use the smbus/I2c but then there would be
synchronization issues.
What is the correct way to address this IO space and how do I resolve the
conflict.
Thanks
Will