mfd: arizona: Correct type of gpio_defaults
Subsystems (2)
PATCH 1/1 mfd: arizona: Correct type of gpio_defaults
gpio_defaults needs to be specified as an unsigned int rather than an int, because the intention of the DT binding is that all out of range values for a 16-bit register will cause the defaults to be used, however, if gpio_defaults is an int then values that are larger than INT_MAX will become negative numbers and be written out directly to the hardware. As no where in the code replies on gpio_defaults being an int, the simplest fix is to just change it to unsigned.
--- include/linux/mfd/arizona/pdata.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
include/linux/mfd/arizona/pdata.h +1 -1
@@ -94,7 +94,7 @@ struct arizona_pdata {int gpio_base;/** Pin state for GPIO pins */ -int gpio_defaults[ARIZONA_MAX_GPIO ]; +unsigned int gpio_defaults[ARIZONA_MAX_GPIO ];/** * Maximum number of channels clocks will be generated for,
Signature · 1 line
1.7.2.5
Lee Jones
AppliedQuoted 8 lines · Charles Keepax
gpio_defaultsneeds to be specified as an unsigned int rather than an int, because the intention of the DT binding is that all out of range values for a 16-bit register will cause the defaults to be used, however, ifgpio_defaultsis an int then values that are larger thanINT_MAXwill become negative numbers and be written out directly to the hardware. As no where in the code replies ongpio_defaultsbeing an int, the simplest fix is to just change it to unsigned.
Quoted 4 lines
Signed-off-by Charles Keepax <[email protected]>--- include/linux/mfd/arizona/pdata.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
Applied, thanks.
Quoted 13 lines
include/linux/mfd/arizona/pdata.h +1
-1@@ -94,7 +94,7 @@ struct arizona_pdata {int gpio_base;/** Pin state for GPIO pins */ -int gpio_defaults[ARIZONA_MAX_GPIO ]; +unsigned int gpio_defaults[ARIZONA_MAX_GPIO ];/** * Maximum number of channels clocks will be generated for,
Signature · 4 lines
Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog