net: nhs: fix 32-bit build warning
Subsystems (3)
PATCH 1/1 net: nhs: fix 32-bit build warning
The recently added hns driver causes a build warning in ARM allmodconfig builds:
drivers/net/ethernet/hisilicon/hns/hnae.c: In function 'handles_show':drivers/net/ethernet/hisilicon/hns/hnae.c:452:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
j, (u64)h->qs[i]->io_base);
^This removes the pointless cast and prints the pointer address using the "%p" format string in all three locations.
drivers/net/ethernet/hisilicon/hns/hnae.c +6 -6
@@ -448,12 +448,12 @@ static ssize_t handles_show(struct device *dev, s +=sprintf (buf + s,"handle %d (eport_id=%u from %s):\n" , i++, h->eport_id, h->dev->name);for (j =0 ; j < h->q_num; j++) { - s +=sprintf (buf + s,"\tqueue[%d] on 0x%llx\n" , - j, (u64 )h->qs[i]->io_base); -#define HANDEL_TX_MSG "\t\ttx_ring on 0x%llx:%u,%u,%u,%u,%u,%llu,%llu\n" + s +=sprintf (buf + s,"\tqueue[%d] on %p\n" , + j, h->qs[i]->io_base); +#define HANDEL_TX_MSG "\t\ttx_ring on %p:%u,%u,%u,%u,%u,%llu,%llu\n" s += sprintf(buf + s, HANDEL_TX_MSG, - (u64)h->qs[i]->tx_ring.io_base, + h->qs[i]->tx_ring.io_base, h->qs[i]->tx_ring.buf_size, h->qs[i]->tx_ring.desc_num, h->qs[i]->tx_ring.max_desc_num_per_pkt,
@@ -462,8 +462,8 @@ static ssize_t handles_show(struct device *dev, h->qs[i]->tx_ring.stats.sw_err_cnt, h->qs[i]->tx_ring.stats.io_err_cnt); s += sprintf(buf + s, - "\t\trx_ring on 0x%llx:%u,%u,%llu,%llu,%llu\n", - (u64)h->qs[i]->rx_ring.io_base, + "\t\trx_ring on %p:%u,%u,%llu,%llu,%llu\n", + h->qs[i]->rx_ring.io_base, h->qs[i]->rx_ring.buf_size, h->qs[i]->rx_ring.desc_num, h->qs[i]->rx_ring.stats.sw_err_cnt,
Hello.
Note the typo in the subject: s/nhs/hns/.
MBR, Sergei
David Miller
maintainerFrom: Arnd Bergmann <[email protected]>
Date: Tue, 06 Oct 2015 23:53:57 +0200
Quoted 5 lines
The recently added hns driver causes a build warning in ARM allmodconfig builds:
drivers/net/ethernet/hisilicon/hns/hnae.c: In function 'handles_show':drivers/net/ethernet/hisilicon/hns/hnae.c:452:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
Quoted 7 lines
j, (u64)h->qs[i]->io_base); ^This removes the pointless cast and prints the pointer address using the "%p" format string in all three locations.
Signed-off-by Arnd Bergmann <[email protected]>
Applied with subject typo fixed, thanks.
drivers/net/ethernet/hisilicon/hns/hnae.c
Quoted 1 line · Arnd Bergmann
drivers/net/ethernet/hisilicon/hns/hnae.c +0
-0
[]
drivers/net/ethernet/hisilicon/hns/hnae.c static ssize_t handles_show(struct device *dev, · line 455
Quoted 12 lines
drivers/net/ethernet/hisilicon/hns/hnae.c +3
-3@@ -448,12 +448,12 @@ static ssize_t handles_show(struct device *dev, s +=sprintf (buf + s,"handle %d (eport_id=%u from %s):\n" , i++, h->eport_id, h->dev->name);for (j =0 ; j < h->q_num; j++) { - s +=sprintf (buf + s,"\tqueue[%d] on 0x%llx\n" , - j, (u64 )h->qs[i]->io_base); -#define HANDEL_TX_MSG "\t\ttx_ring on 0x%llx:%u,%u,%u,%u,%u,%llu,%llu\n" + s +=sprintf (buf + s,"\tqueue[%d] on %p\n" , + j, h->qs[i]->io_base); +#define HANDEL_TX_MSG "\t\ttx_ring on %p:%u,%u,%u,%u,%u,%llu,%llu\n" s += sprintf(buf + s, HANDEL_TX_MSG,
Maybe one day remove the misspelled and
used once HANDEL_TX_MSG macro too.
Another possibility is to use a generally
smaller object code style like:
char *s = buf; ... s += sprintf(s, ...) ... return s - buf;
instead of
ssize_t s = 0; ... s += sprintf(buf + s, ...) ... return s; --- drivers/net/ethernet/hisilicon/hns/hnae.c | 35 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 18 deletions(-)
drivers/net/ethernet/hisilicon/hns/hnae.c +17 -18
@@ -439,40 +439,39 @@ EXPORT_SYMBOL(hnae_ae_unregister);static ssize_t handles_show (struct device *dev,struct device_attribute *attr,char *buf) { -ssize_t s =0 ; +char *s = buf;struct hnae_ae_dev *hdev =cls_to_ae_dev (dev);struct hnae_handle *h;int i =0 , j;list_for_each_entry_rcu (h, &hdev->handle_list, node) { - s +=sprintf (buf + s,"handle %d (eport_id=%u from %s):\n" , - i++, h->eport_id, h->dev->name); + s +=sprintf (s,"handle %d (eport_id=%u from %s):\n" , + i++, h->eport_id, h->dev->name);for (j =0 ; j < h->q_num; j++) { - s +=sprintf (buf + s,"\tqueue[%d] on %p\n" , + s +=sprintf (s,"\tqueue[%d] on %p\n" , j, h->qs[i]->io_base); -#define HANDEL_TX_MSG "\t\ttx_ring on %p:%u,%u,%u,%u,%u,%llu,%llu\n" - s +=sprintf (buf + s, -HANDEL_TX_MSG , + s +=sprintf (s, +"\t\ttx_ring on %p:%u,%u,%u,%u,%u,%llu,%llu\n" , h->qs[i]->tx_ring.io_base, h->qs[i]->tx_ring.buf_size, h->qs[i]->tx_ring.desc_num, h->qs[i]->tx_ring.max_desc_num_per_pkt, h->qs[i]->tx_ring.max_raw_data_sz_per_desc, h->qs[i]->tx_ring.max_pkt_size, - h->qs[i]->tx_ring.stats.sw_err_cnt, - h->qs[i]->tx_ring.stats.io_err_cnt); - s +=sprintf (buf + s, -"\t\trx_ring on %p:%u,%u,%llu,%llu,%llu\n" , - h->qs[i]->rx_ring.io_base, - h->qs[i]->rx_ring.buf_size, - h->qs[i]->rx_ring.desc_num, - h->qs[i]->rx_ring.stats.sw_err_cnt, - h->qs[i]->rx_ring.stats.io_err_cnt, - h->qs[i]->rx_ring.stats.seg_pkt_cnt); + h->qs[i]->tx_ring.stats.sw_err_cnt, + h->qs[i]->tx_ring.stats.io_err_cnt); + s +=sprintf (s, +"\t\trx_ring on %p:%u,%u,%llu,%llu,%llu\n" , + h->qs[i]->rx_ring.io_base, + h->qs[i]->rx_ring.buf_size, + h->qs[i]->rx_ring.desc_num, + h->qs[i]->rx_ring.stats.sw_err_cnt, + h->qs[i]->rx_ring.stats.io_err_cnt, + h->qs[i]->rx_ring.stats.seg_pkt_cnt); } } -return s; +return s - buf; }static DEVICE_ATTR_RO (handles);
Quoted 103 lines · Joe Perches
drivers/net/ethernet/hisilicon/hns/hnae.c
Quoted 1 line · Arnd Bergmann
drivers/net/ethernet/hisilicon/hns/hnae.c +0
-0[]
drivers/net/ethernet/hisilicon/hns/hnae.c static ssize_t handles_show(struct device *dev, · line 455
Quoted 12 lines
drivers/net/ethernet/hisilicon/hns/hnae.c +3
-3@@ -448,12 +448,12 @@ static ssize_t handles_show(struct device *dev, s +=sprintf (buf + s,"handle %d (eport_id=%u from %s):\n" , i++, h->eport_id, h->dev->name);for (j =0 ; j < h->q_num; j++) { - s +=sprintf (buf + s,"\tqueue[%d] on 0x%llx\n" , - j, (u64 )h->qs[i]->io_base); -#define HANDEL_TX_MSG "\t\ttx_ring on 0x%llx:%u,%u,%u,%u,%u,%llu,%llu\n" + s +=sprintf (buf + s,"\tqueue[%d] on %p\n" , + j, h->qs[i]->io_base); +#define HANDEL_TX_MSG "\t\ttx_ring on %p:%u,%u,%u,%u,%u,%llu,%llu\n" s += sprintf(buf + s, HANDEL_TX_MSG,Maybe one day remove the misspelled and
used onceHANDEL_TX_MSGmacro too.Another possibility is to use a generally
smaller object code style like:char *s = buf; ... s += sprintf(s, ...) ... return s - buf;instead of
ssize_t s = 0; ... s += sprintf(buf + s, ...) ... return s; --- drivers/net/ethernet/hisilicon/hns/hnae.c | 35 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 18 deletions(-)drivers/net/ethernet/hisilicon/hns/hnae.c +17
-18@@ -439,40 +439,39 @@ EXPORT_SYMBOL(hnae_ae_unregister);static ssize_t handles_show (struct device *dev,struct device_attribute *attr,char *buf) { -ssize_t s =0 ; +char *s = buf;struct hnae_ae_dev *hdev =cls_to_ae_dev (dev);struct hnae_handle *h;int i =0 , j;list_for_each_entry_rcu (h, &hdev->handle_list, node) { - s +=sprintf (buf + s,"handle %d (eport_id=%u from %s):\n" , - i++, h->eport_id, h->dev->name); + s +=sprintf (s,"handle %d (eport_id=%u from %s):\n" , + i++, h->eport_id, h->dev->name);for (j =0 ; j < h->q_num; j++) { - s +=sprintf (buf + s,"\tqueue[%d] on %p\n" , + s +=sprintf (s,"\tqueue[%d] on %p\n" , j, h->qs[i]->io_base); -#define HANDEL_TX_MSG "\t\ttx_ring on %p:%u,%u,%u,%u,%u,%llu,%llu\n" - s +=sprintf (buf + s, -HANDEL_TX_MSG , + s +=sprintf (s, +"\t\ttx_ring on %p:%u,%u,%u,%u,%u,%llu,%llu\n" , h->qs[i]->tx_ring.io_base, h->qs[i]->tx_ring.buf_size, h->qs[i]->tx_ring.desc_num, h->qs[i]->tx_ring.max_desc_num_per_pkt, h->qs[i]->tx_ring.max_raw_data_sz_per_desc, h->qs[i]->tx_ring.max_pkt_size, - h->qs[i]->tx_ring.stats.sw_err_cnt, - h->qs[i]->tx_ring.stats.io_err_cnt); - s +=sprintf (buf + s, -"\t\trx_ring on %p:%u,%u,%llu,%llu,%llu\n" , - h->qs[i]->rx_ring.io_base, - h->qs[i]->rx_ring.buf_size, - h->qs[i]->rx_ring.desc_num, - h->qs[i]->rx_ring.stats.sw_err_cnt, - h->qs[i]->rx_ring.stats.io_err_cnt, - h->qs[i]->rx_ring.stats.seg_pkt_cnt); + h->qs[i]->tx_ring.stats.sw_err_cnt, + h->qs[i]->tx_ring.stats.io_err_cnt); + s +=sprintf (s, +"\t\trx_ring on %p:%u,%u,%llu,%llu,%llu\n" , + h->qs[i]->rx_ring.io_base, + h->qs[i]->rx_ring.buf_size, + h->qs[i]->rx_ring.desc_num, + h->qs[i]->rx_ring.stats.sw_err_cnt, + h->qs[i]->rx_ring.stats.io_err_cnt, + h->qs[i]->rx_ring.stats.seg_pkt_cnt); } } -return s; +return s - buf; }static DEVICE_ATTR_RO (handles);
Quoted 2 lines
.
thanks Joe
your suggestion is good, will send out a patch to fix it.
Signature · 2 lines
Best Regards Daode Huang