diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 12:40:35 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 12:40:35 -0400 |
| commit | 000a74f41e601bc4e36a760aa42f219a019c5391 (patch) | |
| tree | 6ff200c5112af40ef97afacac07f862aa428edb9 /include | |
| parent | 8127b39e700f965a60fca443d23f3e171bf7c3a9 (diff) | |
| parent | 42fed7ba44e4e8c1fb27b28ad14490cb1daff3c7 (diff) | |
Merge tag 'pinctrl-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pinctrl update from Linus Walleij:
"These are the pinctrl changes for v3.10:
- Patrice Chotard contributed a new configuration debugfs interface
and reintroduced fine-grained locking into the core: instead of
having a "big pinctrl lock" we have a per-controller lock and
specialized locks for the global controller and pinctrl handle
lists.
- Haoijan Zhuang deleted all the PXA and MMP2 pinctrl drivers and
replaced them with pinctrl-single (which is also used by other
SoCs) so we are gaining consolidation. The platform particulars
now come in through the device tree.
- Haoijan also added support for generic pin config into the
pinctrl-single driver which is another big consolidation win.
- Finally also GPIO ranges are now supported by the pinctrl-single
driver.
- Tomasz Figa contributed a new Samsung S3C pinctrl driver, bringing
more of the older Samsung platforms under the pinctrl umbrella and
out of arch/arm.
- Maxime Ripard contributed new Allwinner A10/A13 drivers.
- Sachin Kamat, Wei Yongjun and Axel Lin did a lot of cleanups."
* tag 'pinctrl-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (66 commits)
pinctrl: move subsystem mutex to pinctrl_dev struct
pinctrl/pinconfig: fix misplaced goto
pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter
pinctrl/pinconfig: add debug interface
pinctrl: abx500: fix issue when no pdata
pinctrl: pinctrl-single: add missing double quote
pinctrl: sunxi: Rename wemac functions to emac
pinctrl: exynos5440: add gpio interrupt support
pinctrl: exynos5440: fix probe failure due to missing pin-list in config nodes
pinctrl: ab8505: Staticize some symbols
pinctrl: ab8540: Staticize some symbols
pinctrl: ab9540: Staticize some symbols
pinctrl: ab8500: Staticize some symbols
pinctrl: abx500: Staticize some symbols
pinctrl: Add pinctrl-s3c64xx driver
pinctrl: samsung: Handle banks with two configuration registers
pinctrl: samsung: Remove hardcoded register offsets
pinctrl: samsung: Split pin bank description into two structures
pinctrl: samsung: Include pinctrl-exynos driver data conditionally
pinctrl: samsung: Protect bank registers with a spinlock
...
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/pinctrl/pinconf.h | 6 | ||||
| -rw-r--r-- | include/linux/pinctrl/pinctrl.h | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/pinctrl/pinconf.h b/include/linux/pinctrl/pinconf.h index e7a720104a47..1ad4f31ef6b8 100644 --- a/include/linux/pinctrl/pinconf.h +++ b/include/linux/pinctrl/pinconf.h | |||
| @@ -14,6 +14,8 @@ | |||
| 14 | 14 | ||
| 15 | #ifdef CONFIG_PINCONF | 15 | #ifdef CONFIG_PINCONF |
| 16 | 16 | ||
| 17 | #include <linux/pinctrl/machine.h> | ||
| 18 | |||
| 17 | struct pinctrl_dev; | 19 | struct pinctrl_dev; |
| 18 | struct seq_file; | 20 | struct seq_file; |
| 19 | 21 | ||
| @@ -28,6 +30,7 @@ struct seq_file; | |||
| 28 | * @pin_config_set: configure an individual pin | 30 | * @pin_config_set: configure an individual pin |
| 29 | * @pin_config_group_get: get configurations for an entire pin group | 31 | * @pin_config_group_get: get configurations for an entire pin group |
| 30 | * @pin_config_group_set: configure all pins in a group | 32 | * @pin_config_group_set: configure all pins in a group |
| 33 | * @pin_config_group_dbg_set: optional debugfs to modify a pin configuration | ||
| 31 | * @pin_config_dbg_show: optional debugfs display hook that will provide | 34 | * @pin_config_dbg_show: optional debugfs display hook that will provide |
| 32 | * per-device info for a certain pin in debugfs | 35 | * per-device info for a certain pin in debugfs |
| 33 | * @pin_config_group_dbg_show: optional debugfs display hook that will provide | 36 | * @pin_config_group_dbg_show: optional debugfs display hook that will provide |
| @@ -51,6 +54,9 @@ struct pinconf_ops { | |||
| 51 | int (*pin_config_group_set) (struct pinctrl_dev *pctldev, | 54 | int (*pin_config_group_set) (struct pinctrl_dev *pctldev, |
| 52 | unsigned selector, | 55 | unsigned selector, |
| 53 | unsigned long config); | 56 | unsigned long config); |
| 57 | int (*pin_config_dbg_parse_modify) (struct pinctrl_dev *pctldev, | ||
| 58 | const char *arg, | ||
| 59 | unsigned long *config); | ||
| 54 | void (*pin_config_dbg_show) (struct pinctrl_dev *pctldev, | 60 | void (*pin_config_dbg_show) (struct pinctrl_dev *pctldev, |
| 55 | struct seq_file *s, | 61 | struct seq_file *s, |
| 56 | unsigned offset); | 62 | unsigned offset); |
diff --git a/include/linux/pinctrl/pinctrl.h b/include/linux/pinctrl/pinctrl.h index 778804df293f..2c2a9e8d8578 100644 --- a/include/linux/pinctrl/pinctrl.h +++ b/include/linux/pinctrl/pinctrl.h | |||
| @@ -118,9 +118,9 @@ struct pinctrl_desc { | |||
| 118 | const char *name; | 118 | const char *name; |
| 119 | struct pinctrl_pin_desc const *pins; | 119 | struct pinctrl_pin_desc const *pins; |
| 120 | unsigned int npins; | 120 | unsigned int npins; |
| 121 | struct pinctrl_ops *pctlops; | 121 | const struct pinctrl_ops *pctlops; |
| 122 | struct pinmux_ops *pmxops; | 122 | const struct pinmux_ops *pmxops; |
| 123 | struct pinconf_ops *confops; | 123 | const struct pinconf_ops *confops; |
| 124 | struct module *owner; | 124 | struct module *owner; |
| 125 | }; | 125 | }; |
| 126 | 126 | ||
