lkml.org 
[lkml]   [2020]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [PATCH v2 1/2] iio: imu: adis16400: use DEFINE_DEBUGFS_ATTRIBUTE instead of DEFINE_SIMPLE_ATTRIBUTE
    Date
    > 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 1/2] 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>
    > ---
    > drivers/iio/imu/adis16400.c | 19 ++++++++++---------
    > 1 file changed, 10 insertions(+), 9 deletions(-)
    >
    > diff --git a/drivers/iio/imu/adis16400.c b/drivers/iio/imu/adis16400.c
    > index cfb1c19eb930..c8fcd40f58c0 100644
    > --- a/drivers/iio/imu/adis16400.c
    > +++ b/drivers/iio/imu/adis16400.c
    > @@ -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;
    > }

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

    > --
    > 2.23.0.385.gbc12974a89

    \
     
     \ /
      Last update: 2020-03-31 17:29    [W:3.070 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site