generic: ar8216: move chip id reading into a separate function
for mdio-device probing we still need to read chip id but ar8xxx_chip can be determined using drvdata. We can't distinguish the buggy standalone ar8216 and the builtin ar8216 in ar724x/ar933x using chip id. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
This commit is contained in:
parent
3771176c9e
commit
15323c4ef8
1 changed files with 12 additions and 1 deletions
|
@ -1813,7 +1813,7 @@ static const struct ar8xxx_chip ar8316_chip = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ar8xxx_id_chip(struct ar8xxx_priv *priv)
|
ar8xxx_read_id(struct ar8xxx_priv *priv)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
u16 id;
|
u16 id;
|
||||||
|
@ -1838,6 +1838,17 @@ ar8xxx_id_chip(struct ar8xxx_priv *priv)
|
||||||
|
|
||||||
priv->chip_ver = (id & AR8216_CTRL_VERSION) >> AR8216_CTRL_VERSION_S;
|
priv->chip_ver = (id & AR8216_CTRL_VERSION) >> AR8216_CTRL_VERSION_S;
|
||||||
priv->chip_rev = (id & AR8216_CTRL_REVISION);
|
priv->chip_rev = (id & AR8216_CTRL_REVISION);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
ar8xxx_id_chip(struct ar8xxx_priv *priv)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = ar8xxx_read_id(priv);
|
||||||
|
if(ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
switch (priv->chip_ver) {
|
switch (priv->chip_ver) {
|
||||||
case AR8XXX_VER_AR8216:
|
case AR8XXX_VER_AR8216:
|
||||||
|
|
Loading…
Reference in a new issue