linux-pwm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/1] pwm: pca9685: fix gpio-only operation.
@ 2017-04-12 15:15 Sven Van Asbroeck
  2017-04-12 15:15 ` [PATCH v3 1/1] " Sven Van Asbroeck
  0 siblings, 1 reply; 3+ messages in thread
From: Sven Van Asbroeck @ 2017-04-12 15:15 UTC (permalink / raw)
  To: thierry.reding
  Cc: linux-pwm, linux-kernel, clemens.gruber, mika.westerberg,
	andriy.shevchenko

Mika, I investigated what's required to suspend the device on remove,
by compiling as a module and running insmod/rmmod in various
circumstances.

As you suspected, pm_runtime_suspend() is unneccessary. I removed it,
and the chip is suspended ok when the module unloads. But this could be
because the pm_runtime refcnt is always zero when _remove() is called ?

When unloading the module (rmmod) :
If a gpio is still exported, the kernel unexports the gpio before calling
_remove().
If a pwm is still exported, the kernel refuses to rmmod the module. Even
'rmmod -f' does not work.

I am not sure if the kernel will ever call _unload() without releasing
the associated pwms/gpios. And if it ever does, I am also not sure how
we could convince pm_runtime to go to suspend.

v3:
	remove unnecessary call to pm_runtime_suspend()

	fix coding style for multi-line comment
	(checkpatch.pl should ideally catch this, but did not?)

v2:
	the pm_runtime framework controls the SLEEP bit, as suggested by
	Mika Westerberg.

v1:
	the SLEEP bit is always on.

Sven Van Asbroeck (1):
  pwm: pca9685: fix gpio-only operation.

 drivers/pwm/pwm-pca9685.c | 111 ++++++++++++++++++++++++++++++++--------------
 1 file changed, 78 insertions(+), 33 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-04-13  8:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-12 15:15 [PATCH v3 0/1] pwm: pca9685: fix gpio-only operation Sven Van Asbroeck
2017-04-12 15:15 ` [PATCH v3 1/1] " Sven Van Asbroeck
2017-04-13  8:15   ` Mika Westerberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).