[PATCH net-next v7 14/15] net: stmmac: dwmac-s32: add basic NXP S32G/S32R glue driver
Andrew Lunn
andrew at lunn.ch
Mon Dec 2 15:43:58 PST 2024
> +static int s32_gmac_init(struct platform_device *pdev, void *priv)
> +{
> + struct s32_priv_data *gmac = priv;
> + int ret;
> +
> + ret = clk_set_rate(gmac->tx_clk, GMAC_TX_RATE_125M);
> + if (!ret)
> + ret = clk_prepare_enable(gmac->tx_clk);
> +
> + if (ret) {
> + dev_err(&pdev->dev, "Can't set tx clock\n");
> + return ret;
> + }
The ordering is a bit odd here. Normally you would test each operation
individually for errors. So:
ret = clk_set_rate(gmac->tx_clk, GMAC_TX_RATE_125M);
if (ret) {
dev_err(&pdev->dev, "Can't set tx clock\n");
return ret;
}
ret = clk_prepare_enable(gmac->tx_clk);
if (ret) {
dev_err(&pdev->dev, "Can't enable tx clock\n");
return ret;
}
> +
> + ret = clk_prepare_enable(gmac->rx_clk);
> + if (ret) {
> + clk_disable_unprepare(gmac->tx_clk);
> + dev_err(&pdev->dev, "Can't set rx clock\n");
> + return ret;
> + }
Is there no need to set the TX clock rate?
Andrew
More information about the linux-arm-kernel
mailing list