@@ -123,11 +123,12 @@ static const char* detectWithDdcci(FF_MAYBE_UNUSED const FFDisplayServerResult*
123123 return NULL ;
124124}
125125#else
126- static IOOptionBits getSupportedTransactionType (void ) {
126+ static IOOptionBits getSupportedTransactionType (void )
127+ {
127128 FF_IOOBJECT_AUTO_RELEASE io_iterator_t iterator = IO_OBJECT_NULL ;
128129
129130 if (IOServiceGetMatchingServices (MACH_PORT_NULL , IOServiceNameMatching ("IOFramebufferI2CInterface" ), & iterator ) != KERN_SUCCESS )
130- return 0 ;
131+ return kIOI2CNoTransactionType ;
131132
132133 io_registry_entry_t registryEntry ;
133134 while ((registryEntry = IOIteratorNext (iterator )) != MACH_PORT_NULL )
@@ -145,22 +146,20 @@ static IOOptionBits getSupportedTransactionType(void) {
145146 return kIOI2CDDCciReplyTransactionType ;
146147 if ((1 << kIOI2CSimpleTransactionType ) & (uint64_t ) types )
147148 return kIOI2CSimpleTransactionType ;
148- if ((1 << kIOI2CCombinedTransactionType ) & (uint64_t ) types )
149- return kIOI2CCombinedTransactionType ;
150- if ((1 << kIOI2CDisplayPortNativeTransactionType ) & (uint64_t ) types )
151- return kIOI2CDisplayPortNativeTransactionType ;
152149 }
153150 }
154151 break ;
155152 }
156153
157- return 0 ;
154+ return kIOI2CNoTransactionType ;
158155}
159156
160157static const char * detectWithDdcci (const FFDisplayServerResult * displayServer , FFBrightnessOptions * options , FFlist * result )
161158{
162159 if (!CGSServiceForDisplayNumber ) return "CGSServiceForDisplayNumber is not available" ;
163160 IOOptionBits transactionType = getSupportedTransactionType ();
161+ if (transactionType == kIOI2CNoTransactionType )
162+ return "No supported IOI2C transaction type found" ;
164163
165164 FF_LIST_FOR_EACH (FFDisplayResult , display , displayServer -> displays )
166165 {
0 commit comments