From: Wadim Egorov <w.egorov@xxxxxxxxx> Date: Wed, 22 Mar 2017 16:50:22 +0100 > @@ -74,6 +74,10 @@ struct rk_priv_data { > #define GRF_BIT(nr) (BIT(nr) | BIT(nr+16)) > #define GRF_CLR_BIT(nr) (BIT(nr+16)) > > +#define DELAY_ENABLE(soc, tx, rx) \ > + ((tx) ? soc##_GMAC_TXCLK_DLY_ENABLE : soc##_GMAC_TXCLK_DLY_DISABLE | \ > + (rx) ? soc##_GMAC_RXCLK_DLY_ENABLE : soc##_GMAC_RXCLK_DLY_DISABLE) This doesn't evaluate the way you want it to. You need to put parenthesis around both "x ? a : b" expressions.