@@ -52,13 +52,14 @@ struct xwdt_device {
static struct xwdt_device xdev;
static u32 timeout;
-static u32 control_status_reg;
static u8 no_timeout;
static DEFINE_SPINLOCK(spinlock);
static int xilinx_wdt_start(struct watchdog_device *wdd)
{
+ u32 control_status_reg;
+
spin_lock(&spinlock);
/* Clean previous status and enable the watchdog timer */
@@ -77,6 +78,8 @@ static int xilinx_wdt_start(struct watchdog_device *wdd)
static int xilinx_wdt_stop(struct watchdog_device *wdd)
{
+ u32 control_status_reg;
+
spin_lock(&spinlock);
control_status_reg = ioread32(xdev.base + XWT_TWCSR0_OFFSET);
@@ -94,6 +97,8 @@ static int xilinx_wdt_stop(struct watchdog_device *wdd)
static int xilinx_wdt_keepalive(struct watchdog_device *wdd)
{
+ u32 control_status_reg;
+
spin_lock(&spinlock);
control_status_reg = ioread32(xdev.base + XWT_TWCSR0_OFFSET);
control_status_reg is temp variables and should be used locally by specific function. Signed-off-by: Michal Simek <michal.simek@xilinx.com> --- drivers/watchdog/of_xilinx_wdt.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -- 1.8.2.3