1. 07 10月, 2010 2 次提交
    • G
      msm: Featurize gpiomux. · ab78cde5
      Gregory Bean 提交于
      Featurize gpiomux so that systems like 7x00 which do not wish to use it
      do not have to be saddled with the configuration tables.
      Signed-off-by: NGregory Bean <gbean@codeaurora.org>
      Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
      ab78cde5
    • G
      msm: add gpiomux api for gpio multiplex & configuration. · 1963a2af
      Gregory Bean 提交于
      Add the 'gpiomux' api, which addresses the following shortcomings
      of existing tlmm api:
      
      - gpio power-collapse, which is managed by a peripheral processor on
        other targets, must be managed by the application processor on the 8x60.
      - The enable/disable flag of the legacy gpio_tlmm_config api
        is not applicable on the 8x60, and causes confusion.
      - The gpio 'direction' bits are meaningless for all func_sel
        configurations except for generic-gpio mode (func_sel 0), in which
        case the gpio_direction_* functions should be used.  Having these
        bits in the tlmm api leads to confusion and misuse of the gpiolib
        api, and they have been removed in gpiomux.
      - The functional api of the legacy system ran contrary to the typical
        use-case, which is a single massive configuration at boot.  Rather
        than forcing hundreds of 'config' function calls, the new api
        allows data to be configured with a single table.
      
      gpiomux_get and gpiomux_put are meant to be called automatically
      when gpio_request and gpio_free are called, giving automatic
      gpiomux/tlmm control to those drivers/lines with simple
      power profiles - in the simplest cases, an entry in the gpiomux table
      and the correct usage of gpiolib is all that is required to get proper
      gpio power control.
      Signed-off-by: NGregory Bean <gbean@codeaurora.org>
      Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
      1963a2af