From 6e6b3eeb00dd58a8cc891c77ae503e9bff015326 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 30 Dec 2024 11:11:48 +0000 Subject: [PATCH] Revert "i3c: master: support to adjust first broadcast address speed" This reverts commit 9be932790520a88fe6c49ad2563310cce2146554 which is commit aef79e189ba2b32f78bd35daf2c0b41f3868a321 upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: Ic446c45504662c6e2c2d0a547677ed68eeddd59e Signed-off-by: Greg Kroah-Hartman --- drivers/i3c/master.c | 12 ------------ include/linux/i3c/master.h | 16 ---------------- 2 files changed, 28 deletions(-) diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index 103d3383e176..f5a289a39b1a 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -1810,12 +1810,6 @@ static int i3c_master_bus_init(struct i3c_master_controller *master) goto err_bus_cleanup; } - if (master->ops->set_speed) { - ret = master->ops->set_speed(master, I3C_OPEN_DRAIN_SLOW_SPEED); - if (ret) - goto err_bus_cleanup; - } - /* * Reset all dynamic address that may have been assigned before * (assigned by the bootloader for example). @@ -1824,12 +1818,6 @@ static int i3c_master_bus_init(struct i3c_master_controller *master) if (ret && ret != I3C_ERROR_M2) goto err_bus_cleanup; - if (master->ops->set_speed) { - master->ops->set_speed(master, I3C_OPEN_DRAIN_NORMAL_SPEED); - if (ret) - goto err_bus_cleanup; - } - /* Disable all slave events before starting DAA. */ ret = i3c_master_disec_locked(master, I3C_BROADCAST_ADDR, I3C_CCC_EVENT_SIR | I3C_CCC_EVENT_MR | diff --git a/include/linux/i3c/master.h b/include/linux/i3c/master.h index 585b6c509802..b6cbd00773a3 100644 --- a/include/linux/i3c/master.h +++ b/include/linux/i3c/master.h @@ -268,20 +268,6 @@ enum i3c_bus_mode { I3C_BUS_MODE_MIXED_SLOW, }; -/** - * enum i3c_open_drain_speed - I3C open-drain speed - * @I3C_OPEN_DRAIN_SLOW_SPEED: Slow open-drain speed for sending the first - * broadcast address. The first broadcast address at this speed - * will be visible to all devices on the I3C bus. I3C devices - * working in I2C mode will turn off their spike filter when - * switching into I3C mode. - * @I3C_OPEN_DRAIN_NORMAL_SPEED: Normal open-drain speed in I3C bus mode. - */ -enum i3c_open_drain_speed { - I3C_OPEN_DRAIN_SLOW_SPEED, - I3C_OPEN_DRAIN_NORMAL_SPEED, -}; - /** * enum i3c_addr_slot_status - I3C address slot status * @I3C_ADDR_SLOT_FREE: address is free @@ -441,7 +427,6 @@ struct i3c_bus { * NULL. * @enable_hotjoin: enable hot join event detect. * @disable_hotjoin: disable hot join event detect. - * @set_speed: adjust I3C open drain mode timing. */ struct i3c_master_controller_ops { int (*bus_init)(struct i3c_master_controller *master); @@ -470,7 +455,6 @@ struct i3c_master_controller_ops { struct i3c_ibi_slot *slot); int (*enable_hotjoin)(struct i3c_master_controller *master); int (*disable_hotjoin)(struct i3c_master_controller *master); - int (*set_speed)(struct i3c_master_controller *master, enum i3c_open_drain_speed speed); }; /**