I2C: OMAP2+: Pass flags up to omap i2c platform_data as well
authorAndy Green <andy@warmcat.com>
Mon, 30 May 2011 14:43:08 +0000 (07:43 -0700)
committerBen Dooks <ben-linux@fluff.org>
Sat, 29 Oct 2011 08:37:08 +0000 (09:37 +0100)
This is how the driver can find the flags for its implementation
functionality in its platform_data

Cc: patches@linaro.org
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kevin Hilman <khilman@ti.com>
arch/arm/plat-omap/i2c.c

index 0d3eda77e7ce150f9d348e439942494c14760631..90986690aa9c0b7d32842222729ae170a3b2a8df 100644 (file)
@@ -141,6 +141,7 @@ static inline int omap2_i2c_add_bus(int bus_id)
        struct omap_device *od;
        char oh_name[MAX_OMAP_I2C_HWMOD_NAME_LEN];
        struct omap_i2c_bus_platform_data *pdata;
+       struct omap_i2c_dev_attr *dev_attr;
 
        omap2_i2c_mux_pins(bus_id);
 
@@ -156,10 +157,14 @@ static inline int omap2_i2c_add_bus(int bus_id)
        pdata = &i2c_pdata[bus_id - 1];
        /*
         * pass the hwmod class's CPU-specific knowledge of I2C IP revision in
-        * use up to the OMAP I2C driver via platform data
+        * use, and functionality implementation flags, up to the OMAP I2C
+        * driver via platform data
         */
        pdata->rev = oh->class->rev;
 
+       dev_attr = (struct omap_i2c_dev_attr *)oh->dev_attr;
+       pdata->flags = dev_attr->flags;
+
        /*
         * When waiting for completion of a i2c transfer, we need to
         * set a wake up latency constraint for the MPU. This is to