rtc: dev: properly manage lifetime of dev and cdev in rtc device
struct rtc embeds both struct dev and struct cdev. Unfortunately character device structure may outlive the parent rtc structure unless we set it up as parent of character device so that it will stay pinned until character device is freed. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
This commit is contained in:
parent
c3b399a4b6
commit
1e4cd62558
@ -477,6 +477,7 @@ void rtc_dev_prepare(struct rtc_device *rtc)
|
||||
|
||||
cdev_init(&rtc->char_dev, &rtc_dev_fops);
|
||||
rtc->char_dev.owner = rtc->owner;
|
||||
rtc->char_dev.kobj.parent = &rtc->dev.kobj;
|
||||
}
|
||||
|
||||
void rtc_dev_add_device(struct rtc_device *rtc)
|
||||
|
Loading…
Reference in New Issue
Block a user