1. 23 9月, 2009 1 次提交
  2. 19 6月, 2009 3 次提交
  3. 16 1月, 2009 1 次提交
    • B
      gpio: fix probe() error return in gpio driver probes · a342d215
      Ben Dooks 提交于
      A number of drivers in drivers/gpio return -ENODEV when confronted with
      missing setup parameters such as the platform data.  However, returning
      -ENODEV causes the driver layer to silently ignore the driver as it
      assumes the probe did not find anything and was only speculative.
      
      To make life easier to discern why a driver is not being attached, change
      to returning -EINVAL, which is a better description of the fact that the
      driver data was not valid.
      
      Also add a set of dev_dbg() statements to the error paths to provide an
      better explanation of the error as there may be more that one point in the
      driver.
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      Cc: David Brownell <david-b@pacbell.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a342d215
  4. 07 1月, 2009 1 次提交
  5. 17 10月, 2008 1 次提交
    • D
      gpio: i2c expanders use subsys_init · 2f8d1197
      David Brownell 提交于
      Make the I2C external GPIO expander drivers register themselves at
      subsys_initcall() time when they're statically linked.
      
      SOC-integrated GPIOs are available starting very early -- early in
      arch_initcall() at latest, but often even before initcalls start to run --
      so this improves consistency, so more subsystems can rely on GPIOs in
      their own subsys_initcall() code.
      
      (This isn't a theoretical problem.  This is one of several patches needed
      to resolve oopsing observed when statically linking kernels on a DaVinci
      EVM.  Its pcf857x GPIOs needed to be available well before some other
      drivers initialized.)
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Jean Delvare <khali@linux-fr.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2f8d1197
  6. 26 7月, 2008 1 次提交
    • D
      gpio: sysfs interface · d8f388d8
      David Brownell 提交于
      This adds a simple sysfs interface for GPIOs.
      
          /sys/class/gpio
          	/export ... asks the kernel to export a GPIO to userspace
          	/unexport ... to return a GPIO to the kernel
              /gpioN ... for each exported GPIO #N
      	    /value ... always readable, writes fail for input GPIOs
      	    /direction ... r/w as: in, out (default low); write high, low
      	/gpiochipN ... for each gpiochip; #N is its first GPIO
      	    /base ... (r/o) same as N
      	    /label ... (r/o) descriptive, not necessarily unique
      	    /ngpio ... (r/o) number of GPIOs; numbered N .. N+(ngpio - 1)
      
      GPIOs claimed by kernel code may be exported by its owner using a new
      gpio_export() call, which should be most useful for driver debugging.
      Such exports may optionally be done without a "direction" attribute.
      
      Userspace may ask to take over a GPIO by writing to a sysfs control file,
      helping to cope with incomplete board support or other "one-off"
      requirements that don't merit full kernel support:
      
        echo 23 > /sys/class/gpio/export
      	... will gpio_request(23, "sysfs") and gpio_export(23);
      	use /sys/class/gpio/gpio-23/direction to (re)configure it,
      	when that GPIO can be used as both input and output.
        echo 23 > /sys/class/gpio/unexport
      	... will gpio_free(23), when it was exported as above
      
      The extra D-space footprint is a few hundred bytes, except for the sysfs
      resources associated with each exported GPIO.  The additional I-space
      footprint is about two thirds of the current size of gpiolib (!).  Since
      no /dev node creation is involved, no "udev" support is needed.
      
      Related changes:
      
        * This adds a device pointer to "struct gpio_chip".  When GPIO
          providers initialize that, sysfs gpio class devices become children of
          that device instead of being "virtual" devices.
      
        * The (few) gpio_chip providers which have such a device node have
          been updated.
      
        * Some gpio_chip drivers also needed to update their module "owner"
          field ...  for which missing kerneldoc was added.
      
        * Some gpio_chips don't support input GPIOs.  Those GPIOs are now
          flagged appropriately when the chip is registered.
      
      Based on previous patches, and discussion both on and off LKML.
      
      A Documentation/ABI/testing/sysfs-gpio update is ready to submit once this
      merges to mainline.
      
      [akpm@linux-foundation.org: a few maintenance build fixes]
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
      Cc: Greg KH <greg@kroah.com>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d8f388d8
  7. 05 7月, 2008 1 次提交
  8. 25 5月, 2008 1 次提交
  9. 01 5月, 2008 1 次提交
  10. 30 4月, 2008 2 次提交
    • J
      i2c: Convert most new-style drivers to use module aliasing · 3760f736
      Jean Delvare 提交于
      Based on earlier work by Jon Smirl and Jochen Friedrich.
      
      Update most new-style i2c drivers to use standard module aliasing
      instead of the old driver_name/type driver matching scheme. I've
      left the video drivers apart (except for SoC camera drivers) as
      they're a bit more diffcult to deal with, they'll have their own
      patch later.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: Jon Smirl <jonsmirl@gmail.com>
      Cc: Jochen Friedrich <jochen@scram.de>
      3760f736
    • J
      i2c: Add support for device alias names · d2653e92
      Jean Delvare 提交于
      Based on earlier work by Jon Smirl and Jochen Friedrich.
      
      This patch allows new-style i2c chip drivers to have alias names using
      the official kernel aliasing system and MODULE_DEVICE_TABLE(). At this
      point, the old i2c driver binding scheme (driver_name/type) is still
      supported.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: Jochen Friedrich <jochen@scram.de>
      Cc: Jon Smirl <jonsmirl@gmail.com>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      d2653e92
  11. 28 4月, 2008 1 次提交
  12. 11 3月, 2008 1 次提交
  13. 07 2月, 2008 3 次提交
  14. 06 2月, 2008 1 次提交