mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-10 20:38:50 -04:00
stmmac: dwmac-intel-plat: remove redundant dwmac->data check in probe
The driver’s compatibility with devices is confirmed earlier in platform_match(). Since reaching probe means the device is valid, the extra check can be removed to simplify the code. Signed-off-by: Vitalii Mordan <mordan@ispras.ru> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
e867ed3ac8
commit
cc84d89ad8
@@ -97,35 +97,38 @@ static int intel_eth_plat_probe(struct platform_device *pdev)
|
||||
dwmac->dev = &pdev->dev;
|
||||
dwmac->tx_clk = NULL;
|
||||
|
||||
/*
|
||||
* This cannot return NULL at this point because the driver’s
|
||||
* compatibility with the device has already been validated in
|
||||
* platform_match().
|
||||
*/
|
||||
dwmac->data = device_get_match_data(&pdev->dev);
|
||||
if (dwmac->data) {
|
||||
if (dwmac->data->fix_mac_speed)
|
||||
plat_dat->fix_mac_speed = dwmac->data->fix_mac_speed;
|
||||
if (dwmac->data->fix_mac_speed)
|
||||
plat_dat->fix_mac_speed = dwmac->data->fix_mac_speed;
|
||||
|
||||
/* Enable TX clock */
|
||||
if (dwmac->data->tx_clk_en) {
|
||||
dwmac->tx_clk = devm_clk_get(&pdev->dev, "tx_clk");
|
||||
if (IS_ERR(dwmac->tx_clk))
|
||||
return PTR_ERR(dwmac->tx_clk);
|
||||
/* Enable TX clock */
|
||||
if (dwmac->data->tx_clk_en) {
|
||||
dwmac->tx_clk = devm_clk_get(&pdev->dev, "tx_clk");
|
||||
if (IS_ERR(dwmac->tx_clk))
|
||||
return PTR_ERR(dwmac->tx_clk);
|
||||
|
||||
ret = clk_prepare_enable(dwmac->tx_clk);
|
||||
ret = clk_prepare_enable(dwmac->tx_clk);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev,
|
||||
"Failed to enable tx_clk\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Check and configure TX clock rate */
|
||||
rate = clk_get_rate(dwmac->tx_clk);
|
||||
if (dwmac->data->tx_clk_rate &&
|
||||
rate != dwmac->data->tx_clk_rate) {
|
||||
rate = dwmac->data->tx_clk_rate;
|
||||
ret = clk_set_rate(dwmac->tx_clk, rate);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev,
|
||||
"Failed to enable tx_clk\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Check and configure TX clock rate */
|
||||
rate = clk_get_rate(dwmac->tx_clk);
|
||||
if (dwmac->data->tx_clk_rate &&
|
||||
rate != dwmac->data->tx_clk_rate) {
|
||||
rate = dwmac->data->tx_clk_rate;
|
||||
ret = clk_set_rate(dwmac->tx_clk, rate);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev,
|
||||
"Failed to set tx_clk\n");
|
||||
goto err_tx_clk_disable;
|
||||
}
|
||||
"Failed to set tx_clk\n");
|
||||
goto err_tx_clk_disable;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user