- // Ordered highest power state in the power array.
- IOPMPowerStateIndex HighestPowerState;
-
- // Power state array.
- IOPMPSEntry * PowerStates;
-
- // The controlling driver.
- IOService * ControllingDriver;
-
- // Our current power state.
- IOPMPowerStateIndex CurrentPowerState;
-
- // Logical OR of power flags for each power domain parent.
- IOPMPowerFlags ParentsCurrentPowerFlags;
-
- // The highest power state we can achieve in current power domain.
- IOPMPowerStateIndex MaxPowerState;
-
- // Logical OR of all output power flags in the power state array.
- IOPMPowerFlags MergedOutputPowerFlags;
-
- // OSArray which manages responses from notified apps and clients.
- OSArray * ResponseArray;
- OSArray * NotifyClientArray;
-
- // Used to uniquely identify power management notification to apps and clients.
- UInt16 SerialNumber;
-
- // Used to communicate desired function to tellClientsWithResponse().
- // This is used because it avoids changing the signatures of the affected virtual methods.
- int OutOfBandParameter;
-
- AbsoluteTime DriverCallStartTime;
- IOPMPowerFlags CurrentCapabilityFlags;
- unsigned long CurrentPowerConsumption;
- IOPMPowerStateIndex TempClampPowerState;
- OSArray * NotifyChildArray;
- OSDictionary * PowerClients;
- thread_call_t DriverCallEntry;
- void * DriverCallParamPtr;
- IOItemCount DriverCallParamCount;
- IOItemCount DriverCallParamSlots;
- uint32_t DriverCallReason;
- uint32_t OutOfBandMessage;
- uint32_t TempClampCount;
- uint32_t OverrideMaxPowerState;
- uint32_t DeviceUsablePowerState;
-
- // Protected by ActivityLock - BEGIN
- IOPMPowerStateIndex ActivityTicklePowerState;
- IOPMPowerStateIndex AdvisoryTicklePowerState;
- uint32_t ActivityTickleCount;
- uint32_t DeviceWasActive : 1;
- uint32_t AdvisoryTickled : 1;
- // Protected by ActivityLock - END
-
- uint32_t WaitReason;
- uint32_t SavedMachineState;
-
- // Protected by PMLock - BEGIN
- struct {
- uint32_t PMStop : 1;
- uint32_t PMDriverCallWait : 1;
- } LockedFlags;
-
- queue_head_t PMDriverCallQueue;
- OSSet * InsertInterestSet;
- OSSet * RemoveInterestSet;
-
- // IOReporter Data
- uint32_t ReportClientCnt;
- void * ReportBuf;
- // Protected by PMLock - END
+// Ordered highest power state in the power array.
+ IOPMPowerStateIndex HighestPowerState;
+
+// Power state array.
+ IOPMPSEntry * PowerStates;
+
+// The controlling driver.
+ IOService * ControllingDriver;
+
+// Our current power state.
+ IOPMPowerStateIndex CurrentPowerState;
+
+// Logical OR of power flags for each power domain parent.
+ IOPMPowerFlags ParentsCurrentPowerFlags;
+
+// The highest power state we can achieve in current power domain.
+ IOPMPowerStateIndex MaxPowerState;
+
+// Logical OR of all output power flags in the power state array.
+ IOPMPowerFlags MergedOutputPowerFlags;
+
+// OSArray which manages responses from notified apps and clients.
+ OSArray * ResponseArray;
+ OSArray * NotifyClientArray;
+
+// Used to uniquely identify power management notification to apps and clients.
+ UInt16 SerialNumber;
+
+// Used to communicate desired function to tellClientsWithResponse().
+// This is used because it avoids changing the signatures of the affected virtual methods.
+ int OutOfBandParameter;
+
+ AbsoluteTime DriverCallStartTime;
+ IOPMPowerFlags CurrentCapabilityFlags;
+ unsigned long CurrentPowerConsumption;
+ IOPMPowerStateIndex TempClampPowerState;
+ OSArray * NotifyChildArray;
+ OSDictionary * PowerClients;
+ thread_call_t DriverCallEntry;
+ void * DriverCallParamPtr;
+ IOItemCount DriverCallParamCount;
+ IOItemCount DriverCallParamSlots;
+ uint32_t DriverCallReason;
+ uint32_t OutOfBandMessage;
+ uint32_t TempClampCount;
+ uint32_t OverrideMaxPowerState;
+ uint32_t DeviceUsablePowerState;
+
+// Protected by ActivityLock - BEGIN
+ IOPMPowerStateIndex ActivityTicklePowerState;
+ IOPMPowerStateIndex AdvisoryTicklePowerState;
+ uint32_t ActivityTickleCount;
+ uint32_t DeviceWasActive : 1;
+ uint32_t AdvisoryTickled : 1;
+// Protected by ActivityLock - END
+
+ uint32_t WaitReason;
+ uint32_t SavedMachineState;
+
+// Protected by PMLock - BEGIN
+ struct {
+ uint32_t PMStop : 1;
+ uint32_t PMDriverCallWait : 1;
+ } LockedFlags;
+
+ queue_head_t PMDriverCallQueue;
+ OSSet * InsertInterestSet;
+ OSSet * RemoveInterestSet;
+
+// IOReporter Data
+ uint32_t ReportClientCnt;
+ void * ReportBuf;
+// Protected by PMLock - END