From: Atsushi Nemoto Date: Wed, 16 Dec 2009 00:45:58 +0000 (-0800) Subject: rtc-ds1511: fix races around device registration X-Git-Tag: v2.6.33-rc1~71^2~154 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ba4f3e47cb9ef72f864f1b5548688e0a195011e9;p=pandora-kernel.git rtc-ds1511: fix races around device registration - Call dev_set_drvdata before rtc device creation. - Use its own spinlock instead of rtc->irq_lock. Because pdata->rtc must be initialized to use the irq_lock (pdata->rtc->irq_lock). There is a small window which rtc methods can be called before pdata->rtc is initialized. And there is no need use the irq_lock to protect hardware registers. The driver's own spinlock shoule be enough. - Check pdata->rtc before calling rtc_update_irq. - Use {alarm,update}_irq_enable and remove ioctl routine. - Use devres APIs and simplify error/remove path. These fixes are ported from ds1553 driver and just compile-tested only. Signed-off-by: Atsushi Nemoto Cc: Andrew Sharp Cc: Thomas Hommel Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed