1. 19 6月, 2008 1 次提交
  2. 08 5月, 2008 2 次提交
  3. 28 4月, 2008 4 次提交
  4. 17 4月, 2008 1 次提交
  5. 10 2月, 2008 3 次提交
  6. 30 1月, 2008 1 次提交
    • A
      x86: GEODE: update GPIO API to support setting multiple GPIOs at once · ade76149
      Andres Salomon 提交于
      The existing Geode GPIO API only allows for updating one GPIO at once.  There
      are instances where users want to update multiple GPIOs at once.  With the
      current API, they are given two choices; either ignore the GPIO API:
      
            outl(0xc000, gpio_base + GPIO_OUTPUT_VAL);
            outl(0xc000, gpio_base + GPIO_OUTPUT_ENABLE);
      
      Alternatively, call each GPIO update separately:
      
            geode_gpio_set(14, GPIO_OUTPUT_VAL);
            geode_gpio_set(15, GPIO_OUTPUT_VAL);
            geode_gpio_set(14, GPIO_OUTPUT_ENABLE);
            geode_gpio_set(15, GPIO_OUTPUT_ENABLE);
      
      Neither are desirable.  This patch changes the GPIO API to allow for setting
      of multiple GPIOs at once; rather than being passed an integer, we pass
      a bitmask and provide a translation function.  The above code would now
      look like this:
      
            geode_gpio_set(geode_gpio(14)|geode_gpio(15), GPIO_OUTPUT_VAL);
            geode_gpio_set(geode_gpio(14)|geode_gpio(15), GPIO_OUTPUT_ENABLE);
      
      Since there are no upstream users of the GPIO API yet (afaik), best to
      change this now.  This also adds a bit of sanity checking; it is no
      longer possible to use a GPIO above 28.
      
      Note the semantics of geode_gpio_isset() have changed:
      geode_gpio_isset(geode_gpio(3)|geode_gpio(4), ...)
      will only return true iff both GPIOs are set.
      Signed-off-by: NAndres Salomon <dilinger@debian.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ade76149
  7. 20 10月, 2007 1 次提交
  8. 13 10月, 2007 1 次提交
  9. 11 10月, 2007 1 次提交
  10. 22 7月, 2007 1 次提交