home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / spi / mcp23s08.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  919 b   |  32 lines

  1.  
  2. /* FIXME driver should be able to handle IRQs...  */
  3.  
  4. struct mcp23s08_chip_info {
  5.     bool    is_present;        /* true iff populated */
  6.     u8    pullups;        /* BIT(x) means enable pullup x */
  7. };
  8.  
  9. struct mcp23s08_platform_data {
  10.     /* Four slaves (numbered 0..3) can share one SPI chipselect, and
  11.      * will provide 8..32 GPIOs using 1..4 gpio_chip instances.
  12.      */
  13.     struct mcp23s08_chip_info    chip[4];
  14.  
  15.     /* "base" is the number of the first GPIO.  Dynamic assignment is
  16.      * not currently supported, and even if there are gaps in chip
  17.      * addressing the GPIO numbers are sequential .. so for example
  18.      * if only slaves 0 and 3 are present, their GPIOs range from
  19.      * base to base+15.
  20.      */
  21.     unsigned    base;
  22.  
  23.     void        *context;    /* param to setup/teardown */
  24.  
  25.     int        (*setup)(struct spi_device *spi,
  26.                     int gpio, unsigned ngpio,
  27.                     void *context);
  28.     int        (*teardown)(struct spi_device *spi,
  29.                     int gpio, unsigned ngpio,
  30.                     void *context);
  31. };
  32.