diff -rupN radeonvolt/radeonvolt.c radeonvolt.new/radeonvolt.c --- radeonvolt/radeonvolt.c 2012-01-26 00:09:47.496264544 -0500 +++ radeonvolt.new/radeonvolt.c 2012-01-25 07:45:25.714253405 -0500 @@ -98,8 +98,7 @@ unsigned int enum_cards() pci_scan_bus(pci); for(dev = pci->devices; dev && num_cards < MAX_CARDS; dev = dev->next) { - if(dev->device_class == PCI_CLASS_DISPLAY_VGA && - dev->vendor_id == 0x1002 && dev->device_id == 0x6899) { + if(dev->device_class == PCI_CLASS_DISPLAY_VGA || dev->device_class == PCI_CLASS_DISPLAY_OTHER) { card = NULL; for(i = 0; i < 6 && !card; i++) { @@ -172,7 +171,7 @@ void show_info(struct card *card, struct } if(vt1165_vid_mode(i2c) == 3) { - float voltage = vt1165_get_voltage(i2c, 2); + float voltage = vt1165_get_voltage(i2c, 3); float current = vt1165_avg_current(i2c); printf("\tCurrent core voltage: %.4f V\n", voltage); @@ -244,7 +243,7 @@ int main(int argc, char *argv[]) if(vddc < MAX_VOLTAGE) { u8 value = (u8)((vddc - 0.450f) / 0.0125f); printf("Setting vddc of device %d to %.4f V (%#02x)\n", cards[i].bus, vddc, value); - vt1165_set_voltage(&i2c, 2, value); + vt1165_set_voltage(&i2c, 3, value); } else { fprintf(stderr, "Specified vddc (%.4f V) doesn't seem sane. Not setting..\n", vddc); }