]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/IOKit/pci/IOPCIDevice.h
xnu-344.tar.gz
[apple/xnu.git] / iokit / IOKit / pci / IOPCIDevice.h
index 43c4fbeade0f0b00018e60165964d20167a14e68..158e85a2a7689cf4a793f30caf4e76ab3d5ae126 100644 (file)
@@ -149,6 +149,14 @@ struct IOPCIPhysicalAddress {
 #define kIOPCISecondaryMatchKey                "IOPCISecondaryMatch"
 #define kIOPCIClassMatchKey            "IOPCIClassMatch"
 
+// property to control PCI default config space save on sleep
+#define kIOPMPCIConfigSpaceVolatileKey "IOPMPCIConfigSpaceVolatile"
+
+enum {
+    kIOPCIDevicePowerStateCount = 3,
+    kIOPCIDeviceOffState       = 0,
+    kIOPCIDeviceOnState                = 2
+};
 
 /*! @class IOPCIDevice : public IOService
     @abstract An IOService class representing a PCI device.
@@ -241,12 +249,8 @@ public:
     /* IOService/IORegistryEntry methods */
 
     virtual bool attach( IOService * provider );
-    virtual unsigned long maxCapabilityForDomainState( IOPMPowerFlags );
-    virtual unsigned long initialPowerStateForDomainState( IOPMPowerFlags );
-    virtual unsigned long powerStateForDomainState( IOPMPowerFlags );
+    virtual void detach( IOService * provider );
     virtual IOReturn setPowerState( unsigned long, IOService * );
-    virtual IOReturn addPowerChild ( IOService * theChild );
-    virtual void joinPMtree( IOService * driver );
     virtual bool compareName( OSString * name, OSString ** matched = 0 ) const;
     virtual bool matchPropertyTable( OSDictionary *    table,
                                      SInt32       *    score );
@@ -394,7 +398,8 @@ public:
 /*! @function mapDeviceMemoryWithRegister
     @abstract Maps a physical range of the device.
     @discussion This method will create a mapping for the IODeviceMemory for the physical memory range that was assigned to the configuration space base address register passed in, with IODeviceMemory::map(options). The mapping is represented by the returned instance of IOMemoryMap, which should not be released until the mapping is no longer required. This method is analogous to IOService::mapDeviceMemoryWithIndex.
-    @param index An index into the array of ranges assigned to the device.
+    @param reg The 8-bit configuration space register that is the base address register for the desired range.
+    @param options Options to be passed to the IOMemoryDescriptor::map() method.
     @result An instance of IOMemoryMap, or zero if the index is beyond the count available. The mapping should be released only when access to it is no longer required. */
 
     virtual IOMemoryMap * mapDeviceMemoryWithRegister( UInt8 reg,