lkml.org 
[lkml]   [2021]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/4] rtc: s5m: signal the core when alarm are not available
    Date
    Clear the RTC_FEATURE_ALARM bit to signal to the core when alarms are not
    available to ensure the alarm callbacks are never called and userspace is
    aware alarms are not supported.

    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    ---
    drivers/rtc/rtc-s5m.c | 27 +++++++++++----------------
    1 file changed, 11 insertions(+), 16 deletions(-)

    diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c
    index 4c1596c55de8..ee195697e6c6 100644
    --- a/drivers/rtc/rtc-s5m.c
    +++ b/drivers/rtc/rtc-s5m.c
    @@ -794,25 +794,20 @@ static int s5m_rtc_probe(struct platform_device *pdev)

    info->rtc_dev->ops = &s5m_rtc_ops;

    - err = devm_rtc_register_device(info->rtc_dev);
    - if (err)
    - return err;
    -
    if (!info->irq) {
    - dev_info(&pdev->dev, "Alarm IRQ not available\n");
    - return 0;
    - }
    -
    - ret = devm_request_threaded_irq(&pdev->dev, info->irq, NULL,
    - s5m_rtc_alarm_irq, 0, "rtc-alarm0",
    - info);
    - if (ret < 0) {
    - dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n",
    - info->irq, ret);
    - return ret;
    + clear_bit(RTC_FEATURE_ALARM, info->rtc_dev->features);
    + } else {
    + ret = devm_request_threaded_irq(&pdev->dev, info->irq, NULL,
    + s5m_rtc_alarm_irq, 0, "rtc-alarm0",
    + info);
    + if (ret < 0) {
    + dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n",
    + info->irq, ret);
    + return ret;
    + }
    }

    - return 0;
    + return devm_rtc_register_device(info->rtc_dev);
    }

    #ifdef CONFIG_PM_SLEEP
    --
    2.31.1
    \
     
     \ /
      Last update: 2021-08-04 12:44    [W:7.151 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site