Merge branch 'kvm-updates/2.6.39' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[pandora-kernel.git] / include / linux / sm501.h
index b530fa6..214f932 100644 (file)
@@ -46,24 +46,6 @@ extern unsigned long sm501_modify_reg(struct device *dev,
                                      unsigned long set,
                                      unsigned long clear);
 
-/* sm501_gpio_set
- *
- * set the state of the given GPIO line
-*/
-
-extern void sm501_gpio_set(struct device *dev,
-                          unsigned long gpio,
-                          unsigned int to,
-                          unsigned int dir);
-
-/* sm501_gpio_get
- *
- * get the state of the given GPIO line
-*/
-
-extern unsigned long sm501_gpio_get(struct device *dev,
-                                   unsigned long gpio);
-
 
 /* Platform data definitions */
 
@@ -104,11 +86,19 @@ struct sm501_platdata_fb {
        struct sm501_platdata_fbsub     *fb_pnl;
 };
 
-/* gpio i2c */
+/* gpio i2c
+ *
+ * Note, we have to pass in the bus number, as the number used will be
+ * passed to the i2c-gpio driver's platform_device.id, subsequently used
+ * to register the i2c bus.
+*/
 
 struct sm501_platdata_gpio_i2c {
+       unsigned int            bus_num;
        unsigned int            pin_sda;
        unsigned int            pin_scl;
+       int                     udelay;
+       int                     timeout;
 };
 
 /* sm501_initdata
@@ -131,6 +121,7 @@ struct sm501_reg_init {
 #define SM501_USE_FBACCEL      (1<<6)
 #define SM501_USE_AC97         (1<<7)
 #define SM501_USE_I2S          (1<<8)
+#define SM501_USE_GPIO         (1<<9)
 
 #define SM501_USE_ALL          (0xffffffff)
 
@@ -157,6 +148,8 @@ struct sm501_init_gpio {
        struct sm501_reg_init   gpio_ddr_high;
 };
 
+#define SM501_FLAG_SUSPEND_OFF         (1<<4)
+
 /* sm501_platdata
  *
  * This is passed with the platform device to allow the board
@@ -170,6 +163,12 @@ struct sm501_platdata {
        struct sm501_init_gpio          *init_gpiop;
        struct sm501_platdata_fb        *fb;
 
+       int                              flags;
+       int                              gpio_base;
+
+       int     (*get_power)(struct device *dev);
+       int     (*set_power)(struct device *dev, unsigned int on);
+
        struct sm501_platdata_gpio_i2c  *gpio_i2c;
        unsigned int                     gpio_i2c_nr;
 };