diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2020-01-03 10:55:59 +0200 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2020-01-04 22:08:38 +0000 |
commit | 895fb4b36156c18ddec22157020c6da232927f68 (patch) | |
tree | 3bdde86c18e2c1e5731bc726339e71db12858f0a | |
parent | 6118cda8589272b89a1db12feb001a77591067f9 (diff) | |
download | coreboot-895fb4b36156c18ddec22157020c6da232927f68.tar.xz |
device/smbus: Drop unused smbus_set_link()
I expect it to be easier to just remodel the support for i2c
multiplexers instead. Besides, there was no proper bounds for
pbus_num when accessing pbus_a[].
Change-Id: I17f33b308c01e48bc03b142550535c32862442ac
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38161
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Nico Huber <nico.h@gmx.de>
-rw-r--r-- | src/device/smbus_ops.c | 37 | ||||
-rw-r--r-- | src/include/device/device.h | 1 | ||||
-rw-r--r-- | src/include/device/smbus.h | 1 |
3 files changed, 0 insertions, 39 deletions
diff --git a/src/device/smbus_ops.c b/src/device/smbus_ops.c index 13e6cadd55..3b7a69eabe 100644 --- a/src/device/smbus_ops.c +++ b/src/device/smbus_ops.c @@ -27,43 +27,6 @@ struct bus *get_pbus_smbus(struct device *dev) return pbus; } -/* - * Multi-level I2C MUX? May need to find the first I2C device and then set link - * down to current dev. - * - * 1 store get_pbus_smbus list link - * 2 reverse the link and call set link. - * - * @param dev TODO. - */ -int smbus_set_link(struct device *dev) -{ - struct bus *pbus_a[4]; // 4 level mux only. Enough? - struct bus *pbus = dev->bus; - int pbus_num = 0; - int i; - - while (pbus && pbus->dev && (pbus->dev->path.type == DEVICE_PATH_I2C)) { - pbus_a[pbus_num++] = pbus; - pbus = pbus->dev->bus; - } - - // printk(BIOS_INFO, "smbus_set_link: "); - for (i = pbus_num - 1; i >= 0; i--) { - // printk(BIOS_INFO, " %s[%d] -> ", dev_path(pbus_a[i]->dev), - // pbus_a[i]->link); - if (ops_smbus_bus(get_pbus_smbus(pbus_a[i]->dev))) { - if (pbus_a[i]->dev->ops - && pbus_a[i]->dev->ops->set_link) - pbus_a[i]->dev->ops->set_link(pbus_a[i]->dev, - pbus_a[i]->link_num); - } - } - // printk(BIOS_INFO, " %s\n", dev_path(dev)); - - return pbus_num; -} - #define CHECK_PRESENCE(x) \ if (!ops_smbus_bus(get_pbus_smbus(dev))->x) { \ printk(BIOS_ERR, "%s missing " #x "\n", \ diff --git a/src/include/device/device.h b/src/include/device/device.h index e391291084..2d7400b464 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -41,7 +41,6 @@ struct device_operations { void (*scan_bus)(struct device *bus); void (*enable)(struct device *dev); void (*disable)(struct device *dev); - void (*set_link)(struct device *dev, unsigned int link); void (*reset_bus)(struct bus *bus); #if CONFIG(GENERATE_SMBIOS_TABLES) int (*get_smbios_data)(struct device *dev, int *handle, diff --git a/src/include/device/smbus.h b/src/include/device/smbus.h index 094ad42629..cae4f3fde3 100644 --- a/src/include/device/smbus.h +++ b/src/include/device/smbus.h @@ -28,7 +28,6 @@ static inline const struct smbus_bus_operations *ops_smbus_bus(struct bus *bus) } struct bus *get_pbus_smbus(struct device *dev); -int smbus_set_link(struct device *dev); static inline int smbus_recv_byte(struct device *const dev) { |