* Subject: [RFC][PATCH 10/11] dwc-xlgmac: fix big-endian breakage
@ 2018-01-05 19:32 Al Viro
2018-01-08 3:35 ` Jie Deng
0 siblings, 1 reply; 2+ messages in thread
From: Al Viro @ 2018-01-05 19:32 UTC (permalink / raw)
To: netdev; +Cc: jiedeng, Deng, Jie
Users of XLGMAC_SET_REG_BITS_LE() expect it to take le32 and return
le32.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
drivers/net/ethernet/synopsys/dwc-xlgmac.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/synopsys/dwc-xlgmac.h b/drivers/net/ethernet/synopsys/dwc-xlgmac.h
index cab3e40a86b9..e95c4c250e16 100644
--- a/drivers/net/ethernet/synopsys/dwc-xlgmac.h
+++ b/drivers/net/ethernet/synopsys/dwc-xlgmac.h
@@ -106,7 +106,7 @@
#define XLGMAC_GET_REG_BITS_LE(var, pos, len) ({ \
typeof(pos) _pos = (pos); \
typeof(len) _len = (len); \
- typeof(var) _var = le32_to_cpu((var)); \
+ u32 _var = le32_to_cpu((var)); \
((_var) & GENMASK(_pos + _len - 1, _pos)) >> (_pos); \
})
@@ -125,8 +125,8 @@
typeof(len) _len = (len); \
typeof(val) _val = (val); \
_val = (_val << _pos) & GENMASK(_pos + _len - 1, _pos); \
- _var = (_var & ~GENMASK(_pos + _len - 1, _pos)) | _val; \
- cpu_to_le32(_var); \
+ (_var & ~cpu_to_le32(GENMASK(_pos + _len - 1, _pos))) | \
+ cpu_to_le32(_val); \
})
struct xlgmac_pdata;
--
2.11.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: Subject: [RFC][PATCH 10/11] dwc-xlgmac: fix big-endian breakage
2018-01-05 19:32 Subject: [RFC][PATCH 10/11] dwc-xlgmac: fix big-endian breakage Al Viro
@ 2018-01-08 3:35 ` Jie Deng
0 siblings, 0 replies; 2+ messages in thread
From: Jie Deng @ 2018-01-08 3:35 UTC (permalink / raw)
To: Al Viro, netdev; +Cc: Jie.Deng1, Jose.Abreu
On 2018/1/6 3:32, Al Viro wrote:
> Users of XLGMAC_SET_REG_BITS_LE() expect it to take le32 and return
> le32.
>
> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
> ---
> drivers/net/ethernet/synopsys/dwc-xlgmac.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/synopsys/dwc-xlgmac.h b/drivers/net/ethernet/synopsys/dwc-xlgmac.h
> index cab3e40a86b9..e95c4c250e16 100644
> --- a/drivers/net/ethernet/synopsys/dwc-xlgmac.h
> +++ b/drivers/net/ethernet/synopsys/dwc-xlgmac.h
> @@ -106,7 +106,7 @@
> #define XLGMAC_GET_REG_BITS_LE(var, pos, len) ({ \
> typeof(pos) _pos = (pos); \
> typeof(len) _len = (len); \
> - typeof(var) _var = le32_to_cpu((var)); \
> + u32 _var = le32_to_cpu((var)); \
> ((_var) & GENMASK(_pos + _len - 1, _pos)) >> (_pos); \
> })
>
> @@ -125,8 +125,8 @@
> typeof(len) _len = (len); \
> typeof(val) _val = (val); \
> _val = (_val << _pos) & GENMASK(_pos + _len - 1, _pos); \
> - _var = (_var & ~GENMASK(_pos + _len - 1, _pos)) | _val; \
> - cpu_to_le32(_var); \
> + (_var & ~cpu_to_le32(GENMASK(_pos + _len - 1, _pos))) | \
> + cpu_to_le32(_val); \
> })
>
> struct xlgmac_pdata;
Thanks for your patch.
Acked-by: Jie Deng <jiedeng@synopsys.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-01-08 3:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-05 19:32 Subject: [RFC][PATCH 10/11] dwc-xlgmac: fix big-endian breakage Al Viro
2018-01-08 3:35 ` Jie Deng
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.