1. 03 1月, 2012 3 次提交
    • L
      pinctrl: GPIO direction support for muxing · 542e704f
      Linus Walleij 提交于
      When requesting a single GPIO pin to be muxed in, some controllers
      will need to poke a different value into the control register
      depending on whether the pin will be used for GPIO output or GPIO
      input. So create pinmux counterparts to gpio_direction_[input|output]
      in the pinctrl framework.
      
      ChangeLog v1->v2:
      - This also amends the documentation to make it clear the this
        function and associated machinery is *ONLY* intended as a backend
        to gpiolib machinery, not for everyone and his dog to start playing
        around with pins.
      ChangeLog v2->v3:
      - Don't pass an argument to the common request function, instead
        provide pinmux_* counterparts to the gpio_direction_[input|output]
        calls, simpler and anyone can understand it.
      ChangeLog v3->v4:
      - Fix numerous spelling mistakes and dangling text in documentation.
        Add Ack and Rewewed-by.
      
      Cc: Igor Grinberg <grinberg@compulab.co.il>
      Acked-by: NStephen Warren <swarren@nvidia.com>
      Reviewed-by: NThomas Abraham <thomas.abraham@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      542e704f
    • C
      pinctrl: add a pin_base for sparse gpio-ranges · 3c739ad0
      Chanho Park 提交于
      This patch enables mapping a base offset of gpio ranges with
      a pin offset even if does'nt matched. A base of pinctrl_gpio_range
      means a base offset of gpio. However, we cannot convert gpio to pin
      number for sparse gpio ranges just only using a gpio base offset.
      We can convert a gpio to real pin number(even if not matched) using
      a new pin_base which means a base pin offset of requested gpio range.
      Now, the pin control subsystem passes the pin base offset to the
      pinmux driver.
      
      For example, let's assume below two gpio ranges in the system.
      
      static struct pinctrl_gpio_range gpio_range_a = {
          .name = "chip a",
          .id = 0,
          .base = 32,
          .pin_base = 32,
          .npins = 16,
          .gc = &chip_a;
      };
      
      static struct pinctrl_gpio_range gpio_range_b = {
          .name = "chip b",
          .id = 0,
          .base = 48,
          .pin_base = 64,
          .npins = 8,
          .gc = &chip_b;
      };
      
      We can calucalate a exact pin ranges even if doesn't matched with gpio ranges.
      
      chip a:
          gpio-range : [32 .. 47]
          pin-range  : [32 .. 47]
      chip b:
          gpio-range : [48 .. 55]
          pin-range  : [64 .. 71]
      Signed-off-by: NChanho Park <chanho61.park@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      3c739ad0
    • L
      pinctrl: documentation update · 336cdba0
      Linus Walleij 提交于
      Update the docs removing an obsolete __refdata tag and document
      the mysterious return value of pin_free(). And fixes up some various
      confusions in the pinctrl documentation.
      Reported-by: NRajendra Nayak <rnayak@ti.com>
      Reported-by: NRandy Dunlap <rdunlap@xenotime.net>
      Reported-by: NThomas Abraham <thomas.abraham@linaro.org>
      Reported-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Acked-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      336cdba0
  2. 23 11月, 2011 1 次提交
  3. 16 11月, 2011 4 次提交
  4. 10 11月, 2011 1 次提交
  5. 09 11月, 2011 2 次提交
  6. 08 11月, 2011 1 次提交
  7. 07 11月, 2011 2 次提交
  8. 06 11月, 2011 1 次提交
  9. 05 11月, 2011 10 次提交
  10. 04 11月, 2011 4 次提交
  11. 03 11月, 2011 5 次提交
  12. 02 11月, 2011 4 次提交
  13. 01 11月, 2011 2 次提交