[PATCH v7 01/11] ARM: mmp: fix build error on gpio

Eric Miao eric.y.miao at gmail.com
Thu Nov 17 10:33:23 EST 2011


On Thu, Nov 17, 2011 at 11:16 PM, Arnd Bergmann <arnd at arndb.de> wrote:
> On Wednesday 09 November 2011, Haojian Zhuang wrote:
>> Parameters of GPIO_REG() should be assigned as volatile.
>>
>> arch/arm/plat-pxa/include/plat/gpio.h: In function ‘gpio_get_value’:
>> arch/arm/plat-pxa/include/plat/gpio.h:12:21: error: invalid operands to
>> binary & (have ‘void *’ and ‘int’)
>> arch/arm/plat-pxa/include/plat/gpio.h: In function ‘gpio_set_value’:
>> arch/arm/plat-pxa/include/plat/gpio.h:21:4: error: lvalue required as
>> left operand of assignment
>> arch/arm/plat-pxa/include/plat/gpio.h:23:4: error: lvalue required as
>> left operand of assignment
>>
>> Signed-off-by: Haojian Zhuang <haojian.zhuang at marvell.com>
>> ---
>>  arch/arm/mach-mmp/include/mach/gpio-pxa.h |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/arm/mach-mmp/include/mach/gpio-pxa.h b/arch/arm/mach-mmp/include/mach/gpio-pxa.h
>> index d14eeaf..99b4ce1 100644
>> --- a/arch/arm/mach-mmp/include/mach/gpio-pxa.h
>> +++ b/arch/arm/mach-mmp/include/mach/gpio-pxa.h
>> @@ -7,7 +7,7 @@
>>  #define GPIO_REGS_VIRT (APB_VIRT_BASE + 0x19000)
>>
>>  #define BANK_OFF(n)    (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2))
>> -#define GPIO_REG(x)    (GPIO_REGS_VIRT + (x))
>> +#define GPIO_REG(x)    (*(volatile u32 *)(GPIO_REGS_VIRT + (x)))
>>
>>  #define NR_BUILTIN_GPIO                IRQ_GPIO_NUM
>
> Note that this is not the correct fix, it just restores the previous
> state after I broke the original code in an "evil" merge commit
> that tried to merge the gpio branch with my patch that changed the
> mmio annotations.
>
> Anyway, everything seems fine now, since patch 9/11 removes the code
> either way.

Yeah, but having a patch here really helps to make a buildable
state of the history.

Shall I go ahead and send the GIT PULL with this patch? or you have
another idea?



More information about the linux-arm-kernel mailing list