Skip to content

Commit a785472

Browse files
Nicolas FrattaroliYuryNorov
authored andcommitted
net: stmmac: dwmac-rk: switch to FIELD_PREP_WM16 macro
The era of hand-rolled HIWORD_UPDATE macros is over, at least for those drivers that use constant masks. Like many other Rockchip drivers, dwmac-rk has its own HIWORD_UPDATE macro. Its semantics allow us to redefine it as a wrapper to the shared hw_bitfield.h FIELD_PREP_WM16 macros though. Replace the implementation of this driver's very own HIWORD_UPDATE macro with an instance of FIELD_PREP_WM16 from hw_bitfield.h. This keeps the diff easily reviewable, while giving us more compile-time error checking. The related GRF_BIT macro is left alone for now; any attempt to rework the code to not use its own solution here would likely end up harder to review and less pretty for the time being. Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Acked-by: Jakub Kicinski <kuba@kernel.org> Acked-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
1 parent 3d1ef6e commit a785472

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*/
99

1010
#include <linux/stmmac.h>
11+
#include <linux/hw_bitfield.h>
1112
#include <linux/bitops.h>
1213
#include <linux/clk.h>
1314
#include <linux/phy.h>
@@ -150,7 +151,7 @@ static int rk_set_clk_mac_speed(struct rk_priv_data *bsp_priv,
150151
}
151152

152153
#define HIWORD_UPDATE(val, mask, shift) \
153-
((val) << (shift) | (mask) << ((shift) + 16))
154+
(FIELD_PREP_WM16((mask) << (shift), (val)))
154155

155156
#define GRF_BIT(nr) (BIT(nr) | BIT(nr+16))
156157
#define GRF_CLR_BIT(nr) (BIT(nr+16))

0 commit comments

Comments
 (0)