.../stmicro/stmmac/dwmac-intel-plat.c | 64 +++++++++---------- 1 file changed, 31 insertions(+), 33 deletions(-)
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>
---
.../stmicro/stmmac/dwmac-intel-plat.c | 64 +++++++++----------
1 file changed, 31 insertions(+), 33 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c
index d68f0c4e7835..9139b2b1bf0b 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c
@@ -98,46 +98,44 @@ static int intel_eth_plat_probe(struct platform_device *pdev)
dwmac->tx_clk = NULL;
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;
-
- /* 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);
-
- clk_prepare_enable(dwmac->tx_clk);
-
- /* 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");
- return ret;
- }
- }
- }
-
- /* Check and configure PTP ref clock rate */
- rate = clk_get_rate(plat_dat->clk_ptp_ref);
- if (dwmac->data->ptp_ref_clk_rate &&
- rate != dwmac->data->ptp_ref_clk_rate) {
- rate = dwmac->data->ptp_ref_clk_rate;
- ret = clk_set_rate(plat_dat->clk_ptp_ref, rate);
+ 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);
+
+ clk_prepare_enable(dwmac->tx_clk);
+
+ /* 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 clk_ptp_ref\n");
+ "Failed to set tx_clk\n");
return ret;
}
}
}
+ /* Check and configure PTP ref clock rate */
+ rate = clk_get_rate(plat_dat->clk_ptp_ref);
+ if (dwmac->data->ptp_ref_clk_rate &&
+ rate != dwmac->data->ptp_ref_clk_rate) {
+ rate = dwmac->data->ptp_ref_clk_rate;
+ ret = clk_set_rate(plat_dat->clk_ptp_ref, rate);
+ if (ret) {
+ dev_err(&pdev->dev,
+ "Failed to set clk_ptp_ref\n");
+ return ret;
+ }
+ }
+
plat_dat->bsp_priv = dwmac;
plat_dat->eee_usecs_rate = plat_dat->clk_ptp_rate;
--
2.25.1
On Mon, Sep 30, 2024 at 09:39:26PM +0300, Vitalii Mordan wrote: > 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. > > dwmac->data = device_get_match_data(&pdev->dev); > - if (dwmac->data) { You say this cannot fail, but my guess is, there are static code analysers which cannot determine it cannot fail. As a result, those developers blindly following bots are going to want to test the return value from device_get_match_data(). You might want to prevent such patches by adding a comment: /* This cannot fail because.... Andrew
© 2016 - 2024 Red Hat, Inc.