Received: by 10.192.165.148 with SMTP id m20csp344783imm; Wed, 2 May 2018 01:00:25 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpJi+gj815tCOONJWMwDoETPudzpW+EPefjfGR0Wm3H9aK6nkK+vC7n7+9i7v30IF5g+Ul4 X-Received: by 2002:a17:902:8a:: with SMTP id a10-v6mr18890561pla.89.1525248025831; Wed, 02 May 2018 01:00:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525248025; cv=none; d=google.com; s=arc-20160816; b=AgTrnwZpPEZldfeeXkfUadqpHfgf8p9tHzstuqO2nnPqa/kXeCAjJB2iwGk4332xrw nu2nhryBVrqULd70SD4l3eO8BFIG97RljXNgeoZG+gli2f5CBsB3Jtgkv4YB4WWDqUE0 lXdEWIWKDzJ+5O8qBhfpNkgmxV8vgB1ie41RWzmUcsd4kntOhfuamEduD10x+5I56rbx D5IkBi0B9cP35qvys5UcIcdDX02j81GFkK2gpD2N57MsJFuwkejivF3wPd3oArAW090D ZSEQUoNYNJARzorTTC41fWDXUXVCNQP+tl2yQNOX0VCw8m3dtwwS5Ek9RqqGLZmhrisG wG0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=5DiubEchSPKDfHUMDKZbNAxoP88cwOeG2b81FVHywDk=; b=Y52PQcYDvJbtDnJEi5Y9bxyJ96yNg0ErrmWqmjs8ZWxprOf4XzXeI3mDEgthwzAAcw QEfRgUAenFkkJCOHn40TsioIQMpMIqjqNUtwhfXk4rK46iHiwj2Lqx5YM3qPPD8/zoRx MbRSWM6huP3OMsDt/kYXEbK0onlNgpm4pXw5NZXIU2KAZd2sHZ6uVzWI+3gP4GfJPRth SMZgxhMW4Km5wRozo2Q7kKKa3lJ/6A4rq3QC+q6xbhh/faXcB5h0i8QCmm06jM+/PwfD tHpk2yn7JmDM2X5arS97XGnfiOy07w49FfWw8QuxuzR0V54chZ8wrJD8yRUTZuFq+VIf dwYg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n26-v6si9264444pgc.677.2018.05.02.01.00.11; Wed, 02 May 2018 01:00:25 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751245AbeEBH76 (ORCPT + 99 others); Wed, 2 May 2018 03:59:58 -0400 Received: from lgeamrelo11.lge.com ([156.147.23.51]:60739 "EHLO lgeamrelo11.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751087AbeEBH7z (ORCPT ); Wed, 2 May 2018 03:59:55 -0400 Received: from unknown (HELO lgeamrelo01.lge.com) (156.147.1.125) by 156.147.23.51 with ESMTP; 2 May 2018 16:59:54 +0900 X-Original-SENDERIP: 156.147.1.125 X-Original-MAILFROM: neidhard.kim@lge.com Received: from unknown (HELO localhost.localdomain) (10.178.31.61) by 156.147.1.125 with ESMTP; 2 May 2018 16:59:52 +0900 X-Original-SENDERIP: 10.178.31.61 X-Original-MAILFROM: neidhard.kim@lge.com From: Jongsung Kim To: Wim Van Sebroeck , Guenter Roeck , linux-watchdog@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Chanho Min , Jongsung Kim Subject: [PATCH v2] watchdog: sp805: add restart handler Date: Wed, 2 May 2018 16:59:39 +0900 Message-Id: <1525247979-23156-1-git-send-email-neidhard.kim@lge.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add restart handler for SP805 watchdog so that the driver can be used to reboot the system. Signed-off-by: Jongsung Kim Cc: Guenter Roeck --- drivers/watchdog/sp805_wdt.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c index 03805bc..969369e 100644 --- a/drivers/watchdog/sp805_wdt.c +++ b/drivers/watchdog/sp805_wdt.c @@ -121,6 +121,18 @@ static unsigned int wdt_timeleft(struct watchdog_device *wdd) return div_u64(load, rate); } +static int +wdt_restart(struct watchdog_device *wdd, unsigned long mode, void *cmd) +{ + struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); + + writel_relaxed(0, wdt->base + WDTCONTROL); + writel_relaxed(0, wdt->base + WDTLOAD); + writel_relaxed(INT_ENABLE | RESET_ENABLE, wdt->base + WDTCONTROL); + + return 0; +} + static int wdt_config(struct watchdog_device *wdd, bool ping) { struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); @@ -197,6 +209,7 @@ static const struct watchdog_ops wdt_ops = { .ping = wdt_ping, .set_timeout = wdt_setload, .get_timeleft = wdt_timeleft, + .restart = wdt_restart, }; static int -- 2.7.4