[pinctrl:gpio-driver-h 37/38] drivers//pinctrl/nomadik/pinctrl-nomadik.c:206:36: error: 'ARCH_NR_GPIOS' undeclared here (not in a function); did you mean 'PRCM_IDX_GPIOCR3'?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git gpio-driver-h
head:   8589e607647a24701fd4ef97c3fd4f513b934a37
commit: bb6cb425abe015e2a96365664cd1bdd2bf8871a7 [37/38] pinctrl: Include <linux/gpio/driver.h> nothing else
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout bb6cb425abe015e2a96365664cd1bdd2bf8871a7
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=arm 

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/cache.h:5:0,
                    from include/linux/printk.h:9,
                    from include/linux/kernel.h:14,
                    from drivers//pinctrl/nomadik/pinctrl-nomadik.c:13:
>> drivers//pinctrl/nomadik/pinctrl-nomadik.c:206:36: error: 'ARCH_NR_GPIOS' undeclared here (not in a function); did you mean 'PRCM_IDX_GPIOCR3'?
    #define NMK_MAX_BANKS DIV_ROUND_UP(ARCH_NR_GPIOS, NMK_GPIO_PER_CHIP)
                                       ^
   include/uapi/linux/kernel.h:13:40: note: in definition of macro '__KERNEL_DIV_ROUND_UP'
    #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
                                           ^
>> drivers//pinctrl/nomadik/pinctrl-nomadik.c:286:45: note: in expansion of macro 'NMK_MAX_BANKS'
    static struct nmk_gpio_chip *nmk_gpio_chips[NMK_MAX_BANKS];
                                                ^~~~~~~~~~~~~
   In file included from include/linux/kernel.h:15:0,
                    from drivers//pinctrl/nomadik/pinctrl-nomadik.c:13:
   drivers//pinctrl/nomadik/pinctrl-nomadik.c: In function 'nmk_gpio_glitch_slpm_init':
   include/linux/build_bug.h:29:45: error: bit-field '<anonymous>' width not an integer constant
    #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:(-!!(e)); }))
                                                ^
   include/linux/compiler-gcc.h:75:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
    #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
                               ^~~~~~~~~~~~~~~~~
   include/linux/kernel.h:72:59: note: in expansion of macro '__must_be_array'
    #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
                                                              ^~~~~~~~~~~~~~~
>> drivers//pinctrl/nomadik/pinctrl-nomadik.c:290:19: note: in expansion of macro 'ARRAY_SIZE'
    #define NUM_BANKS ARRAY_SIZE(nmk_gpio_chips)
                      ^~~~~~~~~~
