linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/29] SH pinctrl and pinmux implementation
@ 2013-01-09  0:52 Laurent Pinchart
  2013-01-09  2:36 ` Simon Horman
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Laurent Pinchart @ 2013-01-09  0:52 UTC (permalink / raw)
  To: linux-sh

Hello,

Here's the second version of the SuperH and SH Mobile pin controllers (PFC)
pinctrl and pinmux support patches. The patches are based on my previous PFC
patch series ("[PATCH v4 00/81] SH pin control and GPIO rework") and are
available from my git tree at

        git://linuxtv.org/pinchartl/fbdev.git pinmux-pinctrl

The series depends on three patches from Linus Walleij that implement default
pinmux configuration in the device core. This solves the bonito board issue
mentioned in v1. Those patches are included in this set for convenience.

As the two dependencies will go to mainline through separate trees we will
need coordination to push this set. It would probably be easier if it went
through the mach-shmobile tree, in which case Linus' patches should go in
early during the merge window. Linus, would that be fine with you ? Are your
three patches included in this series ready for mainline ? If so, can you
provide a stable branch that you will push ?

The series start with miscellaneous cleanup and rework patches that slowly get
the code in shape. Patches 15/29 and 16/29 then rework the GPIO code to split
real GPIOs and function GPIOS in two gpio_chip instances. Patches 17/22 and
18/22 are two more miscellaneous cleanups to prepare for patch 19/22 that
implements real pinctrl and pinmux support.

This pinctrl and pinmux implementation simply replaces the existing one. This
should be safe as I've verified that the pinctrl and pinmux APIs are not used
by any SuperH or SH Mobile board code or driver.

The remaining patches then define LCD controller pin groups and functions for
the sh73a0 and r8a7740 SoCs and port the kzm9g, armadillo800eva and bonito
boards to the pinmux API to set the initial pinmux configuration.

Patch 22/29 is a bug fix that could go in independently of the whole set.

Changes since v1:

- Port the bonito board to the pinmux API
- Set the pins gpio_chip dev field correctly

Laurent Pinchart (26):
  sh-pfc: Drop the sh_pfc_pinctrl spinlock
  sh-pfc: Don't take the sh_pfc spinlock in sh_pfc_map_gpios()
  sh-pfc: Use GPIO_FN instead of PINMUX_GPIO where possible
  sh-pfc: Use _GPIO_PORT instead of PINMUX_GPIO where possible
  sh-pfc: Replace first_gpio and last_gpio with nr_gpios
  sh-pfc: Replace SoC info data and mark ranges with a number of pins
  sh-pfc: Remove unused sh_pfc_soc_info reserved_id field
  sh-pfc: Initialize pinmux_gpio flags statically
  sh-pfc: Make struct pinmux_gpio enum_id field const
  sh-pfc: Shrink the pinctrl GPIO range to include real GPIOs only
  sh-pfc: Don't needlessly check GPIO type in sh_gpio_free()
  sh-pfc: Split pins and functions definition tables
  sh-pfc: Split pins and functions into separate gpio_chip instances
  sh-pfc: Rename struct pinmux_pin to struct sh_pfc_pin
  sh-pfc: Look up IRQ table entries by GPIO number
  sh-pfc: Expose real groups and functions in pinctrl/pinmux operations
  sh-pfc: sh73a0: Add LCD and LCD2 pin groups and functions
  sh-pfc: r8a7740: Add LCDC0 and LCDC1 pin groups and functions
  ARM: shmobile: kzm9g: Use of_machine_is_compatible()
  ARM: shmobile: kzm9g: Register pinctrl mappings for LCD
  sh-pfc: sh73a0: Remove LCD and LCD2 function GPIOS
  ARM: shmobile: sh73a0: Remove LCDC and LCDC2 function GPIOs
  ARM: shmobile: armadillo800eva: Register pinctrl mappings for LCDC0
  ARM: shmobile: bonito: Register pinctrl mappings for LCDC0
  sh-pfc: r8a7740: Remove LCD0 and LCD1 function GPIOS
  ARM: shmobile: r8a7740: Remove LCD0 and LCD1 function GPIOs

Linus Walleij (3):
  pinctrl: fix comment mistake
  pinctrl: skip deferral of hogs
  drivers/pinctrl: grab default handles from device core

 Documentation/pinctrl.txt                      |   24 +-
 arch/arm/mach-shmobile/board-armadillo800eva.c |   41 +-
 arch/arm/mach-shmobile/board-bonito.c          |   43 +-
 arch/arm/mach-shmobile/board-kzm9g.c           |   39 +-
 arch/arm/mach-shmobile/include/mach/r8a7740.h  |   39 -
 arch/arm/mach-shmobile/include/mach/sh73a0.h   |  112 ++--
 drivers/base/Makefile                          |    1 +
 drivers/base/dd.c                              |    7 +
 drivers/base/pinctrl.c                         |   81 ++
 drivers/pinctrl/core.c                         |   40 +-
 drivers/pinctrl/sh-pfc/core.c                  |   71 ++-
 drivers/pinctrl/sh-pfc/core.h                  |    6 +-
 drivers/pinctrl/sh-pfc/gpio.c                  |  198 ++++--
 drivers/pinctrl/sh-pfc/pfc-r8a7740.c           |  396 ++++++++--
 drivers/pinctrl/sh-pfc/pfc-r8a7779.c           |   17 +-
 drivers/pinctrl/sh-pfc/pfc-sh7203.c            |  678 ++++++++--------
 drivers/pinctrl/sh-pfc/pfc-sh7264.c            |  694 ++++++++--------
 drivers/pinctrl/sh-pfc/pfc-sh7269.c            |  898 +++++++++++-----------
 drivers/pinctrl/sh-pfc/pfc-sh7372.c            |   82 +-
 drivers/pinctrl/sh-pfc/pfc-sh73a0.c            |  409 +++++++---
 drivers/pinctrl/sh-pfc/pfc-sh7720.c            |  559 +++++++-------
 drivers/pinctrl/sh-pfc/pfc-sh7722.c            |  770 +++++++++---------
 drivers/pinctrl/sh-pfc/pfc-sh7723.c            |  974 +++++++++++-----------
 drivers/pinctrl/sh-pfc/pfc-sh7724.c            |  990 ++++++++++++------------
 drivers/pinctrl/sh-pfc/pfc-sh7734.c            |   16 +-
 drivers/pinctrl/sh-pfc/pfc-sh7757.c            | 1020 ++++++++++++------------
 drivers/pinctrl/sh-pfc/pfc-sh7785.c            |  568 +++++++-------
 drivers/pinctrl/sh-pfc/pfc-sh7786.c            |  408 +++++-----
 drivers/pinctrl/sh-pfc/pfc-shx3.c              |  264 +++---
 drivers/pinctrl/sh-pfc/pinctrl.c               |  184 ++---
 drivers/pinctrl/sh-pfc/sh_pfc.h                |   75 ++-
 include/linux/device.h                         |    7 +
 include/linux/pinctrl/devinfo.h                |   45 +
 33 files changed, 5185 insertions(+), 4571 deletions(-)
 create mode 100644 drivers/base/pinctrl.c
 create mode 100644 include/linux/pinctrl/devinfo.h

-- 
Regards,

Laurent Pinchart


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

end of thread, other threads:[~2013-01-15  0:35 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-09  0:52 [PATCH v2 00/29] SH pinctrl and pinmux implementation Laurent Pinchart
2013-01-09  2:36 ` Simon Horman
2013-01-09  7:06 ` Simon Horman
2013-01-09  7:08 ` Simon Horman
2013-01-09  9:29 ` Laurent Pinchart
2013-01-09  9:34 ` Laurent Pinchart
2013-01-10  1:30 ` Simon Horman
2013-01-10  1:31 ` Simon Horman
2013-01-13 20:24 ` Linus Walleij
2013-01-15  0:35 ` Simon Horman

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