1. 28 6月, 2013 1 次提交
  2. 25 6月, 2013 1 次提交
    • S
      pinctrl: st: Add pinctrl and pinconf support. · 701016c0
      Srinivas KANDAGATLA 提交于
      This patch add pinctrl support to ST SoCs.
      
      About hardware:
      ST Set-Top-Box parts have two blocks called PIO and PIO-mux which handle
      pin configurations.
      
      Each multi-function pin is controlled, driven and routed through the PIO
      multiplexing block. Each pin supports GPIO functionality (ALT0) and
      multiple alternate functions(ALT1 - ALTx) that directly connect the pin
      to different hardware blocks. When a pin is in GPIO mode, Output Enable
      (OE), Open Drain(OD), and Pull Up (PU) are driven by the related PIO
      block. Otherwise the PIO multiplexing block configures these parameters
      and retiming the signal.
      
      About driver:
      This pinctrl driver manages both PIO and PIO-mux block using pinctrl,
      pinconf, pinmux, gpio subsystems. All the pinctrl related config
      information can only come from device trees.
      Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@st.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      701016c0
  3. 04 6月, 2013 1 次提交
  4. 27 5月, 2013 8 次提交
  5. 18 5月, 2013 1 次提交
  6. 15 5月, 2013 1 次提交
  7. 14 5月, 2013 4 次提交
  8. 30 4月, 2013 2 次提交
  9. 26 4月, 2013 2 次提交
    • P
      pinctrl: move subsystem mutex to pinctrl_dev struct · 42fed7ba
      Patrice Chotard 提交于
      This mutex avoids deadlock in case of use of multiple pin
      controllers. Before this modification, by using a global
      mutex, deadlock appeared when, for example, a call to
      pinctrl_pins_show() locked the pinctrl_mutex, called the
      ops->pin_dbg_show of a particular pin controller. If this
      pin controller needs I2C access to retrieve configuration
      information and I2C driver is using pinctrl to drive its
      pins, a call to pinctrl_select_state() try to lock again
      pinctrl_mutex which leads to a deadlock.
      
      Notice that the mutex grab from the two direction functions
      was moved into pinctrl_gpio_direction().
      
      For several cases, we can't replace pinctrl_mutex by
      pctldev->mutex, because at this stage, pctldev is
      not accessible :
      	- pinctrl_get()/pinctrl_put()
      	- pinctrl_register_maps()
      
      So add respectively pinctrl_list_mutex and
      pinctrl_maps_mutex in order to protect
      pinctrl_list and pinctrl_maps list instead.
      
      Reintroduce pinctrldev_list_mutex in
      find_pinctrl_by_of_node(),
      pinctrl_find_and_add_gpio_range()
      pinctrl_request_gpio(), pinctrl_free_gpio(),
      pinctrl_gpio_direction(), pinctrl_devices_show(),
      pinctrl_register() and pinctrl_unregister() to
      protect pinctrldev_list.
      
      Changes v2->v3:
      - Fix a missing EXPORT_SYMBOL_GPL() for pinctrl_select_state().
      
      Changes v1->v2:
      - pinctrl_select_state_locked() is removed, all lock mechanism
        is located inside pinctrl_select_state(). When parsing
        the state->setting list, take the per-pin-controller driver
        lock. (Patrice).
      - Introduce pinctrldev_list_mutex to protect pinctrldev_list
        in all functions which parse or modify pictrldev_list.
        (Patrice).
      - move find_pinctrl_by_of_node() from pinctrl/devicetree.c to
        pinctrl/core.c in order to protect pinctrldev_list.
        (Patrice).
      - Sink mutex:es into some functions and remove some _locked
        variants down to where the lists are actually accessed to
        make things simpler. (Linus)
      - Drop *all* mutexes completely from pinctrl_lookup_state()
        and pinctrl_select_state() - no relevant mutex was taken
        and it was unclear what this was protecting against. (Linus)
      
      Reported by : Seraphin Bonnaffe <seraphin.bonnaffe@stericsson.com>
      Signed-off-by: NPatrice Chotard <patrice.chotard@st.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      42fed7ba
    • L
      pinctrl/pinconfig: fix misplaced goto · cb6d315d
      Laurent Meunier 提交于
      This update contains a basic fix that went unseen through
      test and review.
      Signed-off-by: NLaurent Meunier <laurent.meunier@st.com>
      Reviewed-by: NPatrice Chotard <patrice.chotard@stericsson.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      cb6d315d
  10. 23 4月, 2013 1 次提交
  11. 19 4月, 2013 2 次提交
  12. 18 4月, 2013 1 次提交
  13. 16 4月, 2013 1 次提交
  14. 09 4月, 2013 14 次提交