>> drivers//pinctrl/nomadik/pinctrl-nomadik.c:551:18: note: in expansion of macro 'NUM_BANKS'
     for (i = 0; i < NUM_BANKS; i++) {
                     ^~~~~~~~~
   drivers//pinctrl/nomadik/pinctrl-nomadik.c: In function 'nmk_gpio_glitch_slpm_restore':
   include/linux/build_bug.h:29:45: error: bit-field '<anonymous>' width not an integer constant
    #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:(-!!(e)); }))
                                                ^
   include/linux/compiler-gcc.h:75:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
    #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
                               ^~~~~~~~~~~~~~~~~
   include/linux/kernel.h:72:59: note: in expansion of macro '__must_be_array'
    #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
                                                              ^~~~~~~~~~~~~~~
>> drivers//pinctrl/nomadik/pinctrl-nomadik.c:290:19: note: in expansion of macro 'ARRAY_SIZE'
    #define NUM_BANKS ARRAY_SIZE(nmk_gpio_chips)
                      ^~~~~~~~~~
   drivers//pinctrl/nomadik/pinctrl-nomadik.c:569:18: note: in expansion of macro 'NUM_BANKS'
     for (i = 0; i < NUM_BANKS; i++) {
                     ^~~~~~~~~
   drivers//pinctrl/nomadik/pinctrl-nomadik.c: In function 'nmk_gpio_dbg_show_one':
>> drivers//pinctrl/nomadik/pinctrl-nomadik.c:974:13: error: implicit declaration of function 'gpio_to_irq'; did you mean 'gpiod_to_chip'? [-Werror=implicit-function-declaration]
      int irq = gpio_to_irq(gpio);
                ^~~~~~~~~~~
                gpiod_to_chip
   In file included from include/linux/kernel.h:10:0,
                    from drivers//pinctrl/nomadik/pinctrl-nomadik.c:13:
   drivers//pinctrl/nomadik/pinctrl-nomadik.c: In function 'nmk_gpio_populate_chip':
   include/linux/build_bug.h:29:45: error: bit-field '<anonymous>' width not an integer constant
    #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:(-!!(e)); }))
                                                ^
   include/linux/compiler.h:77:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
>> drivers//pinctrl/nomadik/pinctrl-nomadik.c:1090:2: note: in expansion of macro 'BUG_ON'
     BUG_ON(nmk_chip->bank >= ARRAY_SIZE(nmk_gpio_chips));
     ^~~~~~
   include/linux/compiler-gcc.h:75:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
    #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
                               ^~~~~~~~~~~~~~~~~
   include/linux/kernel.h:72:59: note: in expansion of macro '__must_be_array'
    #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
                                                              ^~~~~~~~~~~~~~~
   drivers//pinctrl/nomadik/pinctrl-nomadik.c:1090:27: note: in expansion of macro 'ARRAY_SIZE'
     BUG_ON(nmk_chip->bank >= ARRAY_SIZE(nmk_gpio_chips));
                              ^~~~~~~~~~
   In file included from include/linux/kernel.h:15:0,
                    from drivers//pinctrl/nomadik/pinctrl-nomadik.c:13:
   drivers//pinctrl/nomadik/pinctrl-nomadik.c: In function 'nmk_pmx_set':
   include/linux/build_bug.h:29:45: error: bit-field '<anonymous>' width not an integer constant
    #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:(-!!(e)); }))
                                                ^
   include/linux/compiler-gcc.h:75:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
    #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
                               ^~~~~~~~~~~~~~~~~
   include/linux/kernel.h:72:59: note: in expansion of macro '__must_be_array'
    #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
                                                              ^~~~~~~~~~~~~~~
>> drivers//pinctrl/nomadik/pinctrl-nomadik.c:290:19: note: in expansion of macro 'ARRAY_SIZE'
    #define NUM_BANKS ARRAY_SIZE(nmk_gpio_chips)
                      ^~~~~~~~~~
   drivers//pinctrl/nomadik/pinctrl-nomadik.c:1554:27: note: in expansion of macro 'NUM_BANKS'
     static unsigned int slpm[NUM_BANKS];
                              ^~~~~~~~~
   drivers//pinctrl/nomadik/pinctrl-nomadik.c:1554:22: warning: unused variable 'slpm' [-Wunused-variable]
     static unsigned int slpm[NUM_BANKS];
                         ^~~~
   At top level:
   drivers//pinctrl/nomadik/pinctrl-nomadik.c:286:30: warning: 'nmk_gpio_chips' defined but not used [-Wunused-variable]
    static struct nmk_gpio_chip *nmk_gpio_chips[NMK_MAX_BANKS];
                                 ^~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   In file included from include/linux/kernel.h:14:0,
                    from include/linux/clk.h:16,
                    from drivers//pinctrl/pinctrl-at91.c:9:
   drivers//pinctrl/pinctrl-at91.c: In function 'alt_gpio_irq_type':
>> drivers//pinctrl/pinctrl-at91.c:1490:41: error: implicit declaration of function 'gpio_to_irq'; did you mean 'gpiod_to_chip'? [-Werror=implicit-function-declaration]
      pr_warn("AT91: No type for irq %d\n", gpio_to_irq(d->irq));
                                            ^
   include/linux/printk.h:310:37: note: in definition of macro 'pr_warning'
     printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
                                        ^~~~~~~~~~~
>> drivers//pinctrl/pinctrl-at91.c:1490:3: note: in expansion of macro 'pr_warn'
      pr_warn("AT91: No type for irq %d\n", gpio_to_irq(d->irq));
      ^~~~~~~
   cc1: some warnings being treated as errors
--
   drivers//pinctrl/vt8500/pinctrl-wmt.c: In function 'wmt_gpio_get_direction':
   drivers//pinctrl/vt8500/pinctrl-wmt.c:492:6: warning: unused variable 'bit' [-Wunused-variable]
     u32 bit = WMT_BIT_FROM_PIN(offset);
         ^~~
>> drivers//pinctrl/vt8500/pinctrl-wmt.c:498:1: warning: no return statement in function returning non-void [-Wreturn-type]
    }
    ^

vim +206 drivers//pinctrl/nomadik/pinctrl-nomadik.c

2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02  @13  #include <linux/kernel.h>
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   14  #include <linux/init.h>
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   15  #include <linux/device.h>
3e3c62ca5 arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-03-03   16  #include <linux/platform_device.h>
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   17  #include <linux/io.h>
af7dc2281 arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-05-06   18  #include <linux/clk.h>
af7dc2281 arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-05-06   19  #include <linux/err.h>
bb6cb425a drivers/pinctrl/nomadik/pinctrl-nomadik.c Linus Walleij     2018-09-13   20  #include <linux/gpio/driver.h>
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   21  #include <linux/spinlock.h>
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   22  #include <linux/interrupt.h>
5a0e3ad6a arch/arm/mach-nomadik/gpio.c              Tejun Heo         2010-03-24   23  #include <linux/slab.h>
855f80cd1 drivers/pinctrl/pinctrl-nomadik.c         Lee Jones         2012-05-26   24  #include <linux/of_device.h>
32e67eee6 drivers/pinctrl/pinctrl-nomadik.c         Lee Jones         2013-01-11   25  #include <linux/of_address.h>
5e81e0a09 drivers/pinctrl/nomadik/pinctrl-nomadik.c Linus Walleij     2016-04-28   26  #include <linux/bitops.h>
e32af8894 drivers/pinctrl/pinctrl-nomadik.c         Gabriel Fernandez 2012-12-17   27  #include <linux/pinctrl/machine.h>
e98ea774c drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-04-26   28  #include <linux/pinctrl/pinctrl.h>
dbfe8ca25 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-05-02   29  #include <linux/pinctrl/pinmux.h>
d41af6276 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-05-03   30  #include <linux/pinctrl/pinconf.h>
dbfe8ca25 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-05-02   31  /* Since we request GPIOs from ourself */
dbfe8ca25 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-05-02   32  #include <linux/pinctrl/consumer.h>
e98ea774c drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-04-26   33  #include "pinctrl-nomadik.h"
3a1980592 drivers/pinctrl/nomadik/pinctrl-nomadik.c Linus Walleij     2014-07-11   34  #include "../core.h"
ba388294a drivers/pinctrl/nomadik/pinctrl-nomadik.c Linus Walleij     2014-09-29   35  #include "../pinctrl-utils.h"
e98ea774c drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-04-26   36  
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   37  /*
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   38   * The GPIO module in the Nomadik family of Systems-on-Chip is an
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   39   * AMBA device, managing 32 pins and alternate functions.  The logic block
9c66ee6f5 arch/arm/plat-nomadik/gpio.c              Jonas Aaberg      2010-10-13   40   * is currently used in the Nomadik and ux500.
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   41   *
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   42   * Symbols in this file are called "nmk_gpio" for "nomadik gpio"
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   43   */
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02   44  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   45  /*
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   46   * pin configurations are represented by 32-bit integers:
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   47   *
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   48   *	bit  0.. 8 - Pin Number (512 Pins Maximum)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   49   *	bit  9..10 - Alternate Function Selection
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   50   *	bit 11..12 - Pull up/down state
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   51   *	bit     13 - Sleep mode behaviour
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   52   *	bit     14 - Direction
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   53   *	bit     15 - Value (if output)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   54   *	bit 16..18 - SLPM pull up/down state
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   55   *	bit 19..20 - SLPM direction
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   56   *	bit 21..22 - SLPM Value (if output)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   57   *	bit 23..25 - PDIS value (if input)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   58   *	bit	26 - Gpio mode
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   59   *	bit	27 - Sleep mode
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   60   *
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   61   * to facilitate the definition, the following macros are provided
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   62   *
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   63   * PIN_CFG_DEFAULT - default config (0):
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   64   *		     pull up/down = disabled
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   65   *		     sleep mode = input/wakeup
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   66   *		     direction = input
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   67   *		     value = low
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   68   *		     SLPM direction = same as normal
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   69   *		     SLPM pull = same as normal
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   70   *		     SLPM value = same as normal
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   71   *
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   72   * PIN_CFG	   - default config with alternate function
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   73   */
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   74  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   75  typedef unsigned long pin_cfg_t;
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   76  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   77  #define PIN_NUM_MASK		0x1ff
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   78  #define PIN_NUM(x)		((x) & PIN_NUM_MASK)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   79  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   80  #define PIN_ALT_SHIFT		9
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   81  #define PIN_ALT_MASK		(0x3 << PIN_ALT_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   82  #define PIN_ALT(x)		(((x) & PIN_ALT_MASK) >> PIN_ALT_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   83  #define PIN_GPIO		(NMK_GPIO_ALT_GPIO << PIN_ALT_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   84  #define PIN_ALT_A		(NMK_GPIO_ALT_A << PIN_ALT_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   85  #define PIN_ALT_B		(NMK_GPIO_ALT_B << PIN_ALT_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   86  #define PIN_ALT_C		(NMK_GPIO_ALT_C << PIN_ALT_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   87  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   88  #define PIN_PULL_SHIFT		11
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   89  #define PIN_PULL_MASK		(0x3 << PIN_PULL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   90  #define PIN_PULL(x)		(((x) & PIN_PULL_MASK) >> PIN_PULL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   91  #define PIN_PULL_NONE		(NMK_GPIO_PULL_NONE << PIN_PULL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   92  #define PIN_PULL_UP		(NMK_GPIO_PULL_UP << PIN_PULL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   93  #define PIN_PULL_DOWN		(NMK_GPIO_PULL_DOWN << PIN_PULL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   94  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   95  #define PIN_SLPM_SHIFT		13
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   96  #define PIN_SLPM_MASK		(0x1 << PIN_SLPM_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   97  #define PIN_SLPM(x)		(((x) & PIN_SLPM_MASK) >> PIN_SLPM_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   98  #define PIN_SLPM_MAKE_INPUT	(NMK_GPIO_SLPM_INPUT << PIN_SLPM_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19   99  #define PIN_SLPM_NOCHANGE	(NMK_GPIO_SLPM_NOCHANGE << PIN_SLPM_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  100  /* These two replace the above in DB8500v2+ */
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  101  #define PIN_SLPM_WAKEUP_ENABLE	(NMK_GPIO_SLPM_WAKEUP_ENABLE << PIN_SLPM_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  102  #define PIN_SLPM_WAKEUP_DISABLE	(NMK_GPIO_SLPM_WAKEUP_DISABLE << PIN_SLPM_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  103  #define PIN_SLPM_USE_MUX_SETTINGS_IN_SLEEP PIN_SLPM_WAKEUP_DISABLE
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  104  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  105  #define PIN_SLPM_GPIO  PIN_SLPM_WAKEUP_ENABLE /* In SLPM, pin is a gpio */
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  106  #define PIN_SLPM_ALTFUNC PIN_SLPM_WAKEUP_DISABLE /* In SLPM, pin is altfunc */
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  107  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  108  #define PIN_DIR_SHIFT		14
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  109  #define PIN_DIR_MASK		(0x1 << PIN_DIR_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  110  #define PIN_DIR(x)		(((x) & PIN_DIR_MASK) >> PIN_DIR_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  111  #define PIN_DIR_INPUT		(0 << PIN_DIR_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  112  #define PIN_DIR_OUTPUT		(1 << PIN_DIR_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  113  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  114  #define PIN_VAL_SHIFT		15
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  115  #define PIN_VAL_MASK		(0x1 << PIN_VAL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  116  #define PIN_VAL(x)		(((x) & PIN_VAL_MASK) >> PIN_VAL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  117  #define PIN_VAL_LOW		(0 << PIN_VAL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  118  #define PIN_VAL_HIGH		(1 << PIN_VAL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  119  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  120  #define PIN_SLPM_PULL_SHIFT	16
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  121  #define PIN_SLPM_PULL_MASK	(0x7 << PIN_SLPM_PULL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  122  #define PIN_SLPM_PULL(x)	\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  123  	(((x) & PIN_SLPM_PULL_MASK) >> PIN_SLPM_PULL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  124  #define PIN_SLPM_PULL_NONE	\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  125  	((1 + NMK_GPIO_PULL_NONE) << PIN_SLPM_PULL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  126  #define PIN_SLPM_PULL_UP	\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  127  	((1 + NMK_GPIO_PULL_UP) << PIN_SLPM_PULL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  128  #define PIN_SLPM_PULL_DOWN	\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  129  	((1 + NMK_GPIO_PULL_DOWN) << PIN_SLPM_PULL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  130  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  131  #define PIN_SLPM_DIR_SHIFT	19
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  132  #define PIN_SLPM_DIR_MASK	(0x3 << PIN_SLPM_DIR_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  133  #define PIN_SLPM_DIR(x)		\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  134  	(((x) & PIN_SLPM_DIR_MASK) >> PIN_SLPM_DIR_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  135  #define PIN_SLPM_DIR_INPUT	((1 + 0) << PIN_SLPM_DIR_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  136  #define PIN_SLPM_DIR_OUTPUT	((1 + 1) << PIN_SLPM_DIR_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  137  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  138  #define PIN_SLPM_VAL_SHIFT	21
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  139  #define PIN_SLPM_VAL_MASK	(0x3 << PIN_SLPM_VAL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  140  #define PIN_SLPM_VAL(x)		\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  141  	(((x) & PIN_SLPM_VAL_MASK) >> PIN_SLPM_VAL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  142  #define PIN_SLPM_VAL_LOW	((1 + 0) << PIN_SLPM_VAL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  143  #define PIN_SLPM_VAL_HIGH	((1 + 1) << PIN_SLPM_VAL_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  144  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  145  #define PIN_SLPM_PDIS_SHIFT		23
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  146  #define PIN_SLPM_PDIS_MASK		(0x3 << PIN_SLPM_PDIS_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  147  #define PIN_SLPM_PDIS(x)	\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  148  	(((x) & PIN_SLPM_PDIS_MASK) >> PIN_SLPM_PDIS_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  149  #define PIN_SLPM_PDIS_NO_CHANGE		(0 << PIN_SLPM_PDIS_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  150  #define PIN_SLPM_PDIS_DISABLED		(1 << PIN_SLPM_PDIS_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  151  #define PIN_SLPM_PDIS_ENABLED		(2 << PIN_SLPM_PDIS_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  152  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  153  #define PIN_LOWEMI_SHIFT	25
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  154  #define PIN_LOWEMI_MASK		(0x1 << PIN_LOWEMI_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  155  #define PIN_LOWEMI(x)		(((x) & PIN_LOWEMI_MASK) >> PIN_LOWEMI_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  156  #define PIN_LOWEMI_DISABLED	(0 << PIN_LOWEMI_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  157  #define PIN_LOWEMI_ENABLED	(1 << PIN_LOWEMI_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  158  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  159  #define PIN_GPIOMODE_SHIFT	26
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  160  #define PIN_GPIOMODE_MASK	(0x1 << PIN_GPIOMODE_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  161  #define PIN_GPIOMODE(x)		(((x) & PIN_GPIOMODE_MASK) >> PIN_GPIOMODE_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  162  #define PIN_GPIOMODE_DISABLED	(0 << PIN_GPIOMODE_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  163  #define PIN_GPIOMODE_ENABLED	(1 << PIN_GPIOMODE_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  164  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  165  #define PIN_SLEEPMODE_SHIFT	27
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  166  #define PIN_SLEEPMODE_MASK	(0x1 << PIN_SLEEPMODE_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  167  #define PIN_SLEEPMODE(x)	(((x) & PIN_SLEEPMODE_MASK) >> PIN_SLEEPMODE_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  168  #define PIN_SLEEPMODE_DISABLED	(0 << PIN_SLEEPMODE_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  169  #define PIN_SLEEPMODE_ENABLED	(1 << PIN_SLEEPMODE_SHIFT)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  170  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  171  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  172  /* Shortcuts.  Use these instead of separate DIR, PULL, and VAL.  */
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  173  #define PIN_INPUT_PULLDOWN	(PIN_DIR_INPUT | PIN_PULL_DOWN)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  174  #define PIN_INPUT_PULLUP	(PIN_DIR_INPUT | PIN_PULL_UP)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  175  #define PIN_INPUT_NOPULL	(PIN_DIR_INPUT | PIN_PULL_NONE)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  176  #define PIN_OUTPUT_LOW		(PIN_DIR_OUTPUT | PIN_VAL_LOW)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  177  #define PIN_OUTPUT_HIGH		(PIN_DIR_OUTPUT | PIN_VAL_HIGH)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  178  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  179  #define PIN_SLPM_INPUT_PULLDOWN	(PIN_SLPM_DIR_INPUT | PIN_SLPM_PULL_DOWN)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  180  #define PIN_SLPM_INPUT_PULLUP	(PIN_SLPM_DIR_INPUT | PIN_SLPM_PULL_UP)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  181  #define PIN_SLPM_INPUT_NOPULL	(PIN_SLPM_DIR_INPUT | PIN_SLPM_PULL_NONE)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  182  #define PIN_SLPM_OUTPUT_LOW	(PIN_SLPM_DIR_OUTPUT | PIN_SLPM_VAL_LOW)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  183  #define PIN_SLPM_OUTPUT_HIGH	(PIN_SLPM_DIR_OUTPUT | PIN_SLPM_VAL_HIGH)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  184  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  185  #define PIN_CFG_DEFAULT		(0)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  186  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  187  #define PIN_CFG(num, alt)		\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  188  	(PIN_CFG_DEFAULT |\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  189  	 (PIN_NUM(num) | PIN_##alt))
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  190  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  191  #define PIN_CFG_INPUT(num, alt, pull)		\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  192  	(PIN_CFG_DEFAULT |\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  193  	 (PIN_NUM(num) | PIN_##alt | PIN_INPUT_##pull))
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  194  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  195  #define PIN_CFG_OUTPUT(num, alt, val)		\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  196  	(PIN_CFG_DEFAULT |\
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  197  	 (PIN_NUM(num) | PIN_##alt | PIN_OUTPUT_##val))
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  198  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  199  /*
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  200   * "nmk_gpio" and "NMK_GPIO" stand for "Nomadik GPIO", leaving
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  201   * the "gpio" namespace for generic and cross-machine functions
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  202   */
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  203  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  204  #define GPIO_BLOCK_SHIFT 5
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  205  #define NMK_GPIO_PER_CHIP (1 << GPIO_BLOCK_SHIFT)
bc222ef4f drivers/pinctrl/nomadik/pinctrl-nomadik.c Linus Walleij     2015-06-17 @206  #define NMK_MAX_BANKS DIV_ROUND_UP(ARCH_NR_GPIOS, NMK_GPIO_PER_CHIP)
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  207  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  208  /* Register in the logic block */
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  209  #define NMK_GPIO_DAT	0x00
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  210  #define NMK_GPIO_DATS	0x04
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  211  #define NMK_GPIO_DATC	0x08
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  212  #define NMK_GPIO_PDIS	0x0c
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  213  #define NMK_GPIO_DIR	0x10
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  214  #define NMK_GPIO_DIRS	0x14
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  215  #define NMK_GPIO_DIRC	0x18
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  216  #define NMK_GPIO_SLPC	0x1c
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  217  #define NMK_GPIO_AFSLA	0x20
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  218  #define NMK_GPIO_AFSLB	0x24
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  219  #define NMK_GPIO_LOWEMI	0x28
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  220  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  221  #define NMK_GPIO_RIMSC	0x40
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  222  #define NMK_GPIO_FIMSC	0x44
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  223  #define NMK_GPIO_IS	0x48
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  224  #define NMK_GPIO_IC	0x4c
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  225  #define NMK_GPIO_RWIMSC	0x50
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  226  #define NMK_GPIO_FWIMSC	0x54
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  227  #define NMK_GPIO_WKS	0x58
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  228  /* These appear in DB8540 and later ASICs */
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  229  #define NMK_GPIO_EDGELEVEL 0x5C
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  230  #define NMK_GPIO_LEVEL	0x60
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  231  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  232  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  233  /* Pull up/down values */
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  234  enum nmk_gpio_pull {
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  235  	NMK_GPIO_PULL_NONE,
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  236  	NMK_GPIO_PULL_UP,
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  237  	NMK_GPIO_PULL_DOWN,
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  238  };
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  239  
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  240  /* Sleep mode */
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  241  enum nmk_gpio_slpm {
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  242  	NMK_GPIO_SLPM_INPUT,
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  243  	NMK_GPIO_SLPM_WAKEUP_ENABLE = NMK_GPIO_SLPM_INPUT,
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  244  	NMK_GPIO_SLPM_NOCHANGE,
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  245  	NMK_GPIO_SLPM_WAKEUP_DISABLE = NMK_GPIO_SLPM_NOCHANGE,
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  246  };
8d9933971 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2013-11-19  247  
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02  248  struct nmk_gpio_chip {
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02  249  	struct gpio_chip chip;
3007d941b drivers/pinctrl/nomadik/pinctrl-nomadik.c Linus Walleij     2015-05-06  250  	struct irq_chip irqchip;
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02  251  	void __iomem *addr;
af7dc2281 arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-05-06  252  	struct clk *clk;
33b744b35 arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-10-14  253  	unsigned int bank;
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02  254  	unsigned int parent_irq;
194e15ba0 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2014-03-21  255  	int latent_parent_irq;
194e15ba0 drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2014-03-21  256  	u32 (*get_latent_status)(unsigned int bank);
01727e61f arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-12-13  257  	void (*set_ioforce)(bool enable);
c0fcb8dba arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-03-03  258  	spinlock_t lock;
33d78647d drivers/gpio/gpio-nomadik.c               Linus Walleij     2011-06-09  259  	bool sleepmode;
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02  260  	/* Keep track of configured edges */
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02  261  	u32 edge_rising;
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02  262  	u32 edge_falling;
b9df468d8 arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2011-02-10  263  	u32 real_wake;
b9df468d8 arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2011-02-10  264  	u32 rwimsc;
b9df468d8 arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2011-02-10  265  	u32 fwimsc;
6c12fe888 drivers/gpio/gpio-nomadik.c               Rabin Vincent     2011-05-23  266  	u32 rimsc;
6c12fe888 drivers/gpio/gpio-nomadik.c               Rabin Vincent     2011-05-23  267  	u32 fimsc;
bc6f5cf64 drivers/gpio/gpio-nomadik.c               Rickard Andersson 2011-05-24  268  	u32 pull_up;
ebc6178da drivers/gpio/gpio-nomadik.c               Rabin Vincent     2011-09-28  269  	u32 lowemi;
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02  270  };
2ec1d3594 arch/arm/mach-nomadik/gpio.c              Alessandro Rubini 2009-07-02  271  
f1671bf5f drivers/pinctrl/pinctrl-nomadik.c         Jonas Aaberg      2012-10-25  272  /**
f1671bf5f drivers/pinctrl/pinctrl-nomadik.c         Jonas Aaberg      2012-10-25  273   * struct nmk_pinctrl - state container for the Nomadik pin controller
f1671bf5f drivers/pinctrl/pinctrl-nomadik.c         Jonas Aaberg      2012-10-25  274   * @dev: containing device pointer
f1671bf5f drivers/pinctrl/pinctrl-nomadik.c         Jonas Aaberg      2012-10-25  275   * @pctl: corresponding pin controller device
f1671bf5f drivers/pinctrl/pinctrl-nomadik.c         Jonas Aaberg      2012-10-25  276   * @soc: SoC data for this specific chip
f1671bf5f drivers/pinctrl/pinctrl-nomadik.c         Jonas Aaberg      2012-10-25  277   * @prcm_base: PRCM register range virtual base
f1671bf5f drivers/pinctrl/pinctrl-nomadik.c         Jonas Aaberg      2012-10-25  278   */
e98ea774c drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-04-26  279  struct nmk_pinctrl {
e98ea774c drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-04-26  280  	struct device *dev;
e98ea774c drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-04-26  281  	struct pinctrl_dev *pctl;
e98ea774c drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-04-26  282  	const struct nmk_pinctrl_soc_data *soc;
f1671bf5f drivers/pinctrl/pinctrl-nomadik.c         Jonas Aaberg      2012-10-25  283  	void __iomem *prcm_base;
e98ea774c drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-04-26  284  };
e98ea774c drivers/pinctrl/pinctrl-nomadik.c         Linus Walleij     2012-04-26  285  
bc222ef4f drivers/pinctrl/nomadik/pinctrl-nomadik.c Linus Walleij     2015-06-17 @286  static struct nmk_gpio_chip *nmk_gpio_chips[NMK_MAX_BANKS];
01727e61f arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-12-13  287  
01727e61f arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-12-13  288  static DEFINE_SPINLOCK(nmk_gpio_slpm_lock);
01727e61f arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-12-13  289  
01727e61f arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-12-13 @290  #define NUM_BANKS ARRAY_SIZE(nmk_gpio_chips)
01727e61f arch/arm/plat-nomadik/gpio.c              Rabin Vincent     2010-12-13  291  

:::::: The code at line 206 was first introduced by commit
:::::: bc222ef4f79fa0003ef5a0af8090372e3bd8a783 pinctrl: nomadik: break out state container allocator

:::::: TO: Linus Walleij <linus.walleij@xxxxxxxxxx>
:::::: CC: Linus Walleij <linus.walleij@xxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux