Messages in this thread | | | Date | Fri, 1 May 2020 17:44:48 +0200 | From | Andrew Lunn <> | Subject | Re: [PATCH RFC v2 08/11] net: stmmac: dwmac-meson8b: add support for the RX delay configuration |
| |
> + if (rx_dly_config & PRG_ETH0_ADJ_ENABLE) { > + /* The timing adjustment logic is driven by a separate clock */ > + ret = meson8b_devm_clk_prepare_enable(dwmac, > + dwmac->timing_adj_clk); > + if (ret) { > + dev_err(dwmac->dev, > + "Failed to enable the timing-adjustment clock\n"); > + return ret; > + } > + }
Hi Martin
It is a while since i used the clk API. I thought the get_optional() call returned a NULL pointer if the clock does not exist. clk_prepare_enable() passed a NULL pointer is a NOP, but it also does not return an error. So if the clock does not exist, you won't get this error, the code keeps going, configures the hardware, but it does not work.
I think you need to check dwmac->timing_adj_clk != NULL here, and error out if DT has properties which require it.
Andrew
| |