Commit d9deb28f authored by Aniket's avatar Aniket Committed by Alexandre Belloni

i3c: dw: Remove ibi_capable property

Since DW I3C IP master role always supports IBI, we don't need
to keep two variants of master ops and select one using this
property. Hence remove the code.
Signed-off-by: default avatarAniket <aniketmaurya@google.com>
Link: https://lore.kernel.org/r/20240627034119.3938050-1-aniketmaurya@google.comSigned-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 64bf1459
...@@ -156,7 +156,6 @@ static int ast2600_i3c_probe(struct platform_device *pdev) ...@@ -156,7 +156,6 @@ static int ast2600_i3c_probe(struct platform_device *pdev)
i3c->sda_pullup); i3c->sda_pullup);
i3c->dw.platform_ops = &ast2600_i3c_ops; i3c->dw.platform_ops = &ast2600_i3c_ops;
i3c->dw.ibi_capable = true;
return dw_i3c_common_probe(&i3c->dw, pdev); return dw_i3c_common_probe(&i3c->dw, pdev);
} }
......
...@@ -1404,21 +1404,6 @@ static const struct i3c_master_controller_ops dw_mipi_i3c_ops = { ...@@ -1404,21 +1404,6 @@ static const struct i3c_master_controller_ops dw_mipi_i3c_ops = {
.attach_i2c_dev = dw_i3c_master_attach_i2c_dev, .attach_i2c_dev = dw_i3c_master_attach_i2c_dev,
.detach_i2c_dev = dw_i3c_master_detach_i2c_dev, .detach_i2c_dev = dw_i3c_master_detach_i2c_dev,
.i2c_xfers = dw_i3c_master_i2c_xfers, .i2c_xfers = dw_i3c_master_i2c_xfers,
};
static const struct i3c_master_controller_ops dw_mipi_i3c_ibi_ops = {
.bus_init = dw_i3c_master_bus_init,
.bus_cleanup = dw_i3c_master_bus_cleanup,
.attach_i3c_dev = dw_i3c_master_attach_i3c_dev,
.reattach_i3c_dev = dw_i3c_master_reattach_i3c_dev,
.detach_i3c_dev = dw_i3c_master_detach_i3c_dev,
.do_daa = dw_i3c_master_daa,
.supports_ccc_cmd = dw_i3c_master_supports_ccc_cmd,
.send_ccc_cmd = dw_i3c_master_send_ccc_cmd,
.priv_xfers = dw_i3c_master_priv_xfers,
.attach_i2c_dev = dw_i3c_master_attach_i2c_dev,
.detach_i2c_dev = dw_i3c_master_detach_i2c_dev,
.i2c_xfers = dw_i3c_master_i2c_xfers,
.request_ibi = dw_i3c_master_request_ibi, .request_ibi = dw_i3c_master_request_ibi,
.free_ibi = dw_i3c_master_free_ibi, .free_ibi = dw_i3c_master_free_ibi,
.enable_ibi = dw_i3c_master_enable_ibi, .enable_ibi = dw_i3c_master_enable_ibi,
...@@ -1456,7 +1441,6 @@ static void dw_i3c_hj_work(struct work_struct *work) ...@@ -1456,7 +1441,6 @@ static void dw_i3c_hj_work(struct work_struct *work)
int dw_i3c_common_probe(struct dw_i3c_master *master, int dw_i3c_common_probe(struct dw_i3c_master *master,
struct platform_device *pdev) struct platform_device *pdev)
{ {
const struct i3c_master_controller_ops *ops;
int ret, irq; int ret, irq;
if (!master->platform_ops) if (!master->platform_ops)
...@@ -1506,12 +1490,9 @@ int dw_i3c_common_probe(struct dw_i3c_master *master, ...@@ -1506,12 +1490,9 @@ int dw_i3c_common_probe(struct dw_i3c_master *master,
master->maxdevs = ret >> 16; master->maxdevs = ret >> 16;
master->free_pos = GENMASK(master->maxdevs - 1, 0); master->free_pos = GENMASK(master->maxdevs - 1, 0);
ops = &dw_mipi_i3c_ops;
if (master->ibi_capable)
ops = &dw_mipi_i3c_ibi_ops;
INIT_WORK(&master->hj_work, dw_i3c_hj_work); INIT_WORK(&master->hj_work, dw_i3c_hj_work);
ret = i3c_master_register(&master->base, &pdev->dev, ops, false); ret = i3c_master_register(&master->base, &pdev->dev,
&dw_mipi_i3c_ops, false);
if (ret) if (ret)
goto err_assert_rst; goto err_assert_rst;
......
...@@ -38,7 +38,6 @@ struct dw_i3c_master { ...@@ -38,7 +38,6 @@ struct dw_i3c_master {
struct clk *core_clk; struct clk *core_clk;
char version[5]; char version[5];
char type[5]; char type[5];
bool ibi_capable;
u32 sir_rej_mask; u32 sir_rej_mask;
/* /*
* Per-device hardware data, used to manage the device address table * Per-device hardware data, used to manage the device address table
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment