@@ -36,15 +36,14 @@ IOReturn ALCUserClient::externalMethod(uint32_t selector, IOExternalMethodArgume
36
36
}
37
37
38
38
#else
39
- IOExternalMethodACID ALCUserClient::sMethodsLegacy [kNumberOfMethods ] = {
39
+ IOExternalMethod ALCUserClient::sMethodsLegacy [kNumberOfMethods ] = {
40
40
{ // kMethodExecuteVerb
41
41
NULL ,
42
- #if defined(__i386__)
43
- kIOExternalMethodACIDPadding ,
44
- #endif
45
- (IOMethodACID) sendHdaCommandInternal,
46
- #if defined(__x86_64__)
47
- kIOExternalMethodACIDPadding ,
42
+ #if (defined(__i386__) && defined(__clang__))
43
+ kIOExternalMethodACID32Padding ,
44
+ (IOMethodACID32) &ALCUserClient::sendHdaCommandInternal,
45
+ #else
46
+ (IOMethod) &ALCUserClient::sendHdaCommandInternal,
48
47
#endif
49
48
kIOUCScalarIScalarO ,
50
49
3 ,
@@ -60,8 +59,13 @@ IOExternalMethod* ALCUserClient::getTargetAndMethodForIndex(IOService **targetP,
60
59
return reinterpret_cast <IOExternalMethod*>(&sMethodsLegacy [index ]);
61
60
}
62
61
62
+ #if (defined(__i386__) && defined(__clang__))
63
63
IOReturn ALCUserClient::sendHdaCommandInternal (ALCUserClient *that, uint16_t nid, uint16_t verb, uint16_t param, uint64_t *outVal) {
64
64
*outVal = that->mProvider ->sendHdaCommand (nid, verb, param);
65
+ #else
66
+ IOReturn ALCUserClient::sendHdaCommandInternal (uint16_t nid, uint16_t verb, uint16_t param, uint64_t *outVal) {
67
+ *outVal = mProvider ->sendHdaCommand (nid, verb, param);
68
+ #endif
65
69
return kIOReturnSuccess ;
66
70
}
67
71
#endif
0 commit comments