public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: mikedunn@newsguy•com (Mike Dunn)
To: linux-arm-kernel@lists•infradead.org
Subject: gpio-pxa initcall level change and machine init breakage
Date: Sun, 21 Apr 2013 15:23:50 -0700	[thread overview]
Message-ID: <517466F6.3000003@newsguy.com> (raw)
In-Reply-To: <CAD6h2NSRA9w7GZLQGgK-+TvEAsxwOHow5_26JyVUA6YQyj3OQg@mail.gmail.com>

On 04/20/2013 11:02 PM, Haojian Zhuang wrote:
> On 20 April 2013 23:26, Mike Dunn <mikedunn@newsguy•com> wrote:
>> Hi,
>>
>> After a few months of neglect, I rebased my palm treo 680 kernel with the latest
>> from Linus' official tree, and now all the calls to gpio lib functions
>> (gpio_request(), etc) made from the init_machine() method in struct machine_desc
>> fail.  I tracked this back to commit 6c7e660a27da7494c670bfba21cfeba30457656c
>> dated Jan 23 2013
>>
>>     gpio: pxa: set initcall level to module init
>>
>>     gpio & pinctrl driver are used together. The pinctrl driver is already
>>     launched before gpio driver in Makefile. So set gpio driver to module
>>     init level. Otherwise, the sequence will be inverted.
>>
>>     Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro•org>
>>     Signed-off-by: Linus Walleij <linus.walleij@linaro•org>
>>
>> At the time, Haojian addressed a question about this patch regarding module
>> dependencies, advising use of the deferred probe infrastructure.  But unless I'm
>> mistaken, mine is an initcall level problem, not a dependency issue among driver
>> probes.  Now that gpio-pxa initialization is at the device level (initcall6),
>> calls to gpiolib are no longer possible from init_machine(), which remains at
>> the initcall3 level.
>>
>> I feel like I must be missing something, because a lot of pxa boards call
>> gpiolib from init machine(), so my breakage should not be an isolated case.
>>
>> If I'm not missing anything and the patch is necessary, it looks like one
>> solution would be to move all the initializations that use gpiolib to the
>> init_late method in struct machine_desc, which runs as initcall7.
>>
>> Grateful for any advice!
>>
>> Thanks,
>> Mike
> 
> Actually gpio request should be handled in the driver, not machine platform
> driver. For example, lcd init may request gpio. pxafb.c provides the callback
> to handle it. We need to move code of requesting gpio into the callback.


Yes, I see.  Thanks for the example.


> 
> Since this change breaks current platform, we have to revert it. We still need
> a code cleanup in arch-pxa directory.


I knew some cleanup was needed to the palm stuff, but didn't realize the extent.
 Should not be too difficult; I hope to have patches soon.  But there are other
pxa boards that grab various gpios in init_machine() and may not be as
straightforward.


> 
> Linus,
> Could you help to revert this commit? Or do I need to send a revert commit
> to you?


Will the big guy see this?  Only posted to linux-arm-kernel ML.

Thanks Haojian,
Mike

  reply	other threads:[~2013-04-21 22:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-20 15:26 gpio-pxa initcall level change and machine init breakage Mike Dunn
2013-04-21  6:02 ` Haojian Zhuang
2013-04-21 22:23   ` Mike Dunn [this message]
2013-04-22  0:58     ` Haojian Zhuang
2013-04-23  7:26       ` Linus Walleij
2013-04-23  7:49         ` Haojian Zhuang
2013-04-23 19:42         ` Mike Dunn
2013-04-24 19:37           ` Linus Walleij
2013-04-25 19:36             ` Robert Jarzmik
2013-04-25 21:22               ` Linus Walleij
2013-04-26 17:48                 ` Robert Jarzmik
2013-04-26 12:38               ` Mike Dunn
2013-04-24 16:07   ` Mike Dunn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=517466F6.3000003@newsguy.com \
    --to=mikedunn@newsguy$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox