Re: [PATCH v2] net: ethernet: sun4i-emac: replace magic number with macro

From: Andrew Lunn
Date: Mon Jan 10 2022 - 08:31:51 EST


> @@ -637,7 +637,9 @@ static void emac_rx(struct net_device *dev)
> if (!rxcount) {
> db->emacrx_completed_flag = 1;
> reg_val = readl(db->membase + EMAC_INT_CTL_REG);
> - reg_val |= (0xf << 0) | (0x01 << 8);
> + reg_val |=
> + (EMAC_INT_CTL_TX_EN | EMAC_INT_CTL_TX_ABRT_EN |
> + EMAC_INT_CTL_RX_EN);

Putting the first value on the next line is a bit odd. This would be
preferred:

+ reg_val |= (EMAC_INT_CTL_TX_EN |
+ EMAC_INT_CTL_TX_ABRT_EN |
+ EMAC_INT_CTL_RX_EN);

I also have to wonder why two | have become three? (0x01 << 8) is
clearly a single value. (0xf << 0) should either be a single macro, or
4 macros since 0xf is four bits. Without looking into the details, i
cannot say this is wrong, but it does look strange.

Andrew