mirror of https://gitee.com/openkylin/linux.git
iio: imu: adis16400: use DEFINE_DEBUGFS_ATTRIBUTE instead of DEFINE_SIMPLE_ATTRIBUTE
debugfs_create_file_unsafe does not protect the fops handed to it against file removal. DEFINE_DEBUGFS_ATTRIBUTE makes the fops aware of the file lifetime and thus protects it against removal. Signed-off-by: Rohit Sarkar <rohitsarkar5398@gmail.com> Tested-by Nuno Sá <nuno.sa@analog.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
4ab717d9e8
commit
ae1d37a9bb
|
@ -258,7 +258,7 @@ static int adis16400_show_product_id(void *arg, u64 *val)
|
|||
|
||||
return 0;
|
||||
}
|
||||
DEFINE_SIMPLE_ATTRIBUTE(adis16400_product_id_fops,
|
||||
DEFINE_DEBUGFS_ATTRIBUTE(adis16400_product_id_fops,
|
||||
adis16400_show_product_id, NULL, "%lld\n");
|
||||
|
||||
static int adis16400_show_flash_count(void *arg, u64 *val)
|
||||
|
@ -275,7 +275,7 @@ static int adis16400_show_flash_count(void *arg, u64 *val)
|
|||
|
||||
return 0;
|
||||
}
|
||||
DEFINE_SIMPLE_ATTRIBUTE(adis16400_flash_count_fops,
|
||||
DEFINE_DEBUGFS_ATTRIBUTE(adis16400_flash_count_fops,
|
||||
adis16400_show_flash_count, NULL, "%lld\n");
|
||||
|
||||
static int adis16400_debugfs_init(struct iio_dev *indio_dev)
|
||||
|
@ -283,15 +283,16 @@ static int adis16400_debugfs_init(struct iio_dev *indio_dev)
|
|||
struct adis16400_state *st = iio_priv(indio_dev);
|
||||
|
||||
if (st->variant->flags & ADIS16400_HAS_SERIAL_NUMBER)
|
||||
debugfs_create_file("serial_number", 0400,
|
||||
indio_dev->debugfs_dentry, st,
|
||||
&adis16400_serial_number_fops);
|
||||
debugfs_create_file_unsafe("serial_number", 0400,
|
||||
indio_dev->debugfs_dentry, st,
|
||||
&adis16400_serial_number_fops);
|
||||
if (st->variant->flags & ADIS16400_HAS_PROD_ID)
|
||||
debugfs_create_file("product_id", 0400,
|
||||
debugfs_create_file_unsafe("product_id", 0400,
|
||||
indio_dev->debugfs_dentry, st,
|
||||
&adis16400_product_id_fops);
|
||||
debugfs_create_file_unsafe("flash_count", 0400,
|
||||
indio_dev->debugfs_dentry, st,
|
||||
&adis16400_product_id_fops);
|
||||
debugfs_create_file("flash_count", 0400, indio_dev->debugfs_dentry,
|
||||
st, &adis16400_flash_count_fops);
|
||||
&adis16400_flash_count_fops);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue