Skip to content

Commit bc07fb4

Browse files
andy-shevAndi Shyti
authored andcommitted
i2c: designware: Remove ->disable() callback
Commit 9031235 ("i2c: designware: MASTER mode as separated driver") introduced ->disable() callback but there is no real use for it. Both i2c-designware-master.c and i2c-designware-slave.c set it to the same i2c_dw_disable() and scope is inside the same kernel module. That said, replace the callback by explicitly calling the i2c_dw_disable(). Reviewed-by: Andi Shyti <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Andi Shyti <[email protected]>
1 parent fd57a33 commit bc07fb4

File tree

6 files changed

+8
-10
lines changed

6 files changed

+8
-10
lines changed

drivers/i2c/busses/i2c-designware-common.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -734,6 +734,7 @@ void i2c_dw_disable(struct dw_i2c_dev *dev)
734734

735735
i2c_dw_release_lock(dev);
736736
}
737+
EXPORT_SYMBOL_GPL(i2c_dw_disable);
737738

738739
MODULE_DESCRIPTION("Synopsys DesignWare I2C bus adapter core");
739740
MODULE_LICENSE("GPL");

drivers/i2c/busses/i2c-designware-core.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,6 @@ struct reset_control;
237237
* @semaphore_idx: Index of table with semaphore type attached to the bus. It's
238238
* -1 if there is no semaphore.
239239
* @shared_with_punit: true if this bus is shared with the SoCs PUNIT
240-
* @disable: function to disable the controller
241240
* @init: function to initialize the I2C hardware
242241
* @set_sda_hold_time: callback to retrieve IP specific SDA hold timing
243242
* @mode: operation mode - DW_IC_MASTER or DW_IC_SLAVE
@@ -295,7 +294,6 @@ struct dw_i2c_dev {
295294
void (*release_lock)(void);
296295
int semaphore_idx;
297296
bool shared_with_punit;
298-
void (*disable)(struct dw_i2c_dev *dev);
299297
int (*init)(struct dw_i2c_dev *dev);
300298
int (*set_sda_hold_time)(struct dw_i2c_dev *dev);
301299
int mode;
@@ -342,7 +340,6 @@ int i2c_dw_wait_bus_not_busy(struct dw_i2c_dev *dev);
342340
int i2c_dw_handle_tx_abort(struct dw_i2c_dev *dev);
343341
int i2c_dw_set_fifo_size(struct dw_i2c_dev *dev);
344342
u32 i2c_dw_func(struct i2c_adapter *adap);
345-
void i2c_dw_disable(struct dw_i2c_dev *dev);
346343

347344
static inline void __i2c_dw_enable(struct dw_i2c_dev *dev)
348345
{
@@ -375,6 +372,7 @@ static inline void __i2c_dw_read_intr_mask(struct dw_i2c_dev *dev,
375372
}
376373

377374
void __i2c_dw_disable(struct dw_i2c_dev *dev);
375+
void i2c_dw_disable(struct dw_i2c_dev *dev);
378376

379377
extern void i2c_dw_configure_master(struct dw_i2c_dev *dev);
380378
extern int i2c_dw_probe_master(struct dw_i2c_dev *dev);

drivers/i2c/busses/i2c-designware-master.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -949,7 +949,6 @@ int i2c_dw_probe_master(struct dw_i2c_dev *dev)
949949
init_completion(&dev->cmd_complete);
950950

951951
dev->init = i2c_dw_init_master;
952-
dev->disable = i2c_dw_disable;
953952

954953
ret = i2c_dw_init_regmap(dev);
955954
if (ret)

drivers/i2c/busses/i2c-designware-pcidrv.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ static int __maybe_unused i2c_dw_pci_runtime_suspend(struct device *dev)
198198
{
199199
struct dw_i2c_dev *i_dev = dev_get_drvdata(dev);
200200

201-
i_dev->disable(i_dev);
201+
i2c_dw_disable(i_dev);
202202
return 0;
203203
}
204204

@@ -339,7 +339,8 @@ static void i2c_dw_pci_remove(struct pci_dev *pdev)
339339
{
340340
struct dw_i2c_dev *dev = pci_get_drvdata(pdev);
341341

342-
dev->disable(dev);
342+
i2c_dw_disable(dev);
343+
343344
pm_runtime_forbid(&pdev->dev);
344345
pm_runtime_get_noresume(&pdev->dev);
345346

drivers/i2c/busses/i2c-designware-platdrv.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ static void dw_i2c_plat_remove(struct platform_device *pdev)
328328

329329
i2c_del_adapter(&dev->adapter);
330330

331-
dev->disable(dev);
331+
i2c_dw_disable(dev);
332332

333333
pm_runtime_dont_use_autosuspend(&pdev->dev);
334334
pm_runtime_put_sync(&pdev->dev);
@@ -357,7 +357,7 @@ static int dw_i2c_plat_runtime_suspend(struct device *dev)
357357
if (i_dev->shared_with_punit)
358358
return 0;
359359

360-
i_dev->disable(i_dev);
360+
i2c_dw_disable(i_dev);
361361
i2c_dw_prepare_clk(i_dev, false);
362362

363363
return 0;

drivers/i2c/busses/i2c-designware-slave.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ static int i2c_dw_unreg_slave(struct i2c_client *slave)
9090
struct dw_i2c_dev *dev = i2c_get_adapdata(slave->adapter);
9191

9292
regmap_write(dev->map, DW_IC_INTR_MASK, 0);
93-
dev->disable(dev);
93+
i2c_dw_disable(dev);
9494
synchronize_irq(dev->irq);
9595
dev->slave = NULL;
9696
pm_runtime_put(dev->dev);
@@ -237,7 +237,6 @@ int i2c_dw_probe_slave(struct dw_i2c_dev *dev)
237237
int ret;
238238

239239
dev->init = i2c_dw_init_slave;
240-
dev->disable = i2c_dw_disable;
241240

242241
ret = i2c_dw_init_regmap(dev);
243242
if (ret)

0 commit comments

Comments
 (0)