rt2800usb: add eFuse EEPROM support
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Sun, 8 Nov 2009 13:39:55 +0000 (14:39 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 11 Nov 2009 22:09:16 +0000 (17:09 -0500)
It is needed for at least RT3070 chip.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2800usb.c

index a6b0484d5816ea60c2aac0d2735b25493f396533..54afbc8378df269a20b878f04e6ebae4656f0b12 100644 (file)
@@ -667,7 +667,11 @@ static void rt2800usb_fill_rxdone(struct queue_entry *entry,
  */
 static int rt2800usb_validate_eeprom(struct rt2x00_dev *rt2x00dev)
 {
-       rt2x00usb_eeprom_read(rt2x00dev, rt2x00dev->eeprom, EEPROM_SIZE);
+       if (rt2800_efuse_detect(rt2x00dev))
+               rt2800_read_eeprom_efuse(rt2x00dev);
+       else
+               rt2x00usb_eeprom_read(rt2x00dev, rt2x00dev->eeprom,
+                                     EEPROM_SIZE);
 
        return rt2800_validate_eeprom(rt2x00dev);
 }