Skip to content

Commit

Permalink
rtc: use class iteration api
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Dave Young authored and Greg Kroah-Hartman committed Jan 25, 2008
1 parent 443cad9 commit 71da890
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions drivers/rtc/interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -251,28 +251,30 @@ void rtc_update_irq(struct rtc_device *rtc,
}
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 device *dev;
struct rtc_device *rtc = NULL;

down(&rtc_class->sem);
list_for_each_entry(dev, &rtc_class->devices, node) {
if (strncmp(dev->bus_id, name, BUS_ID_SIZE) == 0) {
dev = get_device(dev);
if (dev)
rtc = to_rtc_device(dev);
break;
}
}
dev = class_find_device(rtc_class, name, __rtc_match);
if (dev)
rtc = to_rtc_device(dev);

if (rtc) {
if (!try_module_get(rtc->owner)) {
put_device(dev);
rtc = NULL;
}
}
up(&rtc_class->sem);

return rtc;
}
Expand Down

0 comments on commit 71da890

Please sign in to comment.