[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170410103320.GG2957@lahna.fi.intel.com>
Date: Mon, 10 Apr 2017 13:33:20 +0300
From: Mika Westerberg <mika.westerberg@...ux.intel.com>
To: Sven Van Asbroeck <thesven73@...il.com>
Cc: thierry.reding@...il.com, linux-pwm@...r.kernel.org,
linux-kernel@...r.kernel.org, clemens.gruber@...ruber.com,
andriy.shevchenko@...ux.intel.com,
Sven Van Asbroeck <TheSven73@...glemail.com>
Subject: Re: [PATCH 1/1] pwm: pca9685: fix gpio-only operation.
On Sun, Apr 09, 2017 at 12:11:24PM -0400, Sven Van Asbroeck wrote:
> gpio-only driver operation never clears the SLEEP bit, which can
> cause the gpios to become unusable.
>
> Example:
> 1. user requests first pwm -> driver clears SLEEP bit
> 2. user frees last pwm -> driver sets SLEEP bit
> 3. user requests gpio
> 4. user switches gpio on -> output does not turn on
> because SLEEP bit is set
>
> Prevent this behaviour by keeping the SLEEP bit cleared
> for the lifetime of the driver instance.
>
> Fixes: bccec89f0a35 ("Allow any of the 16 PWMs to be used as a GPIO")
> Signed-off-by: Sven Van Asbroeck <TheSven73@...glemail.com>
How about implementing a real runtime PM in the driver? Then when the
device is idle regardless of whether it is GPIO or PWM, the SLEEP bit is
set and cleared accordingly.
Powered by blists - more mailing lists