generic: ar8216: simplify ar8216_config_init
SVN-Revision: 30853
This commit is contained in:
		
							parent
							
								
									31584880bf
								
							
						
					
					
						commit
						a6c69e63b6
					
				@ -892,34 +892,24 @@ ar8216_config_init(struct phy_device *pdev)
 | 
				
			|||||||
		swdev->vlans = AR8216_NUM_VLANS;
 | 
							swdev->vlans = AR8216_NUM_VLANS;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ((ret = register_switch(&priv->dev, pdev->attached_dev)) < 0) {
 | 
						ret = register_switch(&priv->dev, pdev->attached_dev);
 | 
				
			||||||
		kfree(priv);
 | 
						if (ret)
 | 
				
			||||||
		goto done;
 | 
							goto err_free_priv;
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	priv->init = true;
 | 
						priv->init = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (priv->chip == AR8316) {
 | 
						ret = 0;
 | 
				
			||||||
		ret = ar8316_hw_init(priv);
 | 
						if (priv->chip == AR8236)
 | 
				
			||||||
		if (ret) {
 | 
					 | 
				
			||||||
			kfree(priv);
 | 
					 | 
				
			||||||
			goto done;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (priv->chip == AR8236) {
 | 
					 | 
				
			||||||
		ret = ar8236_hw_init(priv);
 | 
							ret = ar8236_hw_init(priv);
 | 
				
			||||||
		if (ret) {
 | 
						else if (priv->chip == AR8316)
 | 
				
			||||||
			kfree(priv);
 | 
							ret = ar8316_hw_init(priv);
 | 
				
			||||||
			goto done;
 | 
					
 | 
				
			||||||
		}
 | 
						if (ret)
 | 
				
			||||||
	}
 | 
							goto err_free_priv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ret = ar8216_reset_switch(&priv->dev);
 | 
						ret = ar8216_reset_switch(&priv->dev);
 | 
				
			||||||
	if (ret) {
 | 
						if (ret)
 | 
				
			||||||
		kfree(priv);
 | 
							goto err_free_priv;
 | 
				
			||||||
		goto done;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	dev->phy_ptr = priv;
 | 
						dev->phy_ptr = priv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -936,7 +926,10 @@ ar8216_config_init(struct phy_device *pdev)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	priv->init = false;
 | 
						priv->init = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
done:
 | 
						return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					err_free_priv:
 | 
				
			||||||
 | 
						kfree(priv);
 | 
				
			||||||
	return ret;
 | 
						return ret;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user