rtc: use class iteration api
Convert to use the class iteration api. Signed-off-by: Dave Young <hidave.darkstar@gmail.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
443cad920a
commit
71da890509
1 changed files with 12 additions and 10 deletions
|
@ -251,20 +251,23 @@ void rtc_update_irq(struct rtc_device *rtc,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(rtc_update_irq);
|
EXPORT_SYMBOL_GPL(rtc_update_irq);
|
||||||
|
|
||||||
|
static int __rtc_match(struct device *dev, void *data)
|
||||||
|
{
|
||||||
|
char *name = (char *)data;
|
||||||
|
|
||||||
|
if (strncmp(dev->bus_id, name, BUS_ID_SIZE) == 0)
|
||||||
|
return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
struct rtc_device *rtc_class_open(char *name)
|
struct rtc_device *rtc_class_open(char *name)
|
||||||
{
|
{
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
struct rtc_device *rtc = NULL;
|
struct rtc_device *rtc = NULL;
|
||||||
|
|
||||||
down(&rtc_class->sem);
|
dev = class_find_device(rtc_class, name, __rtc_match);
|
||||||
list_for_each_entry(dev, &rtc_class->devices, node) {
|
if (dev)
|
||||||
if (strncmp(dev->bus_id, name, BUS_ID_SIZE) == 0) {
|
rtc = to_rtc_device(dev);
|
||||||
dev = get_device(dev);
|
|
||||||
if (dev)
|
|
||||||
rtc = to_rtc_device(dev);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rtc) {
|
if (rtc) {
|
||||||
if (!try_module_get(rtc->owner)) {
|
if (!try_module_get(rtc->owner)) {
|
||||||
|
@ -272,7 +275,6 @@ struct rtc_device *rtc_class_open(char *name)
|
||||||
rtc = NULL;
|
rtc = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
up(&rtc_class->sem);
|
|
||||||
|
|
||||||
return rtc;
|
return rtc;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue