ARM: samsung: improve static dma_mask definition
authorArnd Bergmann <arnd@arndb.de>
Thu, 12 May 2016 08:38:31 +0000 (10:38 +0200)
committerKrzysztof Kozlowski <k.kozlowski@samsung.com>
Wed, 18 May 2016 14:55:16 +0000 (16:55 +0200)
commit4cb54493ab2003568222e6ad7449747354f22ce3
tree5ef9d5b033972e89589c821ccba69d66c72a127c
parent2dcd0af568b0cf583645c8a317dd12e344b1c72a
ARM: samsung: improve static dma_mask definition

When no DMA master devices are part of the kernel configuration,
we get a warning about the unused dma mask definition:

arch/arm/plat-samsung/devs.c:71:12: error: 'samsung_device_dma_mask' defined but not used [-Werror=unused-variable]
 static u64 samsung_device_dma_mask = DMA_BIT_MASK(32);

We could simply mark this as __maybe_unused to shut up that warning,
but a nicer solution seems to be to have a separate mask for each
device. The advantage is that a driver that happens to call
dma_set_mask() on one device doesn't implicitly change the mask
for the other devices as well. This is more of a theoretical
problem, as obviously nothing does it for the devices in this
file (or they would have always been broken), but it feels
cleaner that way.

The definition works by creating an array in place so we can take
the address of it and let the compiler generate a hidden symbol
for it at compile time.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
arch/arm/plat-samsung/devs.c