Commit d57949bb authored by Alexandre Belloni's avatar Alexandre Belloni
Browse files

rtc: ds1305: use rtc_lock/rtc_unlock



Avoid accessing directly rtc->ops_lock and use the RTC core helpers.

Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210119220653.677750-3-alexandre.belloni@bootlin.com
parent 3fbd293c
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -435,13 +435,12 @@ static const struct rtc_class_ops ds1305_ops = {
static void ds1305_work(struct work_struct *work)
{
	struct ds1305	*ds1305 = container_of(work, struct ds1305, work);
	struct mutex	*lock = &ds1305->rtc->ops_lock;
	struct spi_device *spi = ds1305->spi;
	u8		buf[3];
	int		status;

	/* lock to protect ds1305->ctrl */
	mutex_lock(lock);
	rtc_lock(ds1305->rtc);

	/* Disable the IRQ, and clear its status ... for now, we "know"
	 * that if more than one alarm is active, they're in sync.
@@ -459,7 +458,7 @@ static void ds1305_work(struct work_struct *work)
	if (status < 0)
		dev_dbg(&spi->dev, "clear irq --> %d\n", status);

	mutex_unlock(lock);
	rtc_unlock(ds1305->rtc);

	if (!test_bit(FLAG_EXITING, &ds1305->flags))
		enable_irq(spi->irq);