Message ID | 6a15eddc-a30d-a4e8-aa0d-05ee2091e32a@cogentembedded.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | sh_eth: clean up the TSU register accessors | expand |
Hi Sergei, On Mon, Jul 23, 2018 at 8:13 PM Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> wrote: > With sh_eth_tsu_get_offset() now actually returning TSU register's offset, > we can at last use it in sh_eth_tsu_{read|write}(). Somehow this saves 248 > bytes of object code with AArch64 gcc 4.8.5... :-) Adding two more users may be the trigger for gcc not to inline the function anymore? > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert
Index: net-next/drivers/net/ethernet/renesas/sh_eth.c =================================================================== --- net-next.orig/drivers/net/ethernet/renesas/sh_eth.c +++ net-next/drivers/net/ethernet/renesas/sh_eth.c @@ -447,7 +447,7 @@ static u16 sh_eth_tsu_get_offset(struct static void sh_eth_tsu_write(struct sh_eth_private *mdp, u32 data, int enum_index) { - u16 offset = mdp->reg_offset[enum_index]; + u16 offset = sh_eth_tsu_get_offset(mdp, enum_index); if (WARN_ON(offset == SH_ETH_OFFSET_INVALID)) return; @@ -457,7 +457,7 @@ static void sh_eth_tsu_write(struct sh_e static u32 sh_eth_tsu_read(struct sh_eth_private *mdp, int enum_index) { - u16 offset = mdp->reg_offset[enum_index]; + u16 offset = sh_eth_tsu_get_offset(mdp, enum_index); if (WARN_ON(offset == SH_ETH_OFFSET_INVALID)) return ~0U;
With sh_eth_tsu_get_offset() now actually returning TSU register's offset, we can at last use it in sh_eth_tsu_{read|write}(). Somehow this saves 248 bytes of object code with AArch64 gcc 4.8.5... :-) Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> --- drivers/net/ethernet/renesas/sh_eth.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)