Re: [PATCH net-next v7 14/15] net: stmmac: dwmac-s32: add basic NXP S32G/S32R glue driver

From: Andrew Lunn
Date: Mon Dec 02 2024 - 18:44:42 EST


> +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