Re: [PATCH v2 01/23] counter: Use container_of instead of drvdata to track counter_device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 27 Dec 2021 10:45:04 +0100
Uwe Kleine-König         <u.kleine-koenig@xxxxxxxxxxxxxx> wrote:

> The counter core uses drvdata to find a struct counter_device from a
> struct device. However as the device is a member of struct counter_device,
> the lookup can be done faster (and a bit type safe) using container_of.
> 
> There are no other users of drvdata, so the call to dev_set_drvdata can
> go away, too.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
LGTM

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>

> ---
>  drivers/counter/counter-core.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/counter/counter-core.c b/drivers/counter/counter-core.c
> index 5acc54539623..f053a43c6c04 100644
> --- a/drivers/counter/counter-core.c
> +++ b/drivers/counter/counter-core.c
> @@ -26,7 +26,8 @@ static DEFINE_IDA(counter_ida);
>  
>  static void counter_device_release(struct device *dev)
>  {
> -	struct counter_device *const counter = dev_get_drvdata(dev);
> +	struct counter_device *const counter =
> +		container_of(dev, struct counter_device, dev);
>  
>  	counter_chrdev_remove(counter);
>  	ida_free(&counter_ida, dev->id);
> @@ -78,7 +79,6 @@ int counter_register(struct counter_device *const counter)
>  		dev->of_node = counter->parent->of_node;
>  	}
>  	device_initialize(dev);
> -	dev_set_drvdata(dev, counter);
>  
>  	err = counter_sysfs_add(counter);
>  	if (err < 0)




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux