Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 369117
b: refs/heads/master
c: cbafb60
h: refs/heads/master
i:
  369115: fbd3347
v: v3
  • Loading branch information
Gabor Juhos authored and John W. Linville committed Apr 1, 2013
1 parent e8d69cc commit 7ccdd03
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 36 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 86868b26a192260527fe6bdd421eefbdc8c02ead
refs/heads/master: cbafb601cad81de612013fad8daf710ca900015a
80 changes: 45 additions & 35 deletions trunk/drivers/net/wireless/rt2x00/rt2800lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -5431,45 +5431,10 @@ static int rt2800_validate_eeprom(struct rt2x00_dev *rt2x00dev)

static int rt2800_init_eeprom(struct rt2x00_dev *rt2x00dev)
{
u32 reg;
u16 value;
u16 eeprom;
u32 rt;
u32 rev;
u16 rf;

if (rt2x00_rt(rt2x00dev, RT3290))
rt2800_register_read(rt2x00dev, MAC_CSR0_3290, &reg);
else
rt2800_register_read(rt2x00dev, MAC_CSR0, &reg);

rt = rt2x00_get_field32(reg, MAC_CSR0_CHIPSET);
rev = rt2x00_get_field32(reg, MAC_CSR0_REVISION);

switch (rt) {
case RT2860:
case RT2872:
case RT2883:
case RT3070:
case RT3071:
case RT3090:
case RT3290:
case RT3352:
case RT3390:
case RT3572:
case RT5390:
case RT5392:
case RT5592:
break;
default:
ERROR(rt2x00dev,
"Invalid RT chipset 0x%04x, rev %04x detected.\n",
rt, rev);
return -ENODEV;
}

rt2x00_set_rt(rt2x00dev, rt, rev);

/*
* Read EEPROM word for configuration.
*/
Expand Down Expand Up @@ -6067,11 +6032,56 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
return 0;
}

static int rt2800_probe_rt(struct rt2x00_dev *rt2x00dev)
{
u32 reg;
u32 rt;
u32 rev;

if (rt2x00_rt(rt2x00dev, RT3290))
rt2800_register_read(rt2x00dev, MAC_CSR0_3290, &reg);
else
rt2800_register_read(rt2x00dev, MAC_CSR0, &reg);

rt = rt2x00_get_field32(reg, MAC_CSR0_CHIPSET);
rev = rt2x00_get_field32(reg, MAC_CSR0_REVISION);

switch (rt) {
case RT2860:
case RT2872:
case RT2883:
case RT3070:
case RT3071:
case RT3090:
case RT3290:
case RT3352:
case RT3390:
case RT3572:
case RT5390:
case RT5392:
case RT5592:
break;
default:
ERROR(rt2x00dev,
"Invalid RT chipset 0x%04x, rev %04x detected.\n",
rt, rev);
return -ENODEV;
}

rt2x00_set_rt(rt2x00dev, rt, rev);

return 0;
}

int rt2800_probe_hw(struct rt2x00_dev *rt2x00dev)
{
int retval;
u32 reg;

retval = rt2800_probe_rt(rt2x00dev);
if (retval)
return retval;

/*
* Allocate eeprom data.
*/
Expand Down

0 comments on commit 7ccdd03

Please sign in to comment.