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 / mfd / htc-pasic3.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.2 KB  |  56 lines

  1. /*
  2.  * HTC PASIC3 driver - LEDs and DS1WM
  3.  *
  4.  * Copyright (c) 2007 Philipp Zabel <philipp.zabel@gmail.com>
  5.  *
  6.  * This file is subject to the terms and conditions of the GNU General Public
  7.  * License.  See the file COPYING in the main directory of this archive for
  8.  * more details.
  9.  *
  10.  */
  11.  
  12. #ifndef __PASIC3_H
  13. #define __PASIC3_H
  14.  
  15. #include <linux/platform_device.h>
  16. #include <linux/leds.h>
  17.  
  18. extern void pasic3_write_register(struct device *dev, u32 reg, u8 val);
  19. extern u8 pasic3_read_register(struct device *dev, u32 reg);
  20.  
  21. /*
  22.  * mask for registers 0x20,0x21,0x22
  23.  */
  24. #define PASIC3_MASK_LED0 0x04
  25. #define PASIC3_MASK_LED1 0x08
  26. #define PASIC3_MASK_LED2 0x40
  27.  
  28. /*
  29.  * bits in register 0x06
  30.  */
  31. #define PASIC3_BIT2_LED0 0x08
  32. #define PASIC3_BIT2_LED1 0x10
  33. #define PASIC3_BIT2_LED2 0x20
  34.  
  35. struct pasic3_led {
  36.     struct led_classdev         led;
  37.     unsigned int                hw_num;
  38.     unsigned int                bit2;
  39.     unsigned int                mask;
  40.     struct pasic3_leds_machinfo *pdata;
  41. };
  42.  
  43. struct pasic3_leds_machinfo {
  44.     unsigned int      num_leds;
  45.     unsigned int      power_gpio;
  46.     struct pasic3_led *leds;
  47. };
  48.  
  49. struct pasic3_platform_data {
  50.     struct pasic3_leds_machinfo *led_pdata;
  51.     unsigned int                 bus_shift;
  52.     unsigned int                 clock_rate;
  53. };
  54.  
  55. #endif
  56.