File: /Users/paulross/dev/linux/linux-3.13/include/linux/pinctrl/devinfo.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       1: /*
       2:  * Per-device information from the pin control system.
       3:  * This is the stuff that get included into the device
       4:  * core.
       5:  *
       6:  * Copyright (C) 2012 ST-Ericsson SA
       7:  * Written on behalf of Linaro for ST-Ericsson
       8:  * This interface is used in the core to keep track of pins.
       9:  *
      10:  * Author: Linus Walleij <linus.walleij@linaro.org>
      11:  *
      12:  * License terms: GNU General Public License (GPL) version 2
      13:  */
      14: 
      15: #ifndef PINCTRL_DEVINFO_H
      16: #define PINCTRL_DEVINFO_H
      17: 
      18: #ifdef CONFIG_PINCTRL
      19: 
      20: /* The device core acts as a consumer toward pinctrl */
      21: #include <linux/pinctrl/consumer.h>
      22: 
      23: /**
      24:  * struct dev_pin_info - pin state container for devices
      25:  * @p: pinctrl handle for the containing device
      26:  * @default_state: the default state for the handle, if found
      27:  */
      28: struct dev_pin_info {
      29:     struct pinctrl *p;
      30:     struct pinctrl_state *default_state;
      31: #ifdef CONFIG_PM
      32:     struct pinctrl_state *sleep_state;
      33:     struct pinctrl_state *idle_state;
      34: #endif
      35: };
      36: 
      37: extern int pinctrl_bind_pins(struct device *dev);
      38: 
      39: #else
      40: 
      41: /* Stubs if we're not using pinctrl */
      42: 
      43: static inline int pinctrl_bind_pins(struct device *dev)
      44: {
      45:     return 0;
      46: }
      47: 
      48: #endif /* CONFIG_PINCTRL */
      49: #endif /* PINCTRL_DEVINFO_H */
      50: