mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 22:14:04 +02:00
rtc: rk808: check the rtc is available
Change-Id: I383c08cd5ad7cb282c0ec0aa12e9e84c9df52ba3 Signed-off-by: shengfei Xu <xsf@rock-chips.com> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
This commit is contained in:
parent
fd1a4a6389
commit
b3eba31466
|
|
@ -388,13 +388,37 @@ static int rk808_rtc_probe(struct platform_device *pdev)
|
|||
{
|
||||
struct rk808 *rk808 = dev_get_drvdata(pdev->dev.parent);
|
||||
struct rk808_rtc *rk808_rtc;
|
||||
struct device_node *np;
|
||||
int ret;
|
||||
|
||||
switch (rk808->variant) {
|
||||
case RK805_ID:
|
||||
case RK808_ID:
|
||||
case RK816_ID:
|
||||
case RK818_ID:
|
||||
np = of_get_child_by_name(pdev->dev.parent->of_node, "rtc");
|
||||
if (np && !of_device_is_available(np)) {
|
||||
dev_info(&pdev->dev, "device is disabled\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
rk808_rtc = devm_kzalloc(&pdev->dev, sizeof(*rk808_rtc), GFP_KERNEL);
|
||||
if (rk808_rtc == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
switch (rk808->variant) {
|
||||
case RK808_ID:
|
||||
case RK818_ID:
|
||||
rk808_rtc->creg = &rk808_creg;
|
||||
break;
|
||||
case RK805_ID:
|
||||
case RK816_ID:
|
||||
rk808_rtc->creg = &rk808_creg;
|
||||
break;
|
||||
case RK809_ID:
|
||||
case RK817_ID:
|
||||
rk808_rtc->creg = &rk817_creg;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user