aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinmux.c
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2012-02-20 01:45:45 -0500
committerLinus Walleij <linus.walleij@linaro.org>2012-02-22 11:59:32 -0500
commit03665e0f248d6b7542f72cd7c4ec521109f283c7 (patch)
tree72761b986a95728508f9d9871f30059ba3a409bc /drivers/pinctrl/pinmux.c
parentb2b3e66e40bb60b1aa222d2f712c019653215390 (diff)
pinctrl: Re-order pinmux.[ch] to match each-other
Modify the two files so that the order of function prototypes in the header matches the order of implementations in the .c file. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinmux.c')
-rw-r--r--drivers/pinctrl/pinmux.c56
1 files changed, 28 insertions, 28 deletions
diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c
index 5a09cd202208..ea31c4655667 100644
--- a/drivers/pinctrl/pinmux.c
+++ b/drivers/pinctrl/pinmux.c
@@ -40,6 +40,34 @@ struct pinmux_group {
40 unsigned group_selector; 40 unsigned group_selector;
41}; 41};
42 42
43int pinmux_check_ops(struct pinctrl_dev *pctldev)
44{
45 const struct pinmux_ops *ops = pctldev->desc->pmxops;
46 unsigned selector = 0;
47
48 /* Check that we implement required operations */
49 if (!ops->list_functions ||
50 !ops->get_function_name ||
51 !ops->get_function_groups ||
52 !ops->enable ||
53 !ops->disable)
54 return -EINVAL;
55
56 /* Check that all functions registered have names */
57 while (ops->list_functions(pctldev, selector) >= 0) {
58 const char *fname = ops->get_function_name(pctldev,
59 selector);
60 if (!fname) {
61 pr_err("pinmux ops has no name for function%u\n",
62 selector);
63 return -EINVAL;
64 }
65 selector++;
66 }
67
68 return 0;
69}
70
43/** 71/**
44 * pin_request() - request a single pin to be muxed in, typically for GPIO 72 * pin_request() - request a single pin to be muxed in, typically for GPIO
45 * @pin: the pin number in the global pin space 73 * @pin: the pin number in the global pin space
@@ -561,34 +589,6 @@ void pinmux_disable(struct pinctrl *p)
561 } 589 }
562} 590}
563 591
564int pinmux_check_ops(struct pinctrl_dev *pctldev)
565{
566 const struct pinmux_ops *ops = pctldev->desc->pmxops;
567 unsigned selector = 0;
568
569 /* Check that we implement required operations */
570 if (!ops->list_functions ||
571 !ops->get_function_name ||
572 !ops->get_function_groups ||
573 !ops->enable ||
574 !ops->disable)
575 return -EINVAL;
576
577 /* Check that all functions registered have names */
578 while (ops->list_functions(pctldev, selector) >= 0) {
579 const char *fname = ops->get_function_name(pctldev,
580 selector);
581 if (!fname) {
582 pr_err("pinmux ops has no name for function%u\n",
583 selector);
584 return -EINVAL;
585 }
586 selector++;
587 }
588
589 return 0;
590}
591
592#ifdef CONFIG_DEBUG_FS 592#ifdef CONFIG_DEBUG_FS
593 593
594/* Called from pincontrol core */ 594/* Called from pincontrol core */