diff options
Diffstat (limited to 'drivers/net/dsa/microchip/ksz_common.h')
| -rw-r--r-- | drivers/net/dsa/microchip/ksz_common.h | 9 | 
1 files changed, 3 insertions, 6 deletions
| diff --git a/drivers/net/dsa/microchip/ksz_common.h b/drivers/net/dsa/microchip/ksz_common.h index 2e6bfd333f50..1597c63988b4 100644 --- a/drivers/net/dsa/microchip/ksz_common.h +++ b/drivers/net/dsa/microchip/ksz_common.h @@ -27,6 +27,7 @@ struct ksz_port_mib {  struct ksz_port {  	u16 member;  	u16 vid_member; +	bool remove_tag;		/* Remove Tag flag set, for ksz8795 only */  	int stp_state;  	struct phy_device phydev; @@ -205,12 +206,8 @@ static inline int ksz_read64(struct ksz_device *dev, u32 reg, u64 *val)  	int ret;  	ret = regmap_bulk_read(dev->regmap[2], reg, value, 2); -	if (!ret) { -		/* Ick! ToDo: Add 64bit R/W to regmap on 32bit systems */ -		value[0] = swab32(value[0]); -		value[1] = swab32(value[1]); -		*val = swab64((u64)*value); -	} +	if (!ret) +		*val = (u64)value[0] << 32 | value[1];  	return ret;  } |