Subject: [PATCH v3] ARM: OMAP3: PM: fix I/O wakeup and I/O chain clock control detection

From: [email-masked] (Kevin Hilman)
Date: Fri, 07 Oct 2011 13:40:26 -0700

Paul Walmsley <[email-masked]> writes:

> The way that we detect which OMAP3 chips support I/O wakeup and
> software I/O chain clock control is broken.
>
> Currently, I/O wakeup is marked as present for all OMAP3 SoCs other
> than the AM3505/3517.  The TI81xx family of SoCs are at present
> considered to be OMAP3 SoCs, but don't support I/O wakeup.  To resolve
> this, convert the existing blacklist approach to an explicit,
> whitelist support, in which only SoCs which are known to support I/O
> wakeup are listed.  (At present, this only includes OMAP34xx,
> OMAP3503, OMAP3515, OMAP3525, OMAP3530, and OMAP36xx.)
>
> Also, the current code incorrectly detects the presence of a
> software-controllable I/O chain clock on several chips that don't
> support it.  This results in writes to reserved bitfields, unnecessary
> delays, and console messages on kernels running on those chips:
>
>     http://www.spinics.net/lists/linux-omap/msg58735.html
>
> Convert this test to a feature test with a chip-by-chip whitelist.
>
> Thanks to Dave Hylands <[email-masked]> for reporting this problem
> and doing some testing to help isolate the cause.  Thanks to Steve
> Sakoman <[email-masked]> for catching a bug in the first version of
> this patch.  Thanks to Russell King <[email-masked]> for
> comments.
>
> Signed-off-by: Paul Walmsley <[email-masked]>
> Cc: Kevin Hilman <[email-masked]>
> Cc: Dave Hylands <[email-masked]>
> Cc: Steve Sakoman <[email-masked]>
> Tested-by: Steve Sakoman <[email-masked]>
> Cc: Russell King - ARM Linux <[email-masked]>
> ---
>
> This version incorporates some comments from RMK - an unnecessary 
> set of parentheses are removed and a two-part error message string is 
> joined.  Also, the printk(KERN_ERR has been converted into a pr_err(. 

OK, looks like we made some parallel changes.

Dropping my version and will queue this one (branch: for_3.2/pm-cleanup-2)

Kevin