char                    *actual_source;
 };
 
+#define PCI_INTX_PIN(c)                (c - 'A' + 1)
+
 /*
  * These systems have incorrect _PRT entries.  The BIOS claims the PCI
  * interrupt at the listed segment/bus/device/pin is connected to the first
  * link device, but it is actually connected to the second.
  */
 static struct prt_quirk prt_quirks[] = {
-       { medion_md9580, 0, 0, 9, 'A',
+       { medion_md9580, 0, 0, 9, PCI_INTX_PIN('A'),
                "\\_SB_.PCI0.ISA_.LNKA",
                "\\_SB_.PCI0.ISA_.LNKB"},
-       { dell_optiplex, 0, 0, 0xd, 'A',
+       { dell_optiplex, 0, 0, 0xd, PCI_INTX_PIN('A'),
                "\\_SB_.LNKB",
                "\\_SB_.LNKA"},
-       { hp_t5710, 0, 0, 1, 'A',
+       { hp_t5710, 0, 0, 1, PCI_INTX_PIN('A'),
                "\\_SB_.PCI0.LNK1",
                "\\_SB_.PCI0.LNK3"},
 };
                    entry->id.segment == quirk->segment &&
                    entry->id.bus == quirk->bus &&
                    entry->id.device == quirk->device &&
-                   pin_name(entry->pin) == quirk->pin &&
+                   entry->pin == quirk->pin &&
                    !strcmp(prt->source, quirk->source) &&
                    strlen(prt->source) >= strlen(quirk->actual_source)) {
                        printk(KERN_WARNING PREFIX "firmware reports "