Re: [PATCH 2/4] net: stmmac: dwc-qos: Add FSD EQoS support

From: Andrew Lunn
Date: Fri Nov 04 2022 - 11:26:33 EST


> +static int dwc_eqos_setup_rxclock(struct platform_device *pdev)
> +{
> + struct device_node *np = pdev->dev.of_node;
> +
> + if (np && of_property_read_bool(np, "rx-clock-mux")) {
> + unsigned int reg, val;
> + struct regmap *syscon = syscon_regmap_lookup_by_phandle(np,
> + "rx-clock-mux");
> +
> + if (IS_ERR(syscon)) {
> + dev_err(&pdev->dev, "couldn't get the rx-clock-mux syscon!\n");
> + return PTR_ERR(syscon);
> + }
> +
> + if (of_property_read_u32_index(np, "rx-clock-mux", 1, &reg)) {
> + dev_err(&pdev->dev, "couldn't get the rx-clock-mux reg. offset!\n");
> + return -EINVAL;
> + }
> +
> + if (of_property_read_u32_index(np, "rx-clock-mux", 2, &val)) {
> + dev_err(&pdev->dev, "couldn't get the rx-clock-mux reg. val!\n");
> + return -EINVAL;
> + }
> +
> + regmap_write(syscon, reg, val);

This appears to be one of those binds which allows any magic value to
be placed into any register. That is not how DT should be used.

Andrew