[PATCH 00/20] iPAQ h3100/h3600 work for 2.6.33
Dmitry Artamonow
mad_soft at inbox.ru
Sun Oct 25 11:36:03 EDT 2009
On 22:10 Sat 24 Oct , Russell King - ARM Linux wrote:
>
> That's fine, and the patches to me at least look fine as well. The only
> thing which gives me slight concern is the:
>
> if (!gpio_request()) {
> gpio_direction_output();
> gpio_free();
> }
>
> stuff, but I guess you can't get around that easily, especially if those
> GPIOs only become available at some time later. It is something that
> eventually needs to be addressed though - consider that this can lead
> to unexpected (and silent) failures if the GPIOs aren't available when
> another driver initializes, and can't (eg) turn on the IrDA tranceiver.
Yes, you right here about silent failures. I think they could be made less
silent by inserting some pr_err()-s , though it would bloat code a
bit (I'd like to see request_gpio() itself emitting error message,
but currectly it does that only when CONFIG_DEBUG_GPIO is set).
Ok, here's incremental patch adding pr_err-s in attachment - if you're
OK with it I will roll it into [09/20] and rebase all following patches.
Also perhaps it's a good idea to always built-in htc-egpio driver
(by adding "select HTC_EGPIO" to h3100/h3600 Kconfig options) - that should
decrease probability of gpio_request failures a lot. Patch also
attached.
Anyway these gpio_requests in callbacks is temporary solution.
In a long term I'd really like to see proper init/exit hooks in
corresponding drivers, but it's hard to say how much work it will
require.
--
Best regards,
Dmitry "MAD" Artamonow
More information about the linux-arm-kernel
mailing list