linux-uconsole/drivers
Arnd Bergmann 49e4a22930 stmmac: avoid ipq806x constant overflow warning
Building dwmac-ipq806x on a 64-bit architecture produces a harmless
warning from gcc:

stmmac/dwmac-ipq806x.c: In function 'ipq806x_gmac_probe':
include/linux/bitops.h:6:19: warning: overflow in implicit constant conversion [-Woverflow]
  val = QSGMII_PHY_CDR_EN |
stmmac/dwmac-ipq806x.c:333:8: note: in expansion of macro 'QSGMII_PHY_CDR_EN'
 #define QSGMII_PHY_CDR_EN   BIT(0)
 #define BIT(nr)   (1UL << (nr))

This is a result of the type conversion rules in C, when we take the
logical OR of multiple different types. In particular, we have
and unsigned long

	QSGMII_PHY_CDR_EN == BIT(0) == (1ul << 0) == 0x0000000000000001ul

and a signed int

	0xC << QSGMII_PHY_TX_DRV_AMP_OFFSET == 0xc0000000

which together gives a signed long value

	0xffffffffc0000001l

and when this is passed into a function that takes an unsigned int type,
gcc warns about the signed overflow and the loss of the upper 32-bits that
are all ones.

This patch adds 'ul' type modifiers to the literal numbers passed in
here, so now the expression remains an 'unsigned long' with the upper
bits all zero, and that avoids the signed overflow and the warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: b1c17215d7 ("stmmac: add ipq806x glue layer")
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-11-12 16:11:49 -05:00
..
accessibility
acpi libnvdimm for 4.4: 2015-11-10 12:07:22 -08:00
amba
android
ata Merge branch 'for-4.3-fixes' into for-4.4 2015-11-03 17:29:03 -05:00
atm
auxdisplay
base ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
bcma
block Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block 2015-11-10 17:23:49 -08:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-11-10 18:11:41 -08:00
bus ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
cdrom
char powerpc updates for 4.4 2015-11-05 23:38:43 -08:00
clk ARM: DT updates for v4.4 2015-11-10 15:06:26 -08:00
clocksource ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
connector mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
cpufreq ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
cpuidle
crypto asm-generic cleanups 2015-11-06 14:22:15 -08:00
dca
devfreq
dio
dma dmaengine updates for 4.4-rc1 2015-11-10 10:05:17 -08:00
dma-buf dma-buf/fence: add fence_wait_any_timeout function v2 2015-10-30 01:16:16 -04:00
edac asm-generic cleanups 2015-11-06 14:22:15 -08:00
eisa
extcon
firewire mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
firmware ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
fmc
fpga fpga: socfpga: Fix check of return value of devm_request_irq 2015-10-29 15:20:25 -07:00
gpio asm-generic cleanups 2015-11-06 14:22:15 -08:00
gpu Merge branch 'akpm' (patches from Andrew) 2015-11-10 21:14:23 -08:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2015-11-07 12:49:27 -08:00
hsi hsi: controllers:remove redundant code 2015-10-30 16:10:40 +01:00
hv drivers/hv: share Hyper-V SynIC constants with userspace 2015-11-04 16:24:33 +01:00
hwmon ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
hwspinlock
hwtracing
i2c Merge branch 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2015-11-10 11:58:25 -08:00
ide mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM 2015-11-06 17:50:42 -08:00
idle
iio spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
infiniband Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
input remove abs64() 2015-11-09 15:11:24 -08:00
iommu mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
ipack
irqchip Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
isdn TTY/Serial driver patches for 4.4-rc1 2015-11-04 21:35:12 -08:00
leds spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
lguest
lightnvm block: change ->make_request_fn() and users to return a queue cookie 2015-11-07 10:40:46 -07:00
macintosh
mailbox mailbox: mailbox-test: avoid reading iomem twice 2015-11-04 14:03:04 +05:30
mcb mcb: Destroy IDA on module unload 2015-10-29 09:02:16 +09:00
md Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block 2015-11-10 17:23:49 -08:00
media netup_unidvb: use pci_set_dma_mask insted of pci_dma_supported 2015-11-10 16:32:11 -08:00
memory ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
memstick
message
mfd asm-generic cleanups 2015-11-06 14:22:15 -08:00
misc ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
mmc spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
mtd This pull request includes the following UBI/UBIFS changes: 2015-11-10 16:35:06 -08:00
net stmmac: avoid ipq806x constant overflow warning 2015-11-12 16:11:49 -05:00
nfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-11-10 18:11:41 -08:00
ntb NTB: fix 32-bit compiler warning 2015-11-08 16:24:43 -05:00
nubus
nvdimm Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block 2015-11-10 17:23:49 -08:00
nvme Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block 2015-11-10 17:23:49 -08:00
nvmem
of DeviceTree updates for 4.4: 2015-11-06 12:17:09 -08:00
oprofile
parisc pci: remove pci_dma_supported 2015-11-10 16:32:11 -08:00
parport
pci PCI changes for the v4.4 merge window: 2015-11-06 11:29:53 -08:00
pcmcia
perf arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00
phy USB patches for 4.4-rc1 2015-11-04 21:26:27 -08:00
pinctrl This is the bulk of GPIO changes for v4.4: 2015-11-02 12:59:12 -08:00
platform Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-11-10 09:33:06 -08:00
pnp
power - New Device Support 2015-11-06 10:23:50 -08:00
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
remoteproc
reset
rpmsg
rtc RTC for 4.4 2015-11-10 10:01:21 -08:00
s390 block: change ->make_request_fn() and users to return a queue cookie 2015-11-07 10:40:46 -07:00
sbus
scsi drivers/scsi/cxgbi: fix build with EXTRA_CFLAGS 2015-11-09 15:11:24 -08:00
sfi
sh
sn
soc ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
spi Merge remote-tracking branches 'spi/topic/s3c64xx', 'spi/topic/ti-qspi' and 'spi/topic/txx9' into spi-next 2015-11-04 11:02:16 +00:00
spmi char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
ssb
staging Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block 2015-11-10 17:23:49 -08:00
target
tc
thermal remove abs64() 2015-11-09 15:11:24 -08:00
thunderbolt
tty asm-generic cleanups 2015-11-06 14:22:15 -08:00
uio
usb dma: remove external references to dma_supported 2015-11-09 15:11:24 -08:00
uwb driver core update for 4.4-rc1 2015-11-04 21:50:37 -08:00
vfio
vhost
video fbdev changes for 4.4 2015-11-10 10:00:09 -08:00
virt
virtio
vlynq
vme char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
w1 power supply and reset changes for the v4.4 series 2015-11-05 12:28:15 -08:00
watchdog Merge git://www.linux-watchdog.org/linux-watchdog 2015-11-10 10:11:12 -08:00
xen
zorro
Kconfig char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
Makefile char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00