Commit 52d4639d authored by Shrikanth Hegde's avatar Shrikanth Hegde Committed by Madhavan Srinivasan
Browse files

powerpc: sysdev: use lock guard for mutex

use guard(mutex) for scope based resource management of mutex
This would make the code simpler and easier to maintain.

More details on lock guards can be found at
https://lore.kernel.org/all/20230612093537.614161713@infradead.org/T/#u



Reviewed-by: default avatarSrikar Dronamraju <srikar@linux.ibm.com>
Signed-off-by: default avatarShrikanth Hegde <sshegde@linux.ibm.com>
Tested-by: default avatarVenkat Rao Bagalkote <venkat88@linux.ibm.com>
Signed-off-by: default avatarMadhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20250505075333.184463-7-sshegde@linux.ibm.com
parent 8ea7819f
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ static ssize_t fsl_timer_wakeup_store(struct device *dev,
	if (kstrtoll(buf, 0, &interval))
		return -EINVAL;

	mutex_lock(&sysfs_lock);
	guard(mutex)(&sysfs_lock);

	if (fsl_wakeup->timer) {
		disable_irq_wake(fsl_wakeup->timer->irq);
@@ -83,31 +83,23 @@ static ssize_t fsl_timer_wakeup_store(struct device *dev,
		fsl_wakeup->timer = NULL;
	}

	if (!interval) {
		mutex_unlock(&sysfs_lock);
	if (!interval)
		return count;
	}

	fsl_wakeup->timer = mpic_request_timer(fsl_mpic_timer_irq,
						fsl_wakeup, interval);
	if (!fsl_wakeup->timer) {
		mutex_unlock(&sysfs_lock);
	if (!fsl_wakeup->timer)
		return -EINVAL;
	}

	ret = enable_irq_wake(fsl_wakeup->timer->irq);
	if (ret) {
		mpic_free_timer(fsl_wakeup->timer);
		fsl_wakeup->timer = NULL;
		mutex_unlock(&sysfs_lock);

		return ret;
	}

	mpic_start_timer(fsl_wakeup->timer);

	mutex_unlock(&sysfs_lock);

	return count;
}