linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/20] pinctrl: API change, config in mapping table
@ 2012-02-20  6:45 Stephen Warren
  2012-02-20  6:45 ` [PATCH 01/20] pinctrl: pinctrl_register_mappings() shouldn't be __init Stephen Warren
                   ` (20 more replies)
  0 siblings, 21 replies; 85+ messages in thread
From: Stephen Warren @ 2012-02-20  6:45 UTC (permalink / raw)
  To: Linus Walleij
  Cc: B29396, s.hauer, dongas86, shawn.guo, thomas.abraham, tony,
	linux-kernel, Stephen Warren

These changes:
* Rework the pinctrl API as we discussed at Linaro Connect.
* Allow specifying pin config settings in the mapping table in addition
  to mux options, as we agreed upon at Linaro Connect.
* Various cleanups and refactorings aimed at supporting the changes above.

TODO in this patch set:
* Test build of non-Tegra platforms.
* Test build with pinmux/pinconf disabled.
... but I figure it was a good idea to send out for comments ASAP.

TODO in future patch sets:
* Implement device tree support in pinctrl core and a pinctrl driver.
* Remove pin config APIs from pinctrl now that the mapping table supports
  pin config?

I've tested this all on a couple Tegra boards, including hacking in a single
pin config and dummy state mapping table entry. I've got patches for Tegra
boards that use the explicit pin config APIs, and need to convert them to
using the pin config mapping table entries for more complete testing.

(In the diffstat below, I /think/ the first 19 patches are a net negative in
line-count, and only the last patch, which implements a new feature, adds a
significant number of lines)

Stephen Warren (20):
  pinctrl: pinctrl_register_mappings() shouldn't be __init
  pinctrl: use list_add_tail instead of list_add
  pinctrl: Store mapping table as a list of chunks
  pinctrl: Record a pin owner, not mux function, when requesting pins
  pinctrl: Re-order pinmux.[ch] to match each-other
  pinctrl: Re-order pinconf.[ch] to match each-other
  pinctrl: core.c/h cleanups
  pinctrl: Assume map table entries can't have a NULL name field
  pinctrl: Disallow map table entries with NULL dev_name field
  pinctrl: Assume map table entries can't have a NULL ctrl_dev_name
    field
  pinctrl: Downgrade pinctrl_get warning when no maps are found
  pinctrl: Use dev_*() instead of pr_*(), add some msgs, minor cleanups
  pinctrl: Error if mapping table's control dev can't be found
  pinctrl: Allocate sizeof(*p) instead of sizeof(struct foo)
  pinctrl: Fix and simplify locking
  pinctrl: Refactor struct pinctrl handling in core.c vs pinmux.c
  pinctrl: Add usecount to pins for muxing
  pinctrl: Fix pinconf_groups_show() to emit newline
  pinctrl: API changes to support multiple states per device
  pinctrl: Enhance mapping table to support pin config operations

 Documentation/pinctrl.txt         |  244 +++++++----
 arch/arm/mach-u300/core.c         |   28 +-
 drivers/pinctrl/core.c            |  936 +++++++++++++++++++++----------------
 drivers/pinctrl/core.h            |  100 +++--
 drivers/pinctrl/pinconf.c         |  288 ++++++++++--
 drivers/pinctrl/pinconf.h         |   45 ++-
 drivers/pinctrl/pinmux.c          |  578 ++++++++---------------
 drivers/pinctrl/pinmux.h          |   61 ++--
 drivers/tty/serial/sirfsoc_uart.c |   12 +-
 include/linux/pinctrl/consumer.h  |   55 ++-
 include/linux/pinctrl/machine.h   |  131 ++++--
 include/linux/pinctrl/pinctrl.h   |    1 -
 12 files changed, 1438 insertions(+), 1041 deletions(-)

-- 
1.7.5.4


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

end of thread, other threads:[~2012-02-29  2:20 UTC | newest]

