aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass2015-01-26 20:29:39 -0700
committerSimon Glass2015-01-29 17:10:01 -0700
commitd744d5613639088246b27edb9ce91ccbd663e5a5 (patch)
tree864c6ef38e0c9a231d59ebc4c076fc3592e70a17
parentbd768264fb6d8f91727ed6cad9c3a09c8021cbc5 (diff)
dm: i2c: Add two more I2C init functions to the compatibility layer
These functions are useful in case the board calls them. Also fix a missing parameter caused by applying the wrong patch (actually I failed to send v2 and applied v1 by mistake). Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--drivers/i2c/i2c-uclass-compat.c14
-rw-r--r--include/i2c.h17
2 files changed, 28 insertions, 3 deletions
diff --git a/drivers/i2c/i2c-uclass-compat.c b/drivers/i2c/i2c-uclass-compat.c
index 841ce0510ca..223f238f4be 100644
--- a/drivers/i2c/i2c-uclass-compat.c
+++ b/drivers/i2c/i2c-uclass-compat.c
@@ -22,8 +22,8 @@ static int i2c_compat_get_device(uint chip_addr, int alen,
return ret;
chip = dev_get_parent_platdata(*devp);
if (chip->offset_len != alen) {
- printf("Requested alen %d does not match chip offset_len %d\n",
- alen, chip->offset_len);
+ printf("I2C chip %x: requested alen %d does not match chip offset_len %d\n",
+ chip_addr, alen, chip->offset_len);
return -EADDRNOTAVAIL;
}
@@ -96,3 +96,13 @@ int i2c_set_bus_num(unsigned int bus)
return 0;
}
+
+void i2c_init(int speed, int slaveaddr)
+{
+ /* Nothing to do here - the init happens through driver model */
+}
+
+void board_i2c_init(const void *blob)
+{
+ /* Nothing to do here - the init happens through driver model */
+}
diff --git a/include/i2c.h b/include/i2c.h
index 95d6f287719..27fe00f1736 100644
--- a/include/i2c.h
+++ b/include/i2c.h
@@ -225,7 +225,7 @@ int i2c_get_bus_num_fdt(int node);
unsigned int i2c_get_bus_num(void);
/**
- * i2c_set_bus_num(): Compatibility function for driver model
+ * i2c_set_bus_num() - Compatibility function for driver model
*
* Sets the 'current' bus
*/
@@ -241,6 +241,21 @@ static inline unsigned int I2C_GET_BUS(void)
return i2c_get_bus_num();
}
+/**
+ * i2c_init() - Compatibility function for driver model
+ *
+ * This function does nothing.
+ */
+void i2c_init(int speed, int slaveaddr);
+
+/**
+ * board_i2c_init() - Compatibility function for driver model
+ *
+ * @param blob Device tree blbo
+ * @return the number of I2C bus
+ */
+void board_i2c_init(const void *blob);
+
#endif
/*