hinic: make array speeds static const, makes object smaller
authorColin Ian King <colin.king@canonical.com>
Thu, 19 Aug 2021 11:52:53 +0000 (12:52 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Aug 2021 12:23:20 +0000 (13:23 +0100)
Don't populate the array speeds on the stack but instead it
static const. Makes the object code smaller by 17 bytes:

Before:
   text    data     bss     dec     hex filename
  39987   14200      64   54251    d3eb .../huawei/hinic/hinic_sriov.o

After:
   text    data     bss     dec     hex filename
  39906   14264      64   54234    d3da .../huawei/hinic/hinic_sriov.o

(gcc version 10.3.0)

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/huawei/hinic/hinic_sriov.c

index f8a2645..a78c398 100644 (file)
@@ -836,8 +836,10 @@ int hinic_ndo_set_vf_trust(struct net_device *netdev, int vf, bool setting)
 int hinic_ndo_set_vf_bw(struct net_device *netdev,
                        int vf, int min_tx_rate, int max_tx_rate)
 {
-       u32 speeds[] = {SPEED_10, SPEED_100, SPEED_1000, SPEED_10000,
-                       SPEED_25000, SPEED_40000, SPEED_100000};
+       static const u32 speeds[] = {
+               SPEED_10, SPEED_100, SPEED_1000, SPEED_10000,
+               SPEED_25000, SPEED_40000, SPEED_100000
+       };
        struct hinic_dev *nic_dev = netdev_priv(netdev);
        struct hinic_port_cap port_cap = { 0 };
        enum hinic_port_link_state link_state;