mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
counter: Use container_of instead of drvdata to track counter_device
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. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20211230150300.72196-2-u.kleine-koenig@pengutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6b0b80ac10
commit
b56346ddbd
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user