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:
		 Chuanhong Guo
					Chuanhong Guo
				
			
				
					committed by
					
						 Petr Štetiar
						Petr Štetiar
					
				
			
			
				
	
			
			
			 Petr Štetiar
						Petr Štetiar
					
				
			
						parent
						
							3771176c9e
						
					
				
				
					commit
					15323c4ef8
				
			| @@ -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: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user