1. 23 6月, 2016 1 次提交
  2. 03 10月, 2015 1 次提交
  3. 14 1月, 2015 1 次提交
  4. 12 1月, 2015 2 次提交
    • S
      pinctrl: pinconf-generic: Allow driver to specify DT params · dd4d01f7
      Soren Brinkmann 提交于
      Additionally to the generic DT parameters, allow drivers to provide
      driver-specific DT parameters to be used with the generic parser
      infrastructure.
      
      To achieve this 'struct pinctrl_desc' is extended to pass custom pinconf
      option to the core. In order to pass this kind of information, the
      related data structures - 'struct pinconf_generic_dt_params',
      'pin_config_item' - are moved from pinconf internals to the
      pinconf-generic header.
      
      Additionally pinconfg-generic is refactored to not only iterate over the
      generic pinconf parameters but also take the parameters into account
      that are provided through the driver's 'struct pinctrl_desc'.
      In particular 'pinconf_generic_parse_dt_config()' and
      'pinconf_generic_dump' helpers are split into two parts each. In order
      to have a more generic helper that can be used to process the generic
      parameters as well as the driver-specific ones.
      
      v2:
       - fix typo
       - add missing documentation for @conf_items member in struct
       - rebase to pinctrl/devel: conflict in abx500
       - rename _pinconf_generic_dump() to pinconf_generic_dump_one()
       - removed '_' from _parse_dt_cfg()
       - removed BUG_ONs, error condition is handled in if statements
       - removed pinconf_generic_dump_group() & pinconf_generic_dump_pin
         helpers
         - fixed up corresponding call sites
         - renamed pinconf_generic_dump() to pinconf_generic_dump_pins()
         - added kernel-doc to pinconf_generic_dump_pins()
       - add kernel-doc
       - more verbose commit message
      Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com>
      Tested-by: NAndreas Färber <afaerber@suse.de>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      dd4d01f7
    • S
      pinctrl: pinconf-generic: Infer map type from DT property · 31c89c95
      Soren Brinkmann 提交于
      With the new 'groups' property, the DT parser can infer the map type
      from the fact whether 'pins' or 'groups' is used to specify the pin
      group to work on.
      
      To maintain backwards compatibitliy with current usage of the DT
      binding, this is only done when PIN_MAP_TYPE_INVALID is passed to the
      parsing function as type.
      
      Also, a new helper 'pinconf_generic_dt_node_to_map_all()' is introduced,
      which can be used by drivers as generic callback for dt_node_to_map() to
      leverage the new feature.
      
      Changes since v2:
       - rename dt_pin_specifier to subnode_target_type
       - add additional comment in header file explaining passing an invalid
         map type
       - mention map_all() helper in commit message
      Changes since RFC v2:
       - none
      Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com>
      Tested-by: NAndreas Färber <afaerber@suse.de>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      31c89c95
  5. 05 9月, 2014 1 次提交
  6. 16 12月, 2013 1 次提交
  7. 03 12月, 2013 1 次提交
  8. 23 8月, 2013 1 次提交
  9. 16 8月, 2013 1 次提交
    • L
      pinctrl: add includes and ifdefs for non-DT builds · 0d74d4a1
      Linus Walleij 提交于
      Commit e81c8f18
      "pinctrl: pinconf-generic: add generic APIs for mapping pinctrl node"
      Added function prototypes with implicit dependencies
      on other header files causing build warnings like this:
      
      In file included from
      arch/arm/mach-ux500/board-mop500-pins.c:12:0:
      include/linux/pinctrl/pinconf-generic.h:142:3:
      warning: 'struct device_node' declared inside parameter list [enabled
      by default]
         unsigned *reserved_maps, unsigned *num_maps);
         ^
      include/linux/pinctrl/pinconf-generic.h:142:3:
      warning: its scope is only this definition or declaration, which is
      probably not what you want [enabled by default]
      include/linux/pinctrl/pinconf-generic.h:142:3:
      warning: 'struct pinctrl_dev' declared inside parameter list [enabled
      by default]
      include/linux/pinctrl/pinconf-generic.h:145:3:
      warning: 'struct device_node' declared inside parameter list [enabled
      by default]
         unsigned *num_maps);
         ^
      Let's just add ifdefs for non-DT systems (the actual code is
      already ifdefed) and #include <linux/device.h> to get the
      most important structs and forward-declare the pinctrl
      core structs.
      Reported-by: NOlof Johansson <olof@lixom.net>
      Cc: Laxman Dewangan <ldewangan@nvidia.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      0d74d4a1
  10. 15 8月, 2013 1 次提交
  11. 25 6月, 2013 2 次提交
  12. 18 6月, 2013 1 次提交
  13. 16 6月, 2013 2 次提交
  14. 14 5月, 2013 1 次提交
  15. 15 2月, 2013 1 次提交
  16. 21 1月, 2013 1 次提交
  17. 18 1月, 2013 1 次提交
  18. 12 1月, 2013 1 次提交
  19. 21 11月, 2012 1 次提交
  20. 13 3月, 2012 1 次提交
    • L
      pinctrl: introduce generic pin config · 394349f7
      Linus Walleij 提交于
      This is a split-off from the earlier patch set which adds generic
      pin configuration for the pin controllers that want it. Since
      we may have a system with mixed generic and custom pin controllers,
      we pass a boolean in the pin controller ops vtable to indicate
      if it is generic.
      
      ChangeLog v1->v5:
      - Follow parent patch versioning number system.
      - Document the semantic meaning of return values from pin config
        get functions, so we can iterate over pins and check their
        properties from debugfs as part of the generic config code.
      - Use proper cast functions in the generic debugfs pin config
        file.
      - Expand generic config to optionally cover groups too.
      ChangeLog v5->v6:
      - Update to match underlying changes.
      ChangeLog v6->v7:
      - Drop DRIVE_OFF parameter, use bias high impedance for this
      - Delete argument for drive modes push-pull, od and os. These
        are now just state transitions.
      - Delete slew rate rising/falling due to discussions on on
        proper semantics
      - Drop config wakeup, struct irq_chip does this for now, add
        back if need be.
      - Set PIN_CONFIG_END to 0x7fff making room for custom config
        parameters from 0x8000 and up.
      - Prefix accessor functions with pinconf_
      394349f7