Signed-off-by: Michael Buesch <mbuesch@freenet.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
 #define BCM43xx_BFL_AFTERBURNER                0x0200 /* supports Afterburner mode */
 #define BCM43xx_BFL_NOPCI              0x0400 /* leaves PCI floating */
 #define BCM43xx_BFL_FEM                        0x0800 /* supports the Front End Module */
+#define BCM43xx_BFL_EXTLNA             0x1000 /* has an external LNA */
+#define BCM43xx_BFL_HGPA               0x2000 /* had high gain PA */
+#define BCM43xx_BFL_BTCMOD             0x4000 /* BFL_BTCOEXIST is given in alternate GPIOs */
+#define BCM43xx_BFL_ALTIQ              0x8000 /* alternate I/Q settings */
 
 /* GPIO register offset, in both ChipCommon and PCI core. */
 #define BCM43xx_GPIO_CONTROL           0x6c
 
        if (value == 0xFFFF)
                value = 0x0000;
        bcm->sprom.boardflags = value;
+       /* boardflags workarounds */
+       if (bcm->board_vendor == PCI_VENDOR_ID_DELL &&
+           bcm->chip_id == 0x4301 &&
+           bcm->board_revision == 0x74)
+               bcm->sprom.boardflags |= BCM43xx_BFL_BTCOEXIST;
+       if (bcm->board_vendor == PCI_VENDOR_ID_APPLE &&
+           bcm->board_type == 0x4E &&
+           bcm->board_revision > 0x40)
+               bcm->sprom.boardflags |= BCM43xx_BFL_PACTRL;
 
        /* antenna gain */
        value = sprom[BCM43xx_SPROM_ANTENNA_GAIN];