mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 05:06:29 +00:00
i2c: gpio: move to per-adapter debugfs directory
The I2C core now provides a per-adapter debugfs directory. Use it instead of creating a custom one. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Wolfram Sang <wsa@kernel.org>
This commit is contained in:
parent
73febd775b
commit
c66520c02c
@ -25,7 +25,6 @@ struct i2c_gpio_private_data {
|
||||
struct i2c_algo_bit_data bit_data;
|
||||
struct i2c_gpio_platform_data pdata;
|
||||
#ifdef CONFIG_I2C_GPIO_FAULT_INJECTOR
|
||||
struct dentry *debug_dir;
|
||||
/* these must be protected by bus lock */
|
||||
struct completion scl_irq_completion;
|
||||
u64 scl_irq_data;
|
||||
@ -72,7 +71,6 @@ static int i2c_gpio_getscl(void *data)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_I2C_GPIO_FAULT_INJECTOR
|
||||
static struct dentry *i2c_gpio_debug_dir;
|
||||
|
||||
#define setsda(bd, val) ((bd)->setsda((bd)->data, val))
|
||||
#define setscl(bd, val) ((bd)->setscl((bd)->data, val))
|
||||
@ -258,41 +256,23 @@ static void i2c_gpio_fault_injector_init(struct platform_device *pdev)
|
||||
{
|
||||
struct i2c_gpio_private_data *priv = platform_get_drvdata(pdev);
|
||||
|
||||
/*
|
||||
* If there will be a debugfs-dir per i2c adapter somewhen, put the
|
||||
* 'fault-injector' dir there. Until then, we have a global dir with
|
||||
* all adapters as subdirs.
|
||||
*/
|
||||
if (!i2c_gpio_debug_dir)
|
||||
i2c_gpio_debug_dir = debugfs_create_dir("i2c-fault-injector", NULL);
|
||||
|
||||
priv->debug_dir = debugfs_create_dir(pdev->name, i2c_gpio_debug_dir);
|
||||
|
||||
init_completion(&priv->scl_irq_completion);
|
||||
|
||||
debugfs_create_file_unsafe("incomplete_address_phase", 0200, priv->debug_dir,
|
||||
debugfs_create_file_unsafe("incomplete_address_phase", 0200, priv->adap.debugfs,
|
||||
priv, &fops_incomplete_addr_phase);
|
||||
debugfs_create_file_unsafe("incomplete_write_byte", 0200, priv->debug_dir,
|
||||
debugfs_create_file_unsafe("incomplete_write_byte", 0200, priv->adap.debugfs,
|
||||
priv, &fops_incomplete_write_byte);
|
||||
if (priv->bit_data.getscl) {
|
||||
debugfs_create_file_unsafe("inject_panic", 0200, priv->debug_dir,
|
||||
debugfs_create_file_unsafe("inject_panic", 0200, priv->adap.debugfs,
|
||||
priv, &fops_inject_panic);
|
||||
debugfs_create_file_unsafe("lose_arbitration", 0200, priv->debug_dir,
|
||||
debugfs_create_file_unsafe("lose_arbitration", 0200, priv->adap.debugfs,
|
||||
priv, &fops_lose_arbitration);
|
||||
}
|
||||
debugfs_create_file_unsafe("scl", 0600, priv->debug_dir, priv, &fops_scl);
|
||||
debugfs_create_file_unsafe("sda", 0600, priv->debug_dir, priv, &fops_sda);
|
||||
}
|
||||
|
||||
static void i2c_gpio_fault_injector_exit(struct platform_device *pdev)
|
||||
{
|
||||
struct i2c_gpio_private_data *priv = platform_get_drvdata(pdev);
|
||||
|
||||
debugfs_remove_recursive(priv->debug_dir);
|
||||
debugfs_create_file_unsafe("scl", 0600, priv->adap.debugfs, priv, &fops_scl);
|
||||
debugfs_create_file_unsafe("sda", 0600, priv->adap.debugfs, priv, &fops_sda);
|
||||
}
|
||||
#else
|
||||
static inline void i2c_gpio_fault_injector_init(struct platform_device *pdev) {}
|
||||
static inline void i2c_gpio_fault_injector_exit(struct platform_device *pdev) {}
|
||||
#endif /* CONFIG_I2C_GPIO_FAULT_INJECTOR*/
|
||||
|
||||
/* Get i2c-gpio properties from DT or ACPI table */
|
||||
@ -475,8 +455,6 @@ static void i2c_gpio_remove(struct platform_device *pdev)
|
||||
struct i2c_gpio_private_data *priv;
|
||||
struct i2c_adapter *adap;
|
||||
|
||||
i2c_gpio_fault_injector_exit(pdev);
|
||||
|
||||
priv = platform_get_drvdata(pdev);
|
||||
adap = &priv->adap;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user