Kyösti Mälkki has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/38161 )
Change subject: device/smbus: Drop unused smbus_set_link() ......................................................................
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 --- M src/device/smbus_ops.c M src/include/device/device.h M src/include/device/smbus.h 3 files changed, 0 insertions(+), 39 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/38161/1
diff --git a/src/device/smbus_ops.c b/src/device/smbus_ops.c index 13e6cad..3b7a69e 100644 --- a/src/device/smbus_ops.c +++ b/src/device/smbus_ops.c @@ -27,43 +27,6 @@ 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 e391291..2d7400b 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -41,7 +41,6 @@ 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 094ad42..cae4f3f 100644 --- a/src/include/device/smbus.h +++ b/src/include/device/smbus.h @@ -28,7 +28,6 @@ }
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) {
Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/38161 )
Change subject: device/smbus: Drop unused smbus_set_link() ......................................................................
Patch Set 1: Code-Review+1
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/38161 )
Change subject: device/smbus: Drop unused smbus_set_link() ......................................................................
Patch Set 1: Code-Review+2
Kyösti Mälkki has submitted this change. ( https://review.coreboot.org/c/coreboot/+/38161 )
Change subject: device/smbus: Drop unused smbus_set_link() ......................................................................
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 --- M src/device/smbus_ops.c M src/include/device/device.h M src/include/device/smbus.h 3 files changed, 0 insertions(+), 39 deletions(-)
Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, approved Paul Menzel: Looks good to me, but someone else must approve
diff --git a/src/device/smbus_ops.c b/src/device/smbus_ops.c index 13e6cad..3b7a69e 100644 --- a/src/device/smbus_ops.c +++ b/src/device/smbus_ops.c @@ -27,43 +27,6 @@ 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 e391291..2d7400b 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -41,7 +41,6 @@ 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 094ad42..cae4f3f 100644 --- a/src/include/device/smbus.h +++ b/src/include/device/smbus.h @@ -28,7 +28,6 @@ }
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) {