VoodooTSCSync

View bgm.diff

1Index: VoodooTSCSync.cpp
2===================================================================
3--- VoodooTSCSync.cpp(revision 2)
4+++ VoodooTSCSync.cpp(working copy)
5@@ -27,12 +27,32 @@
6 return true;
7 }
8
9+static IOPMPowerState powerStates[2] = {
10+ {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
11+ {1, kIOPMPowerOn, kIOPMPowerOn, kIOPMPowerOn, 0, 0, 0, 0, 0, 0, 0, 0}
12+};
13+
14+IOReturn org_voodoo_driver_VoodooTSCSync::setPowerState(unsigned long powerStateOrdinal, IOService *whatDevice ) {
15+ if (powerStateOrdinal)
16+ this->doTSC();
17+ return IOPMAckImplied;
18+}
19+
20+void org_voodoo_driver_VoodooTSCSync::stop(IOService *provider)
21+{
22+ PMstop();
23+ super::stop(provider);
24+}
25+
26+
27 bool org_voodoo_driver_VoodooTSCSync::start(IOService *provider)
28
29 {
30 if (!super::start(provider)){ return false; }
31 countCalled = 0;
32-this->doTSC();
33+ PMinit();
34+ registerPowerDriver(this, powerStates, 2);
35+ provider->joinPMtree(this);
36 return true;
37
38 }
39Index: VoodooTSCSync.h
40===================================================================
41--- VoodooTSCSync.h(revision 2)
42+++ VoodooTSCSync.h(working copy)
43@@ -42,4 +42,7 @@
44
45 virtual bool init(OSDictionary *dictionary = 0);
46 virtual bool start(IOService *provider);
47+ virtual void stop(IOService *provider);
48+ virtual IOReturn setPowerState(unsigned long powerStateOrdinal, IOService *whatDevice);
49+
50 };
51

Archive Download this file

Attachment to issue 228

Created: 12 years 1 month ago by Cosmosis Jones