summaryrefslogtreecommitdiffstats
path: root/drivers/sh/pfc/pinctrl.c
Commit message (Collapse)AuthorAgeFilesLines
* sh: pfc: Fix up init ordering mess.Paul Mundt2012-08-011-17/+15
| | | | | | | | | | | | | | | | | | | | | Commit ca5481c68e9fbcea62bb3c78ae6cccf99ca8fb73 ("sh: pfc: Rudimentary pinctrl-backed GPIO support.") introduced a regression for platforms that were doing early GPIO API calls (from arch_initcall() or earlier), leading to a situation where our two-stage registration logic would trip itself up and we'd -ENODEV out of the pinctrl registration path, resulting in endless -EPROBE_DEFER errors. Further lack of checking any sort of errors from gpio_request() resulted in boot time warnings, tripping on the FLAG_REQUESTED test-and-set in gpio_ensure_requested(). As it turns out there's no particular need to bother with the two-stage registration, as the platform bus is already available at the point that we have to start caring. As such, it's easiest to simply fold these together in to a single init path, the ordering of which is ensured through the platform's mux registration, as usual. Reported-by: Rafael J. Wysocki <rjw@sisk.pl> Reported-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pfc: Build fix for pinctrl_remove_gpio_range() changes.Paul Mundt2012-07-251-2/+0
| | | | | | | pinctrl_remove_gpio_range() is now handled by the pinctrl core in the unreg path for some reason, so use that instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pfc: pin config get/set support.Paul Mundt2012-07-201-50/+97
| | | | | | | | | This implements simple support for adjusting the pin config value via the pinctrl API. The pinconf-generic code is abandoned for now until we've got a chance to revamp the pinmux_type state tracking that's needed by legacy code. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pfc: Prefer DRV_NAME over KBUILD_MODNAME.Paul Mundt2012-07-201-5/+7
| | | | | | | While this code is still being shuffled around the KBUILD_MODNAME value isn't particularly useful, switch to something a bit more useful. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pfc: pinctrl legacy group support.Paul Mundt2012-07-171-10/+16
| | | | | | | | This follows the function support by simply doing 1 pin per group encapsulation in order to keep with legacy behaviour. This will be built on incrementally as SoCs define their own pin groups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pfc: Ignore pinmux GPIOs with invalid enum IDs.Paul Mundt2012-07-171-0/+4
| | | | | | | If we encounter invalid entries in the pinmux GPIO range, make sure we've still got a dummy pin definition but don't otherwise map it. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pfc: Export pinctrl binding init symbol.Paul Mundt2012-07-171-0/+1
| | | | | | | symbol_request() requires the registration symbol to be exported, make sure it is. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pfc: Make pr_fmt consistent across pfc drivers.Paul Mundt2012-07-111-1/+1
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pfc: pinctrl legacy function support.Paul Mundt2012-07-111-33/+132
| | | | | | | | | This maps out all of the function types to pinctrl function groups. Presently this is restricted to one pin per function to maintain compatability with legacy behaviour. This will be extended as groups are introduced and exiting users migrated. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pfc: Rudimentary pinctrl-backed GPIO support.Paul Mundt2012-07-101-0/+371
This begins the migration of the PFC core to the pinctrl subsystem. Initial support is very basic, with the bulk of the implementation simply being nopped out in such a way to allow registration with the pinctrl core to succeed. The gpio chip driver is stripped down considerably now relying purely on pinctrl API calls to manage the bulk of its operations. This provides a basis for further PFC refactoring, including decoupling pin functions from the GPIO API, establishing pin groups, and so forth. These will all be dealt with incrementally so as to introduce as few growing and migratory pains to tree-wide PFC pinmux users today. When the interfaces have been well established and in-tree users have been migrated off of the legacy interfaces it will be possible to strip down the core considerably, leading to eventual drivers/pinctrl rehoming. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
OpenPOWER on IntegriCloud