[PATCH phy-next 10/13] phy: lynx-28g: add support for big endian register maps

sashiko-bot at kernel.org sashiko-bot at kernel.org
Thu May 28 10:47:57 PDT 2026


Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Returning an expression in a function with a 'void' return type is a constraint violation in standard C.
--

commit f3cbe0a1122ada7c6725f37e9dc47932febfd4ad
Author: Vladimir Oltean <vladimir.oltean at nxp.com>

phy: lynx-28g: add support for big endian register maps

This commit adds support for big-endian 10G Lynx SerDes blocks. It reads
the "big-endian" device tree property and updates the lynx_read() and
lynx_write() accessors to use the appropriate ioread32be/iowrite32be or
ioread32/iowrite32 variants based on the endianness.

> diff --git a/drivers/phy/freescale/phy-fsl-lynx-core.h b/drivers/phy/freescale/phy-fsl-lynx-core.h
> index e8b280cc9b38c..d82e529fa65a6 100644
> --- a/drivers/phy/freescale/phy-fsl-lynx-core.h
> +++ b/drivers/phy/freescale/phy-fsl-lynx-core.h

[ ... ]

> @@ -58,36 +58,52 @@ struct lynx_priv {
>  	 * like PCCn
>  	 */
>  	spinlock_t pcc_lock;
> +	bool big_endian;
>  	struct lynx_pll pll[LYNX_NUM_PLL];
>  	struct lynx_lane *lane;
>  
>  	struct delayed_work cdr_check;
>  };
>  
> +static inline u32 lynx_read(struct lynx_priv *priv, unsigned long off)
> +{
> +	void __iomem *reg = priv->base + off;
> +
> +	if (priv->big_endian)
> +		return ioread32be(reg);
> +
> +	return ioread32(reg);
> +}
> +
> +static inline void lynx_write(struct lynx_priv *priv, unsigned long off, u32 val)
> +{
> +	void __iomem *reg = priv->base + off;
> +
> +	if (priv->big_endian)
> +		return iowrite32be(val, reg);

[Severity: Low]
Does this code unintentionally return a void expression? 

The lynx_write() function is declared with a void return type, but it uses
the return keyword before calling iowrite32be() and iowrite32() which also 
evaluate to void.

While GNU C allows returning a void expression as an extension, standard C 
does not permit it, and it could trigger warnings in strict static analysis 
tools. Would it be better to just drop the return keywords here?

> +
> +	return iowrite32(val, reg);
> +}

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260528172404.733196-1-vladimir.oltean@nxp.com?part=10



More information about the linux-phy mailing list