diff mbox

[U-Boot,V2,19/25] mxc_i2c: finish adding CONFIG_I2C_MULTI_BUS support

Message ID 1341518043-26191-19-git-send-email-troy.kisky@boundarydevices.com
State Accepted
Commit 9815326d043b08f7ad355e53b8b7027634507879
Delegated to: Heiko Schocher
Headers show

Commit Message

Troy Kisky July 5, 2012, 7:53 p.m. UTC
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>

---
v2: global data in sram section
---
 drivers/i2c/mxc_i2c.c |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)
diff mbox

Patch

diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
index 41849d3..2017399 100644
--- a/drivers/i2c/mxc_i2c.c
+++ b/drivers/i2c/mxc_i2c.c
@@ -416,6 +416,23 @@  static int toggle_i2c(void *base)
 	return 0;
 }
 
+#ifdef CONFIG_I2C_MULTI_BUS
+unsigned int i2c_get_bus_num(void)
+{
+	return srdata.curr_i2c_bus;
+}
+
+int i2c_set_bus_num(unsigned bus_idx)
+{
+	if (bus_idx >= ARRAY_SIZE(srdata.i2c_data))
+		return -1;
+	if (!srdata.i2c_data[bus_idx].base)
+		return -1;
+	srdata.curr_i2c_bus = bus_idx;
+	return 0;
+}
+#endif
+
 int i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len)
 {
 	return bus_i2c_read(get_base(), chip, addr, alen, buf, len);