[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-iio
Subject:    RE: [PATCH v2 2/2] iio: imu: adis16460: use DEFINE_DEBUGFS_ATTRIBUTE instead of DEFINE_SIMPLE_ATTRIB
From:       "Sa, Nuno" <Nuno.Sa () analog ! com>
Date:       2020-03-31 15:28:22
Message-ID: BN6PR03MB33478A31AA2CF52CF3A81AB999C80 () BN6PR03MB3347 ! namprd03 ! prod ! outlook ! com
[Download RAW message or body]

> From: linux-iio-owner@vger.kernel.org <linux-iio-owner@vger.kernel.org> On
> Behalf Of Rohit Sarkar
> Sent: Dienstag, 31. März 2020 13:48
> To: linux-iio@vger.kernel.org
> Cc: Bogdan, Dragos <Dragos.Bogdan@analog.com>; Rohit Sarkar
> <rohitsarkar5398@gmail.com>; Lars-Peter Clausen <lars@metafoo.de>;
> Hennerich, Michael <Michael.Hennerich@analog.com>; Stefan Popa
> <stefan.popa@analog.com>; Jonathan Cameron <jic23@kernel.org>; Hartmut
> Knaack <knaack.h@gmx.de>; Peter Meerwald-Stadler
> <pmeerw@pmeerw.net>; linux-kernel@vger.kernel.org
> Subject: [PATCH v2 2/2] iio: imu: adis16460: 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>
> ---
>  drivers/iio/imu/adis16460.c | 27 +++++++++++++++------------
>  1 file changed, 15 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/iio/imu/adis16460.c b/drivers/iio/imu/adis16460.c
> index 9539cfe4a259..f96cfd007957 100644
> --- a/drivers/iio/imu/adis16460.c
> +++ b/drivers/iio/imu/adis16460.c
> @@ -87,8 +87,8 @@ static int adis16460_show_serial_number(void *arg,
> u64 *val)
> 
>  	return 0;
>  }
> -DEFINE_SIMPLE_ATTRIBUTE(adis16460_serial_number_fops,
> -	adis16460_show_serial_number, NULL, "0x%.4llx\n");
> +DEFINE_DEBUGFS_ATTRIBUTE(adis16460_serial_number_fops,
> +		adis16460_show_serial_number, NULL, "0x%.4llx\n");
> 
>  static int adis16460_show_product_id(void *arg, u64 *val)
>  {
> @@ -105,8 +105,8 @@ static int adis16460_show_product_id(void *arg, u64
> *val)
> 
>  	return 0;
>  }
> -DEFINE_SIMPLE_ATTRIBUTE(adis16460_product_id_fops,
> -	adis16460_show_product_id, NULL, "%llu\n");
> +DEFINE_DEBUGFS_ATTRIBUTE(adis16460_product_id_fops,
> +		adis16460_show_product_id, NULL, "%llu\n");
> 
>  static int adis16460_show_flash_count(void *arg, u64 *val)
>  {
> @@ -123,19 +123,22 @@ static int adis16460_show_flash_count(void *arg,
> u64 *val)
> 
>  	return 0;
>  }
> -DEFINE_SIMPLE_ATTRIBUTE(adis16460_flash_count_fops,
> -	adis16460_show_flash_count, NULL, "%lld\n");
> +DEFINE_DEBUGFS_ATTRIBUTE(adis16460_flash_count_fops,
> +		adis16460_show_flash_count, NULL, "%lld\n");
> 
>  static int adis16460_debugfs_init(struct iio_dev *indio_dev)
>  {
>  	struct adis16460 *adis16460 = iio_priv(indio_dev);
> 
> -	debugfs_create_file("serial_number", 0400, indio_dev-
> >debugfs_dentry,
> -		adis16460, &adis16460_serial_number_fops);
> -	debugfs_create_file("product_id", 0400, indio_dev->debugfs_dentry,
> -		adis16460, &adis16460_product_id_fops);
> -	debugfs_create_file("flash_count", 0400, indio_dev->debugfs_dentry,
> -		adis16460, &adis16460_flash_count_fops);
> +	debugfs_create_file_unsafe("serial_number", 0400,
> +			indio_dev->debugfs_dentry, adis16460,
> +			&adis16460_serial_number_fops);
> +	debugfs_create_file_unsafe("product_id", 0400,
> +			indio_dev->debugfs_dentry, adis16460,
> +			&adis16460_product_id_fops);
> +	debugfs_create_file_unsafe("flash_count", 0400,
> +			indio_dev->debugfs_dentry, adis16460,
> +			&adis16460_flash_count_fops);
> 
>  	return 0;
>  }

Tested-by Nuno Sá <nuno.sa@analog.com>

> --
> 2.23.0.385.gbc12974a89

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic