The debugfs_create_file_unsafe method does not protect the fops given to it from file removal. It must be used with DEFINE_DEBUGFS_ATTRIBUTE which makes the fops aware of the file lifetime. Further using DEFINE_DEBUGFS_ATTRIBUTE along with debugfs_create_file_unsafe significantly reduces the overhead introduced by debugfs_create_file which creates a lifetime managing proxy around each fops handed in. Refer [1] for more on this. Fixes the following warnings reported by coccinelle: drivers/iio/imu//adis16460.c:126:0-23: WARNING: adis16460_flash_count_fops should be defined with DEFINE_DEBUGFS_ATTRIBUTE drivers/iio/imu//adis16460.c:108:0-23: WARNING: adis16460_product_id_fops should be defined with DEFINE_DEBUGFS_ATTRIBUTE drivers/iio/imu//adis16460.c:90:0-23: WARNING: adis16460_serial_number_fops should be defined with DEFINE_DEBUGFS_ATTRIBUTE drivers/iio/imu//adis16400.c:278:0-23: WARNING: adis16400_flash_count_fops should be defined with DEFINE_DEBUGFS_ATTRIBUTE drivers/iio/imu//adis16400.c:261:0-23: WARNING: adis16400_product_id_fops should be defined with DEFINE_DEBUGFS_ATTRIBUTE [1]: https://lists.gt.net/linux/kernel/2369498 Changelog v1 -> v2 * Use debugfs_create_file_unsafe instead of debugfs_create_file Rohit Sarkar (2): iio: imu: adis16400: use DEFINE_DEBUGFS_ATTRIBUTE instead of DEFINE_SIMPLE_ATTRIBUTE iio: imu: adis16460: use DEFINE_DEBUGFS_ATTRIBUTE instead of DEFINE_SIMPLE_ATTRIBUTE drivers/iio/imu/adis16400.c | 19 ++++++++++--------- drivers/iio/imu/adis16460.c | 27 +++++++++++++++------------ 2 files changed, 25 insertions(+), 21 deletions(-) -- 2.23.0.385.gbc12974a89