[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1465119356-129799-1-git-send-email-agraf@suse.de>
Date: Sun, 5 Jun 2016 11:35:56 +0200
From: Alexander Graf <agraf@...e.de>
To: rtc-linux@...glegroups.com
Cc: leif.lindholm@...aro.org, linux-kernel@...r.kernel.org,
Alexandre Belloni <alexandre.belloni@...e-electrons.com>,
Alessandro Zummo <a.zummo@...ertech.it>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>
Subject: [PATCH] rtc: efi: Fail probing if RTC reads don't work
While the EFI spec mandates an RTC, not every implementation actually adheres
to that rule (or can adhere to it - some systems just don't have an RTC).
For those, we really don't want to probe the EFI RTC driver at all, because if
we do we'd get a non-functional driver that does nothing useful but only spills
our kernel log with warnings.
Signed-off-by: Alexander Graf <agraf@...e.de>
---
drivers/rtc/rtc-efi.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/rtc/rtc-efi.c b/drivers/rtc/rtc-efi.c
index 96d3860..0130afd 100644
--- a/drivers/rtc/rtc-efi.c
+++ b/drivers/rtc/rtc-efi.c
@@ -259,6 +259,12 @@ static const struct rtc_class_ops efi_rtc_ops = {
static int __init efi_rtc_probe(struct platform_device *dev)
{
struct rtc_device *rtc;
+ efi_time_t eft;
+ efi_time_cap_t cap;
+
+ /* First check if the RTC is usable */
+ if (efi.get_time(&eft, &cap) != EFI_SUCCESS)
+ return -ENODEV;
rtc = devm_rtc_device_register(&dev->dev, "rtc-efi", &efi_rtc_ops,
THIS_MODULE);
--
1.8.5.6
Powered by blists - more mailing lists