Thread overview: 85+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-20  6:45 [PATCH 00/20] pinctrl: API change, config in mapping table Stephen Warren
2012-02-20  6:45 ` [PATCH 01/20] pinctrl: pinctrl_register_mappings() shouldn't be __init Stephen Warren
2012-02-20 21:01   ` Linus Walleij
2012-02-20  6:45 ` [PATCH 02/20] pinctrl: use list_add_tail instead of list_add Stephen Warren
2012-02-20 21:03   ` Linus Walleij
2012-02-20  6:45 ` [PATCH 03/20] pinctrl: Store mapping table as a list of chunks Stephen Warren
2012-02-20 21:08   ` Linus Walleij
2012-02-20  6:45 ` [PATCH 04/20] pinctrl: Record a pin owner, not mux function, when requesting pins Stephen Warren
2012-02-20 21:15   ` Linus Walleij
2012-02-21 17:23     ` Stephen Warren
2012-02-22  6:17       ` Linus Walleij
2012-02-20  6:45 ` [PATCH 05/20] pinctrl: Re-order pinmux.[ch] to match each-other Stephen Warren
2012-02-20 21:17   ` Linus Walleij
2012-02-20  6:45 ` [PATCH 06/20] pinctrl: Re-order pinconf.[ch] " Stephen Warren
2012-02-20 21:18   ` Linus Walleij
2012-02-20  6:45 ` [PATCH 07/20] pinctrl: core.c/h cleanups Stephen Warren
2012-02-20 21:20   ` Linus Walleij
2012-02-20  6:45 ` [PATCH 08/20] pinctrl: Assume map table entries can't have a NULL name field Stephen Warren
2012-02-20 21:42   ` Linus Walleij
2012-02-21 13:09     ` Dong Aisheng
2012-02-21 13:12       ` Linus Walleij
2012-02-21 17:46     ` Stephen Warren
2012-02-22  6:13       ` Linus Walleij
2012-02-22  6:34       ` Dong Aisheng
2012-02-22 18:05         ` Stephen Warren
2012-02-23  3:35           ` Dong Aisheng
2012-02-23  3:39             ` Stephen Warren
2012-02-23  3:56               ` Dong Aisheng
2012-02-23  3:53                 ` Stephen Warren
2012-02-23  4:48                   ` Dong Aisheng
2012-02-23 16:39                     ` Stephen Warren
2012-02-24  8:40                       ` Dong Aisheng
2012-02-21 13:08   ` Dong Aisheng
2012-02-21 17:38     ` Stephen Warren
2012-02-22  6:21       ` Dong Aisheng
2012-02-20  6:45 ` [PATCH 09/20] pinctrl: Disallow map table entries with NULL dev_name field Stephen Warren
2012-02-20 21:49   ` Linus Walleij
2012-02-22  6:46   ` Dong Aisheng
2012-02-20  6:45 ` [PATCH 10/20] pinctrl: Assume map table entries can't have a NULL ctrl_dev_name field Stephen Warren
2012-02-21 13:36   ` Linus Walleij
2012-02-22  6:49   ` Dong Aisheng
2012-02-20  6:45 ` [PATCH 11/20] pinctrl: Downgrade pinctrl_get warning when no maps are found Stephen Warren
2012-02-21 13:51   ` Linus Walleij
2012-02-22  5:54     ` Shawn Guo
2012-02-22  6:56     ` Dong Aisheng
2012-02-22 17:21       ` Stephen Warren
2012-02-23  3:48         ` Dong Aisheng
2012-02-20  6:45 ` [PATCH 12/20] pinctrl: Use dev_*() instead of pr_*(), add some msgs, minor cleanups Stephen Warren
2012-02-22  6:23   ` Linus Walleij
2012-02-22  7:01   ` Dong Aisheng
2012-02-20  6:45 ` [PATCH 13/20] pinctrl: Error if mapping table's control dev can't be found Stephen Warren
2012-02-21 13:58   ` Linus Walleij
2012-02-21 17:50     ` Stephen Warren
2012-02-20  6:45 ` [PATCH 14/20] pinctrl: Allocate sizeof(*p) instead of sizeof(struct foo) Stephen Warren
2012-02-22  6:25   ` Linus Walleij
2012-02-22  7:04   ` Dong Aisheng
2012-02-20  6:45 ` [PATCH 15/20] pinctrl: Fix and simplify locking Stephen Warren
2012-02-22 17:38   ` Linus Walleij
2012-02-22 18:26     ` Stephen Warren
2012-02-23  0:18       ` Stephen Warren
2012-02-20  6:45 ` [PATCH 16/20] pinctrl: Refactor struct pinctrl handling in core.c vs pinmux.c Stephen Warren
2012-02-22 17:18   ` Linus Walleij
2012-02-24 16:55   ` Dong Aisheng
2012-02-20  6:45 ` [PATCH 17/20] pinctrl: Add usecount to pins for muxing Stephen Warren
2012-02-22 17:21   ` Linus Walleij
2012-02-27  7:11   ` Dong Aisheng
2012-02-27 18:21     ` Stephen Warren
2012-02-20  6:45 ` [PATCH 18/20] pinctrl: Fix pinconf_groups_show() to emit newline Stephen Warren
2012-02-22 17:43   ` Linus Walleij
2012-02-20  6:45 ` [PATCH 19/20] pinctrl: API changes to support multiple states per device Stephen Warren
2012-02-23  5:54   ` Linus Walleij
2012-02-23 16:46     ` Stephen Warren
2012-02-27  9:07   ` Dong Aisheng
2012-02-27 18:37     ` Stephen Warren
2012-02-28  3:18       ` Dong Aisheng
2012-02-28 17:04         ` Stephen Warren
2012-02-29  2:26           ` Dong Aisheng
2012-02-20  6:46 ` [PATCH 20/20] pinctrl: Enhance mapping table to support pin config operations Stephen Warren
2012-02-23  6:08   ` Linus Walleij
2012-02-23 16:48     ` Stephen Warren
2012-02-23 21:13     ` Stephen Warren
2012-02-27 12:21   ` Dong Aisheng
2012-02-27 19:02     ` Stephen Warren
2012-02-28  3:41       ` Dong Aisheng
2012-02-20 21:51 ` [PATCH 00/20] pinctrl: API change, config in mapping table Linus Walleij

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).