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
next prev parent 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