From: kbuild test robot <lkp@intel.com>
To: Greentime Hu <green.hu@gmail.com>
Cc: kbuild-all@01.org, greentime@andestech.com,
linux-kernel@vger.kernel.org, arnd@arndb.de,
linux-arch@vger.kernel.org, tglx@linutronix.de,
jason@lakedaemon.net, marc.zyngier@arm.com, robh+dt@kernel.org,
netdev@vger.kernel.org, deanbo422@gmail.com,
devicetree@vger.kernel.org, viro@zeniv.linux.org.uk,
dhowells@redhat.com, will.deacon@arm.com,
daniel.lezcano@linaro.org, linux-serial@vger.kernel.org,
geert.uytterhoeven@gmail.com, linus.walleij@linaro.org,
mark.rutland@arm.com, greg@kroah.com, ren_guo@c-sky.com,
pombredanne@nexb.com, green.hu@gmail.com
Subject: Re: [PATCH v4 33/36] net: faraday add nds32 support.
Date: Wed, 20 Dec 2017 19:03:34 +0800 [thread overview]
Message-ID: <201712201849.V1uJdj6R%fengguang.wu@intel.com> (raw)
In-Reply-To: <95be78502aa406f106ecbe87e751a45333883b1f.1513577007.git.green.hu@gmail.com>
Hi Greentime,
I love your patch! Perhaps something to improve:
[auto build test WARNING on tip/timers/core]
[cannot apply to linus/master v4.15-rc4 next-20171220]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Greentime-Hu/Andes-nds32-Linux-Kernel/20171220-155937
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
vim +205 drivers/net/ethernet/faraday/ftmac100.c
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 199
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 200 /******************************************************************************
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 201 * internal functions (receive descriptor)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 202 *****************************************************************************/
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 203 static bool ftmac100_rxdes_first_segment(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 204 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @205 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_FRS);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 206 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 207
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 208 static bool ftmac100_rxdes_last_segment(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 209 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 210 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_LRS);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 211 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 212
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 213 static bool ftmac100_rxdes_owned_by_dma(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 214 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @215 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RXDMA_OWN);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 216 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 217
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 218 static void ftmac100_rxdes_set_dma_own(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 219 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 220 /* clear status bits */
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @221 rxdes->rxdes0 = cpu_to_le32(FTMAC100_RXDES0_RXDMA_OWN);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 222 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 223
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 224 static bool ftmac100_rxdes_rx_error(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 225 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 226 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RX_ERR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 227 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 228
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 229 static bool ftmac100_rxdes_crc_error(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 230 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 231 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_CRC_ERR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 232 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 233
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 234 static bool ftmac100_rxdes_frame_too_long(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 235 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 236 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_FTL);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 237 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 238
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 239 static bool ftmac100_rxdes_runt(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 240 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 241 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RUNT);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 242 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 243
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 244 static bool ftmac100_rxdes_odd_nibble(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 245 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 246 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RX_ODD_NB);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 247 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 248
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 249 static unsigned int ftmac100_rxdes_frame_length(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 250 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @251 return le32_to_cpu(rxdes->rxdes0) & FTMAC100_RXDES0_RFL;
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 252 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 253
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 254 static bool ftmac100_rxdes_multicast(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 255 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 256 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_MULTICAST);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 257 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 258
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 259 static void ftmac100_rxdes_set_buffer_size(struct ftmac100_rxdes *rxdes,
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 260 unsigned int size)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 261 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @262 rxdes->rxdes1 &= cpu_to_le32(FTMAC100_RXDES1_EDORR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 263 rxdes->rxdes1 |= cpu_to_le32(FTMAC100_RXDES1_RXBUF_SIZE(size));
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 264 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 265
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 266 static void ftmac100_rxdes_set_end_of_ring(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 267 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 268 rxdes->rxdes1 |= cpu_to_le32(FTMAC100_RXDES1_EDORR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 269 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 270
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 271 static void ftmac100_rxdes_set_dma_addr(struct ftmac100_rxdes *rxdes,
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 272 dma_addr_t addr)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 273 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @274 rxdes->rxdes2 = cpu_to_le32(addr);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 275 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 276
:::::: The code at line 205 was first introduced by commit
:::::: 8d77c036b57cf813d838f859e11b6a188acdb1fb net: add Faraday FTMAC100 10/100 Ethernet driver
:::::: TO: Po-Yu Chuang <ratbert@faraday-tech.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, greentime@andestech.com,
linux-kernel@vger.kernel.org, arnd@arndb.de,
linux-arch@vger.kernel.org, tglx@linutronix.de,
jason@lakedaemon.net, marc.zyngier@arm.com, robh+dt@kernel.org,
netdev@vger.kernel.org, deanbo422@gmail.com,
devicetree@vger.kernel.org, viro@zeniv.linux.org.uk,
dhowells@redhat.com, will.deacon@arm.com,
daniel.lezcano@linaro.org, linux-serial@vger.kernel.org,
geert.uytterhoeven@gmail.com, linus.walleij@linaro.org,
mark.rutland@arm.com, greg@kroah.com, ren_guo@c-sky.com,
pombredanne@nexb.com, green.hu@gmail.com
Subject: Re: [PATCH v4 33/36] net: faraday add nds32 support.
Date: Wed, 20 Dec 2017 19:03:34 +0800 [thread overview]
Message-ID: <201712201849.V1uJdj6R%fengguang.wu@intel.com> (raw)
In-Reply-To: <95be78502aa406f106ecbe87e751a45333883b1f.1513577007.git.green.hu@gmail.com>
Hi Greentime,
I love your patch! Perhaps something to improve:
[auto build test WARNING on tip/timers/core]
[cannot apply to linus/master v4.15-rc4 next-20171220]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Greentime-Hu/Andes-nds32-Linux-Kernel/20171220-155937
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
vim +205 drivers/net/ethernet/faraday/ftmac100.c
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 199
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 200 /******************************************************************************
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 201 * internal functions (receive descriptor)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 202 *****************************************************************************/
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 203 static bool ftmac100_rxdes_first_segment(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 204 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @205 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_FRS);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 206 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 207
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 208 static bool ftmac100_rxdes_last_segment(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 209 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 210 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_LRS);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 211 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 212
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 213 static bool ftmac100_rxdes_owned_by_dma(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 214 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @215 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RXDMA_OWN);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 216 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 217
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 218 static void ftmac100_rxdes_set_dma_own(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 219 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 220 /* clear status bits */
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @221 rxdes->rxdes0 = cpu_to_le32(FTMAC100_RXDES0_RXDMA_OWN);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 222 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 223
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 224 static bool ftmac100_rxdes_rx_error(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 225 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 226 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RX_ERR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 227 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 228
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 229 static bool ftmac100_rxdes_crc_error(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 230 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 231 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_CRC_ERR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 232 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 233
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 234 static bool ftmac100_rxdes_frame_too_long(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 235 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 236 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_FTL);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 237 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 238
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 239 static bool ftmac100_rxdes_runt(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 240 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 241 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RUNT);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 242 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 243
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 244 static bool ftmac100_rxdes_odd_nibble(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 245 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 246 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RX_ODD_NB);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 247 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 248
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 249 static unsigned int ftmac100_rxdes_frame_length(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 250 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @251 return le32_to_cpu(rxdes->rxdes0) & FTMAC100_RXDES0_RFL;
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 252 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 253
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 254 static bool ftmac100_rxdes_multicast(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 255 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 256 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_MULTICAST);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 257 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 258
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 259 static void ftmac100_rxdes_set_buffer_size(struct ftmac100_rxdes *rxdes,
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 260 unsigned int size)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 261 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @262 rxdes->rxdes1 &= cpu_to_le32(FTMAC100_RXDES1_EDORR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 263 rxdes->rxdes1 |= cpu_to_le32(FTMAC100_RXDES1_RXBUF_SIZE(size));
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 264 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 265
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 266 static void ftmac100_rxdes_set_end_of_ring(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 267 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 268 rxdes->rxdes1 |= cpu_to_le32(FTMAC100_RXDES1_EDORR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 269 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 270
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 271 static void ftmac100_rxdes_set_dma_addr(struct ftmac100_rxdes *rxdes,
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 272 dma_addr_t addr)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 273 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @274 rxdes->rxdes2 = cpu_to_le32(addr);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 275 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 276
:::::: The code at line 205 was first introduced by commit
:::::: 8d77c036b57cf813d838f859e11b6a188acdb1fb net: add Faraday FTMAC100 10/100 Ethernet driver
:::::: TO: Po-Yu Chuang <ratbert@faraday-tech.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: Greentime Hu <green.hu@gmail.com>
Cc: kbuild-all@01.org, greentime@andestech.com,
linux-kernel@vger.kernel.org, arnd@arndb.de,
linux-arch@vger.kernel.org, tglx@linutronix.de,
jason@lakedaemon.net, marc.zyngier@arm.com, robh+dt@kernel.org,
netdev@vger.kernel.org, deanbo422@gmail.com,
devicetree@vger.kernel.org, viro@zeniv.linux.org.uk,
dhowells@redhat.com, will.deacon@arm.com,
daniel.lezcano@linaro.org, linux-serial@vger.kernel.org,
geert.uytterhoeven@gmail.com, linus.walleij@linaro.org,
mark.rutland@arm.com, greg@kroah.com, ren_guo@c-sky.com,
pombredanne@nexb.com
Subject: Re: [PATCH v4 33/36] net: faraday add nds32 support.
Date: Wed, 20 Dec 2017 19:03:34 +0800 [thread overview]
Message-ID: <201712201849.V1uJdj6R%fengguang.wu@intel.com> (raw)
Message-ID: <20171220110334._8vagY14aYLBfQx5-y_J_2Gyksv2wEGWEViQEqZoFOc@z> (raw)
In-Reply-To: <95be78502aa406f106ecbe87e751a45333883b1f.1513577007.git.green.hu@gmail.com>
Hi Greentime,
I love your patch! Perhaps something to improve:
[auto build test WARNING on tip/timers/core]
[cannot apply to linus/master v4.15-rc4 next-20171220]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Greentime-Hu/Andes-nds32-Linux-Kernel/20171220-155937
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
vim +205 drivers/net/ethernet/faraday/ftmac100.c
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 199
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 200 /******************************************************************************
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 201 * internal functions (receive descriptor)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 202 *****************************************************************************/
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 203 static bool ftmac100_rxdes_first_segment(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 204 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @205 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_FRS);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 206 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 207
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 208 static bool ftmac100_rxdes_last_segment(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 209 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 210 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_LRS);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 211 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 212
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 213 static bool ftmac100_rxdes_owned_by_dma(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 214 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @215 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RXDMA_OWN);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 216 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 217
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 218 static void ftmac100_rxdes_set_dma_own(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 219 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 220 /* clear status bits */
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @221 rxdes->rxdes0 = cpu_to_le32(FTMAC100_RXDES0_RXDMA_OWN);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 222 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 223
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 224 static bool ftmac100_rxdes_rx_error(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 225 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 226 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RX_ERR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 227 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 228
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 229 static bool ftmac100_rxdes_crc_error(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 230 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 231 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_CRC_ERR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 232 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 233
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 234 static bool ftmac100_rxdes_frame_too_long(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 235 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 236 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_FTL);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 237 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 238
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 239 static bool ftmac100_rxdes_runt(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 240 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 241 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RUNT);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 242 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 243
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 244 static bool ftmac100_rxdes_odd_nibble(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 245 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 246 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_RX_ODD_NB);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 247 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 248
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 249 static unsigned int ftmac100_rxdes_frame_length(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 250 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @251 return le32_to_cpu(rxdes->rxdes0) & FTMAC100_RXDES0_RFL;
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 252 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 253
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 254 static bool ftmac100_rxdes_multicast(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 255 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 256 return rxdes->rxdes0 & cpu_to_le32(FTMAC100_RXDES0_MULTICAST);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 257 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 258
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 259 static void ftmac100_rxdes_set_buffer_size(struct ftmac100_rxdes *rxdes,
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 260 unsigned int size)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 261 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @262 rxdes->rxdes1 &= cpu_to_le32(FTMAC100_RXDES1_EDORR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 263 rxdes->rxdes1 |= cpu_to_le32(FTMAC100_RXDES1_RXBUF_SIZE(size));
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 264 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 265
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 266 static void ftmac100_rxdes_set_end_of_ring(struct ftmac100_rxdes *rxdes)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 267 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 268 rxdes->rxdes1 |= cpu_to_le32(FTMAC100_RXDES1_EDORR);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 269 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 270
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 271 static void ftmac100_rxdes_set_dma_addr(struct ftmac100_rxdes *rxdes,
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 272 dma_addr_t addr)
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 273 {
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 @274 rxdes->rxdes2 = cpu_to_le32(addr);
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 275 }
8d77c036 drivers/net/ftmac100.c Po-Yu Chuang 2011-02-28 276
:::::: The code at line 205 was first introduced by commit
:::::: 8d77c036b57cf813d838f859e11b6a188acdb1fb net: add Faraday FTMAC100 10/100 Ethernet driver
:::::: TO: Po-Yu Chuang <ratbert@faraday-tech.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
next prev parent reply other threads:[~2017-12-20 11:04 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-18 6:46 [PATCH v4 00/36] Andes(nds32) Linux Kernel Greentime Hu
2017-12-18 6:46 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 01/36] asm-generic/io.h: move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef CONFIG_MMU Greentime Hu
2017-12-20 10:09 ` kbuild test robot
2017-12-20 10:09 ` kbuild test robot
2017-12-20 10:09 ` kbuild test robot
2017-12-22 14:38 ` Greentime Hu
2017-12-22 14:38 ` Greentime Hu
2017-12-20 10:10 ` kbuild test robot
2017-12-20 10:10 ` kbuild test robot
2017-12-20 10:10 ` kbuild test robot
2017-12-22 14:40 ` Greentime Hu
2017-12-22 14:40 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 02/36] earlycon: add reg-offset to physical address before mapping Greentime Hu
2017-12-18 6:46 ` [PATCH v4 03/36] nds32: Assembly macros and definitions Greentime Hu
2017-12-18 6:46 ` [PATCH v4 04/36] nds32: Kernel booting and initialization Greentime Hu
2017-12-19 22:01 ` Randy Dunlap
2017-12-19 22:01 ` Randy Dunlap
2017-12-20 2:35 ` Greentime Hu
2017-12-20 2:35 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 05/36] nds32: Exception handling Greentime Hu
2017-12-18 6:46 ` [PATCH v4 06/36] nds32: MMU definitions Greentime Hu
2017-12-18 6:46 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 07/36] nds32: MMU initialization Greentime Hu
2017-12-18 6:46 ` [PATCH v4 08/36] nds32: MMU fault handling and page table management Greentime Hu
2017-12-18 6:46 ` [PATCH v4 09/36] nds32: Cache and TLB routines Greentime Hu
2017-12-18 6:46 ` [PATCH v4 10/36] nds32: Process management Greentime Hu
2017-12-18 6:46 ` [PATCH v4 11/36] nds32: IRQ handling Greentime Hu
2017-12-18 6:46 ` [PATCH v4 12/36] nds32: Atomic operations Greentime Hu
2017-12-18 6:46 ` [PATCH v4 13/36] nds32: Device specific operations Greentime Hu
2017-12-18 11:26 ` Arnd Bergmann
2017-12-18 11:26 ` Arnd Bergmann
2017-12-18 11:44 ` Greentime Hu
2017-12-18 11:44 ` Greentime Hu
2017-12-18 11:44 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 14/36] nds32: DMA mapping API Greentime Hu
2017-12-18 6:46 ` [PATCH v4 15/36] nds32: ELF definitions Greentime Hu
2017-12-18 6:46 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 16/36] nds32: System calls handling Greentime Hu
2017-12-18 11:19 ` Arnd Bergmann
2017-12-18 11:19 ` Arnd Bergmann
2017-12-19 2:10 ` Vincent Chen
2017-12-19 2:10 ` Vincent Chen
2017-12-18 6:46 ` [PATCH v4 17/36] nds32: VDSO support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 18/36] nds32: Signal handling support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 19/36] nds32: Library functions Greentime Hu
2017-12-18 6:46 ` [PATCH v4 20/36] nds32: Debugging support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 21/36] nds32: L2 cache support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 22/36] nds32: Loadable modules Greentime Hu
2017-12-18 6:46 ` [PATCH v4 23/36] nds32: Generic timers support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 24/36] nds32: Device tree support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 25/36] nds32: Miscellaneous header files Greentime Hu
2017-12-18 11:13 ` Arnd Bergmann
2017-12-18 11:13 ` Arnd Bergmann
2017-12-19 5:34 ` Greentime Hu
2017-12-19 5:34 ` Greentime Hu
2017-12-19 5:34 ` Greentime Hu
2017-12-19 9:54 ` Arnd Bergmann
2017-12-19 9:54 ` Arnd Bergmann
2017-12-19 9:54 ` Arnd Bergmann
2017-12-20 2:34 ` Greentime Hu
2017-12-20 2:34 ` Greentime Hu
2017-12-20 2:34 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 26/36] nds32: defconfig Greentime Hu
2017-12-18 6:46 ` [PATCH v4 27/36] nds32: Build infrastructure Greentime Hu
2017-12-18 6:46 ` [PATCH v4 28/36] MAINTAINERS: Add nds32 Greentime Hu
2017-12-18 6:46 ` [PATCH v4 29/36] dt-bindings: nds32 CPU Bindings Greentime Hu
2017-12-18 6:46 ` [PATCH v4 30/36] dt-bindings: nds32 SoC Bindings Greentime Hu
2017-12-18 6:46 ` [PATCH v4 31/36] dt-bindings: interrupt-controller: Andestech Internal Vector Interrupt Controller Greentime Hu
2017-12-18 6:46 ` [PATCH v4 32/36] irqchip: Andestech Internal Vector Interrupt Controller driver Greentime Hu
2017-12-18 6:46 ` [PATCH v4 33/36] net: faraday add nds32 support Greentime Hu
2017-12-20 9:54 ` kbuild test robot
2017-12-20 9:54 ` kbuild test robot
2017-12-20 9:54 ` kbuild test robot
2017-12-20 9:58 ` Geert Uytterhoeven
2017-12-20 9:58 ` Geert Uytterhoeven
2017-12-20 9:58 ` Geert Uytterhoeven
2017-12-20 10:34 ` Greentime Hu
2017-12-20 10:34 ` Greentime Hu
2017-12-20 10:34 ` Greentime Hu
2017-12-20 11:03 ` kbuild test robot [this message]
2017-12-20 11:03 ` kbuild test robot
2017-12-20 11:03 ` kbuild test robot
2017-12-18 6:46 ` [PATCH v4 34/36] clocksource/drivers/atcpit100: Add andestech atcpit100 timer Greentime Hu
2017-12-18 6:46 ` [PATCH v4 35/36] clocksource/drivers/atcpit100: VDSO support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 36/36] dt-bindings: timer: Add andestech atcpit100 timer binding doc Greentime Hu
2018-02-14 14:56 ` [PATCH v4 00/36] Andes(nds32) Linux Kernel Arnd Bergmann
2018-02-14 14:56 ` Arnd Bergmann
2018-02-14 14:56 ` Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201712201849.V1uJdj6R%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=arnd@arndb.de \
--cc=daniel.lezcano@linaro.org \
--cc=deanbo422@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dhowells@redhat.com \
--cc=geert.uytterhoeven@gmail.com \
--cc=green.hu@gmail.com \
--cc=greentime@andestech.com \
--cc=greg@kroah.com \
--cc=jason@lakedaemon.net \
--cc=kbuild-all@01.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=netdev@vger.kernel.org \
--cc=pombredanne@nexb.com \
--cc=ren_guo@c-sky.com \
--cc=robh+dt@kernel.org \
--cc=tglx@linutronix.de \
--cc=viro@zeniv.linux.org.uk \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.