static irqreturn_t pcf2123_rtc_irq(int irq, void *dev)
{
struct pcf2123_data *pcf2123 = dev_get_drvdata(dev);
static irqreturn_t pcf2123_rtc_irq(int irq, void *dev)
{
struct pcf2123_data *pcf2123 = dev_get_drvdata(dev);
- struct mutex *lock = &pcf2123->rtc->ops_lock;
unsigned int val = 0;
int ret = IRQ_NONE;
unsigned int val = 0;
int ret = IRQ_NONE;
+ rtc_lock(pcf2123->rtc);
regmap_read(pcf2123->map, PCF2123_REG_CTRL2, &val);
/* Alarm? */
regmap_read(pcf2123->map, PCF2123_REG_CTRL2, &val);
/* Alarm? */
rtc_update_irq(pcf2123->rtc, 1, RTC_IRQF | RTC_AF);
}
rtc_update_irq(pcf2123->rtc, 1, RTC_IRQF | RTC_AF);
}
+ rtc_unlock(pcf2123->rtc);