[PATCH 3/3] ARM: s3c24xx: H1940: Move gpiochip_add call into core_init() callback
Vasily Khoruzhick
anarsoul at gmail.com
Mon May 4 11:27:43 PDT 2015
On Mon, May 4, 2015 at 6:23 AM, Krzysztof Kozlowski
<k.kozlowski at samsung.com> wrote:
> 2015-05-04 3:15 GMT+09:00 Vasily Khoruzhick <anarsoul at gmail.com>:
>> gpiochip_add() allocates memory, however it's not possible anymore
>
> "...to call it..."? Something is missing in the sentence.
"it" replaces "memory allocation" here (kzalloc fails)
>> from
>> machine map_io() callback thus it failed and prevented machine from booting
>> properly.
>>
>> Signed-off-by: Vasily Khoruzhick <anarsoul at gmail.com>
>> ---
>> arch/arm/mach-s3c24xx/mach-h1940.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/mach-s3c24xx/mach-h1940.c b/arch/arm/mach-s3c24xx/mach-h1940.c
>> index 86d9ec7..744aa4f 100644
>> --- a/arch/arm/mach-s3c24xx/mach-h1940.c
>> +++ b/arch/arm/mach-s3c24xx/mach-h1940.c
>> @@ -777,9 +777,14 @@ static void __init h1940_map_io(void)
>>
>> /* Add latch gpio chip, set latch initial value */
>> h1940_latch_control(0, 0);
>> - WARN_ON(gpiochip_add(&h1940_latch_gpiochip));
>> }
>>
>> +static __init int h1940_gpiolib_init(void)
>> +{
>> + return gpiochip_add(&h1940_latch_gpiochip);
>> +}
>> +core_initcall(h1940_gpiolib_init);
>> +
>
> arch_initcall() or init_machine() callback seems more appropriate.
> What do you think?
I did the same way as Kukjin Kim did in samsung gpio driver.
> Best regards,
> Krzysztof
More information about the linux-arm-kernel
mailing list