[PATCH 20/30] net: eepro100: Fix EE_*_CMD macros

Marek Vasut marek.vasut at gmail.com
Sat May 23 18:38:27 CEST 2020


Those macros depended on specific variable names to be declared
at their usage sites, fix this by adding an argument to those
macros and also protect the argument with braces.

Signed-off-by: Marek Vasut <marek.vasut+renesas at gmail.com>
---
 drivers/net/eepro100.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
index 861d39cf9f..a8d617c7e8 100644
--- a/drivers/net/eepro100.c
+++ b/drivers/net/eepro100.c
@@ -96,10 +96,10 @@
 #define EE_DATA_BITS		16
 
 /* The EEPROM commands include the alway-set leading bit. */
-#define EE_EWENB_CMD		(4 << addr_len)
-#define EE_WRITE_CMD		(5 << addr_len)
-#define EE_READ_CMD		(6 << addr_len)
-#define EE_ERASE_CMD		(7 << addr_len)
+#define EE_EWENB_CMD(addr_len)	(4 << (addr_len))
+#define EE_WRITE_CMD(addr_len)	(5 << (addr_len))
+#define EE_READ_CMD(addr_len)	(6 << (addr_len))
+#define EE_ERASE_CMD(addr_len)	(7 << (addr_len))
 
 /* Receive frame descriptors. */
 struct eepro100_rxfd {
@@ -433,7 +433,7 @@ static int eepro100_txcmd_send(struct eth_device *dev,
 static int read_eeprom(struct eth_device *dev, int location, int addr_len)
 {
 	unsigned short retval = 0;
-	int read_cmd = location | EE_READ_CMD;
+	int read_cmd = location | EE_READ_CMD(addr_len);
 	int i;
 
 	OUTW(dev, EE_ENB & ~EE_CS, SCB_EEPROM);
-- 
2.25.1



More information about the U-Boot mailing list