/linux/drivers/watchdog/ |
H A D | watchdog_core.c | 67 static void watchdog_deferred_registration_add(struct watchdog_device *wdd) in watchdog_deferred_registration_add() argument 69 list_add_tail(&wdd->deferred, in watchdog_deferred_registration_add() 73 static void watchdog_deferred_registration_del(struct watchdog_device *wdd) in watchdog_deferred_registration_del() argument 81 if (wdd_tmp == wdd) { in watchdog_deferred_registration_del() 88 static void watchdog_check_min_max_timeout(struct watchdog_device *wdd) in watchdog_check_min_max_timeout() argument 94 if (!wdd->max_hw_heartbeat_ms && wdd->min_timeout > wdd->max_timeout) { in watchdog_check_min_max_timeout() 96 wdd->min_timeout = 0; in watchdog_check_min_max_timeout() 97 wdd->max_timeout = 0; in watchdog_check_min_max_timeout() 118 int watchdog_init_timeout(struct watchdog_device *wdd, in watchdog_init_timeout() argument 121 const char *dev_str = wdd->parent ? dev_name(wdd->parent) : in watchdog_init_timeout() [all …]
|
H A D | rave-sp-wdt.c | 54 struct watchdog_device wdd; member 60 static struct rave_sp_wdt *to_rave_sp_wdt(struct watchdog_device *wdd) in to_rave_sp_wdt() argument 62 return container_of(wdd, struct rave_sp_wdt, wdd); in to_rave_sp_wdt() 65 static int rave_sp_wdt_exec(struct watchdog_device *wdd, void *data, in rave_sp_wdt_exec() argument 68 return rave_sp_exec(to_rave_sp_wdt(wdd)->sp, in rave_sp_wdt_exec() 72 static int rave_sp_wdt_legacy_configure(struct watchdog_device *wdd, bool on) in rave_sp_wdt_legacy_configure() argument 79 [4] = on ? wdd->timeout : 0, in rave_sp_wdt_legacy_configure() 82 return rave_sp_wdt_exec(wdd, cmd, sizeof(cmd)); in rave_sp_wdt_legacy_configure() 85 static int rave_sp_wdt_rdu_configure(struct watchdog_device *wdd, bool on) in rave_sp_wdt_rdu_configure() argument 91 [3] = (u8)wdd->timeout, in rave_sp_wdt_rdu_configure() [all …]
|
H A D | npcm_wdt.c | 45 struct watchdog_device wdd; member 50 static inline struct npcm_wdt *to_npcm_wdt(struct watchdog_device *wdd) in to_npcm_wdt() argument 52 return container_of(wdd, struct npcm_wdt, wdd); in to_npcm_wdt() 55 static int npcm_wdt_ping(struct watchdog_device *wdd) in npcm_wdt_ping() argument 57 struct npcm_wdt *wdt = to_npcm_wdt(wdd); in npcm_wdt_ping() 66 static int npcm_wdt_start(struct watchdog_device *wdd) in npcm_wdt_start() argument 68 struct npcm_wdt *wdt = to_npcm_wdt(wdd); in npcm_wdt_start() 74 if (wdd->timeout < 2) in npcm_wdt_start() 76 else if (wdd->timeout < 3) in npcm_wdt_start() 78 else if (wdd->timeout < 6) in npcm_wdt_start() [all …]
|
H A D | da9063_wdt.c | 96 static int da9063_wdt_start(struct watchdog_device *wdd) in da9063_wdt_start() argument 98 struct da9063 *da9063 = watchdog_get_drvdata(wdd); in da9063_wdt_start() 101 ret = da9063_wdt_update_timeout(da9063, wdd->timeout); in da9063_wdt_start() 109 static int da9063_wdt_stop(struct watchdog_device *wdd) in da9063_wdt_stop() argument 111 struct da9063 *da9063 = watchdog_get_drvdata(wdd); in da9063_wdt_stop() 122 static int da9063_wdt_ping(struct watchdog_device *wdd) in da9063_wdt_ping() argument 124 struct da9063 *da9063 = watchdog_get_drvdata(wdd); in da9063_wdt_ping() 143 static int da9063_wdt_set_timeout(struct watchdog_device *wdd, in da9063_wdt_set_timeout() argument 146 struct da9063 *da9063 = watchdog_get_drvdata(wdd); in da9063_wdt_set_timeout() 159 if (watchdog_active(wdd)) in da9063_wdt_set_timeout() [all …]
|
H A D | arm_smc_wdt.c | 34 static int smcwd_call(struct watchdog_device *wdd, enum smcwd_call call, in smcwd_call() argument 42 arm_smccc_smc((u32)(uintptr_t)watchdog_get_drvdata(wdd), call, arg, 0, in smcwd_call() 54 static int smcwd_ping(struct watchdog_device *wdd) in smcwd_ping() argument 56 return smcwd_call(wdd, SMCWD_PET, 0, NULL); in smcwd_ping() 59 static unsigned int smcwd_get_timeleft(struct watchdog_device *wdd) in smcwd_get_timeleft() argument 63 smcwd_call(wdd, SMCWD_GET_TIMELEFT, 0, &res); in smcwd_get_timeleft() 69 static int smcwd_set_timeout(struct watchdog_device *wdd, unsigned int timeout) in smcwd_set_timeout() argument 73 res = smcwd_call(wdd, SMCWD_SET_TIMEOUT, timeout, NULL); in smcwd_set_timeout() 75 wdd->timeout = timeout; in smcwd_set_timeout() 79 static int smcwd_stop(struct watchdog_device *wdd) in smcwd_stop() argument [all …]
|
H A D | cgbc_wdt.c | 57 struct watchdog_device wdd; member 72 static int cgbc_wdt_start(struct watchdog_device *wdd) in cgbc_wdt_start() argument 74 struct cgbc_wdt_data *wdt_data = watchdog_get_drvdata(wdd); in cgbc_wdt_start() 76 unsigned int timeout1 = (wdd->timeout - wdd->pretimeout) * 1000; in cgbc_wdt_start() 77 unsigned int timeout2 = wdd->pretimeout * 1000; in cgbc_wdt_start() 91 if (wdd->pretimeout) { in cgbc_wdt_start() 105 static int cgbc_wdt_stop(struct watchdog_device *wdd) in cgbc_wdt_stop() argument 107 struct cgbc_wdt_data *wdt_data = watchdog_get_drvdata(wdd); in cgbc_wdt_stop() 117 static int cgbc_wdt_keepalive(struct watchdog_device *wdd) in cgbc_wdt_keepalive() argument 119 struct cgbc_wdt_data *wdt_data = watchdog_get_drvdata(wdd); in cgbc_wdt_keepalive() [all …]
|
H A D | bcm47xx_wdt.c | 43 static inline struct bcm47xx_wdt *bcm47xx_wdt_get(struct watchdog_device *wdd) in bcm47xx_wdt_get() argument 45 return container_of(wdd, struct bcm47xx_wdt, wdd); in bcm47xx_wdt_get() 48 static int bcm47xx_wdt_hard_keepalive(struct watchdog_device *wdd) in bcm47xx_wdt_hard_keepalive() argument 50 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_keepalive() 52 wdt->timer_set_ms(wdt, wdd->timeout * 1000); in bcm47xx_wdt_hard_keepalive() 57 static int bcm47xx_wdt_hard_start(struct watchdog_device *wdd) in bcm47xx_wdt_hard_start() argument 62 static int bcm47xx_wdt_hard_stop(struct watchdog_device *wdd) in bcm47xx_wdt_hard_stop() argument 64 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_stop() 71 static int bcm47xx_wdt_hard_set_timeout(struct watchdog_device *wdd, in bcm47xx_wdt_hard_set_timeout() argument 74 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_set_timeout() [all …]
|
H A D | cros_ec_wdt.c | 52 static int cros_ec_wdt_ping(struct watchdog_device *wdd) in cros_ec_wdt_ping() argument 54 struct cros_ec_device *cros_ec = watchdog_get_drvdata(wdd); in cros_ec_wdt_ping() 61 dev_dbg(wdd->parent, "Failed to ping watchdog (%d)", ret); in cros_ec_wdt_ping() 66 static int cros_ec_wdt_start(struct watchdog_device *wdd) in cros_ec_wdt_start() argument 68 struct cros_ec_device *cros_ec = watchdog_get_drvdata(wdd); in cros_ec_wdt_start() 74 arg.req.reboot_timeout_sec = wdd->timeout; in cros_ec_wdt_start() 77 dev_dbg(wdd->parent, "Failed to start watchdog (%d)", ret); in cros_ec_wdt_start() 82 static int cros_ec_wdt_stop(struct watchdog_device *wdd) in cros_ec_wdt_stop() argument 84 struct cros_ec_device *cros_ec = watchdog_get_drvdata(wdd); in cros_ec_wdt_stop() 91 dev_dbg(wdd->parent, "Failed to stop watchdog (%d)", ret); in cros_ec_wdt_stop() [all …]
|
H A D | qcom-wdt.c | 48 struct watchdog_device wdd; member 60 struct qcom_wdt *to_qcom_wdt(struct watchdog_device *wdd) in to_qcom_wdt() argument 62 return container_of(wdd, struct qcom_wdt, wdd); in to_qcom_wdt() 67 struct watchdog_device *wdd = arg; in qcom_wdt_isr() local 69 watchdog_notify_pretimeout(wdd); in qcom_wdt_isr() 74 static int qcom_wdt_start(struct watchdog_device *wdd) in qcom_wdt_start() argument 76 struct qcom_wdt *wdt = to_qcom_wdt(wdd); in qcom_wdt_start() 77 unsigned int bark = wdd->timeout - wdd->pretimeout; in qcom_wdt_start() 82 writel(wdd->timeout * wdt->rate, wdt_addr(wdt, WDT_BITE_TIME)); in qcom_wdt_start() 87 static int qcom_wdt_stop(struct watchdog_device *wdd) in qcom_wdt_stop() argument [all …]
|
H A D | tegra_wdt.c | 60 struct watchdog_device wdd; member 78 static int tegra_wdt_start(struct watchdog_device *wdd) in tegra_wdt_start() argument 80 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); in tegra_wdt_start() 101 (wdd->timeout << WDT_CFG_PERIOD_SHIFT) | in tegra_wdt_start() 110 static int tegra_wdt_stop(struct watchdog_device *wdd) in tegra_wdt_stop() argument 112 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); in tegra_wdt_stop() 121 static int tegra_wdt_ping(struct watchdog_device *wdd) in tegra_wdt_ping() argument 123 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); in tegra_wdt_ping() 130 static int tegra_wdt_set_timeout(struct watchdog_device *wdd, in tegra_wdt_set_timeout() argument 133 wdd->timeout = timeout; in tegra_wdt_set_timeout() [all …]
|
H A D | stm32_iwdg.c | 79 struct watchdog_device wdd; member 97 static int stm32_iwdg_start(struct watchdog_device *wdd) in stm32_iwdg_start() argument 99 struct stm32_iwdg *wdt = watchdog_get_drvdata(wdd); in stm32_iwdg_start() 103 dev_dbg(wdd->parent, "%s\n", __func__); in stm32_iwdg_start() 105 if (!wdd->pretimeout) in stm32_iwdg_start() 106 wdd->pretimeout = 3 * wdd->timeout / 4; in stm32_iwdg_start() 108 tout = clamp_t(unsigned int, wdd->timeout, in stm32_iwdg_start() 109 wdd->min_timeout, wdd->max_hw_heartbeat_ms / 1000); in stm32_iwdg_start() 110 ptot = clamp_t(unsigned int, tout - wdd->pretimeout, in stm32_iwdg_start() 111 wdd->min_timeout, tout); in stm32_iwdg_start() [all …]
|
H A D | apple_wdt.c | 57 struct watchdog_device wdd; member 62 static struct apple_wdt *to_apple_wdt(struct watchdog_device *wdd) in to_apple_wdt() argument 64 return container_of(wdd, struct apple_wdt, wdd); in to_apple_wdt() 67 static int apple_wdt_start(struct watchdog_device *wdd) in apple_wdt_start() argument 69 struct apple_wdt *wdt = to_apple_wdt(wdd); in apple_wdt_start() 77 static int apple_wdt_stop(struct watchdog_device *wdd) in apple_wdt_stop() argument 79 struct apple_wdt *wdt = to_apple_wdt(wdd); in apple_wdt_stop() 86 static int apple_wdt_ping(struct watchdog_device *wdd) in apple_wdt_ping() argument 88 struct apple_wdt *wdt = to_apple_wdt(wdd); in apple_wdt_ping() 95 static int apple_wdt_set_timeout(struct watchdog_device *wdd, unsigned int s) in apple_wdt_set_timeout() argument [all …]
|
H A D | sl28cpld_wdt.c | 41 struct watchdog_device wdd; member 47 static int sl28cpld_wdt_ping(struct watchdog_device *wdd) in sl28cpld_wdt_ping() argument 49 struct sl28cpld_wdt *wdt = watchdog_get_drvdata(wdd); in sl28cpld_wdt_ping() 55 static int sl28cpld_wdt_start(struct watchdog_device *wdd) in sl28cpld_wdt_start() argument 57 struct sl28cpld_wdt *wdt = watchdog_get_drvdata(wdd); in sl28cpld_wdt_start() 70 static int sl28cpld_wdt_stop(struct watchdog_device *wdd) in sl28cpld_wdt_stop() argument 72 struct sl28cpld_wdt *wdt = watchdog_get_drvdata(wdd); in sl28cpld_wdt_stop() 78 static unsigned int sl28cpld_wdt_get_timeleft(struct watchdog_device *wdd) in sl28cpld_wdt_get_timeleft() argument 80 struct sl28cpld_wdt *wdt = watchdog_get_drvdata(wdd); in sl28cpld_wdt_get_timeleft() 91 static int sl28cpld_wdt_set_timeout(struct watchdog_device *wdd, in sl28cpld_wdt_set_timeout() argument [all …]
|
H A D | sbsa_gwdt.c | 87 struct watchdog_device wdd; member 146 static int sbsa_gwdt_set_timeout(struct watchdog_device *wdd, in sbsa_gwdt_set_timeout() argument 149 struct sbsa_gwdt *gwdt = watchdog_get_drvdata(wdd); in sbsa_gwdt_set_timeout() 151 wdd->timeout = timeout; in sbsa_gwdt_set_timeout() 152 timeout = clamp_t(unsigned int, timeout, 1, wdd->max_hw_heartbeat_ms / 1000); in sbsa_gwdt_set_timeout() 167 static unsigned int sbsa_gwdt_get_timeleft(struct watchdog_device *wdd) in sbsa_gwdt_get_timeleft() argument 169 struct sbsa_gwdt *gwdt = watchdog_get_drvdata(wdd); in sbsa_gwdt_get_timeleft() 189 static int sbsa_gwdt_keepalive(struct watchdog_device *wdd) in sbsa_gwdt_keepalive() argument 191 struct sbsa_gwdt *gwdt = watchdog_get_drvdata(wdd); in sbsa_gwdt_keepalive() 202 static void sbsa_gwdt_get_version(struct watchdog_device *wdd) in sbsa_gwdt_get_version() argument [all …]
|
H A D | rti_wdt.c | 75 struct watchdog_device wdd; member 78 static int rti_wdt_start(struct watchdog_device *wdd) in rti_wdt_start() argument 81 struct rti_wdt_device *wdt = watchdog_get_drvdata(wdd); in rti_wdt_start() 84 ret = pm_runtime_resume_and_get(wdd->parent); in rti_wdt_start() 89 timer_margin = (u64)wdd->timeout * wdt->freq; in rti_wdt_start() 102 wdd->min_hw_heartbeat_ms = 520 * wdd->timeout + MAX_HW_ERROR; in rti_wdt_start() 117 static int rti_wdt_ping(struct watchdog_device *wdd) in rti_wdt_ping() argument 119 struct rti_wdt_device *wdt = watchdog_get_drvdata(wdd); in rti_wdt_ping() 129 static int rti_wdt_setup_hw_hb(struct watchdog_device *wdd, u32 wsize) in rti_wdt_setup_hw_hb() argument 142 wdd->min_hw_heartbeat_ms = 520 * heartbeat + MAX_HW_ERROR; in rti_wdt_setup_hw_hb() [all …]
|
H A D | ts4800_wdt.c | 29 struct watchdog_device wdd; member 62 static int ts4800_wdt_start(struct watchdog_device *wdd) in ts4800_wdt_start() argument 64 struct ts4800_wdt *wdt = watchdog_get_drvdata(wdd); in ts4800_wdt_start() 70 static int ts4800_wdt_stop(struct watchdog_device *wdd) in ts4800_wdt_stop() argument 72 struct ts4800_wdt *wdt = watchdog_get_drvdata(wdd); in ts4800_wdt_stop() 78 static int ts4800_wdt_set_timeout(struct watchdog_device *wdd, in ts4800_wdt_set_timeout() argument 81 struct ts4800_wdt *wdt = watchdog_get_drvdata(wdd); in ts4800_wdt_set_timeout() 89 wdd->timeout = ts4800_wdt_map[i].timeout; in ts4800_wdt_set_timeout() 112 struct watchdog_device *wdd; in ts4800_wdt_probe() local 147 wdd = &wdt->wdd; in ts4800_wdt_probe() [all …]
|
H A D | ts72xx_wdt.c | 46 struct watchdog_device wdd; member 50 static int ts72xx_wdt_start(struct watchdog_device *wdd) in ts72xx_wdt_start() argument 52 struct ts72xx_wdt_priv *priv = watchdog_get_drvdata(wdd); in ts72xx_wdt_start() 60 static int ts72xx_wdt_stop(struct watchdog_device *wdd) in ts72xx_wdt_stop() argument 62 struct ts72xx_wdt_priv *priv = watchdog_get_drvdata(wdd); in ts72xx_wdt_stop() 70 static int ts72xx_wdt_ping(struct watchdog_device *wdd) in ts72xx_wdt_ping() argument 72 struct ts72xx_wdt_priv *priv = watchdog_get_drvdata(wdd); in ts72xx_wdt_ping() 79 static int ts72xx_wdt_settimeout(struct watchdog_device *wdd, unsigned int to) in ts72xx_wdt_settimeout() argument 81 struct ts72xx_wdt_priv *priv = watchdog_get_drvdata(wdd); in ts72xx_wdt_settimeout() 96 wdd->timeout = to; in ts72xx_wdt_settimeout() [all …]
|
H A D | gxp-wdt.c | 26 struct watchdog_device wdd; member 38 static int gxp_wdt_start(struct watchdog_device *wdd) in gxp_wdt_start() argument 40 struct gxp_wdt *drvdata = watchdog_get_drvdata(wdd); in gxp_wdt_start() 42 writew(SECS_TO_WDOG_TICKS(wdd->timeout), drvdata->base + GXP_WDT_CNT_OFS); in gxp_wdt_start() 47 static int gxp_wdt_stop(struct watchdog_device *wdd) in gxp_wdt_stop() argument 49 struct gxp_wdt *drvdata = watchdog_get_drvdata(wdd); in gxp_wdt_stop() 58 static int gxp_wdt_set_timeout(struct watchdog_device *wdd, in gxp_wdt_set_timeout() argument 61 struct gxp_wdt *drvdata = watchdog_get_drvdata(wdd); in gxp_wdt_set_timeout() 64 wdd->timeout = timeout; in gxp_wdt_set_timeout() 65 actual = min(timeout * 100, wdd->max_hw_heartbeat_ms / 10); in gxp_wdt_set_timeout() [all …]
|
H A D | ep93xx_wdt.c | 42 struct watchdog_device wdd; member 45 static int ep93xx_wdt_start(struct watchdog_device *wdd) in ep93xx_wdt_start() argument 47 struct ep93xx_wdt_priv *priv = watchdog_get_drvdata(wdd); in ep93xx_wdt_start() 54 static int ep93xx_wdt_stop(struct watchdog_device *wdd) in ep93xx_wdt_stop() argument 56 struct ep93xx_wdt_priv *priv = watchdog_get_drvdata(wdd); in ep93xx_wdt_stop() 63 static int ep93xx_wdt_ping(struct watchdog_device *wdd) in ep93xx_wdt_ping() argument 65 struct ep93xx_wdt_priv *priv = watchdog_get_drvdata(wdd); in ep93xx_wdt_ping() 91 struct watchdog_device *wdd; in ep93xx_wdt_probe() local 105 wdd = &priv->wdd; in ep93xx_wdt_probe() 106 wdd->bootstatus = (val & 0x01) ? WDIOF_CARDRESET : 0; in ep93xx_wdt_probe() [all …]
|
H A D | asm9260_wdt.c | 56 struct watchdog_device wdd; member 67 static int asm9260_wdt_feed(struct watchdog_device *wdd) in asm9260_wdt_feed() argument 69 struct asm9260_wdt_priv *priv = watchdog_get_drvdata(wdd); in asm9260_wdt_feed() 77 static unsigned int asm9260_wdt_gettimeleft(struct watchdog_device *wdd) in asm9260_wdt_gettimeleft() argument 79 struct asm9260_wdt_priv *priv = watchdog_get_drvdata(wdd); in asm9260_wdt_gettimeleft() 87 static int asm9260_wdt_updatetimeout(struct watchdog_device *wdd) in asm9260_wdt_updatetimeout() argument 89 struct asm9260_wdt_priv *priv = watchdog_get_drvdata(wdd); in asm9260_wdt_updatetimeout() 92 counter = wdd->timeout * priv->wdt_freq; in asm9260_wdt_updatetimeout() 99 static int asm9260_wdt_enable(struct watchdog_device *wdd) in asm9260_wdt_enable() argument 101 struct asm9260_wdt_priv *priv = watchdog_get_drvdata(wdd); in asm9260_wdt_enable() [all …]
|
H A D | ixp4xx_wdt.c | 24 struct watchdog_device wdd; member 46 struct ixp4xx_wdt *to_ixp4xx_wdt(struct watchdog_device *wdd) in to_ixp4xx_wdt() argument 48 return container_of(wdd, struct ixp4xx_wdt, wdd); in to_ixp4xx_wdt() 51 static int ixp4xx_wdt_start(struct watchdog_device *wdd) in ixp4xx_wdt_start() argument 53 struct ixp4xx_wdt *iwdt = to_ixp4xx_wdt(wdd); in ixp4xx_wdt_start() 57 __raw_writel(wdd->timeout * iwdt->rate, in ixp4xx_wdt_start() 66 static int ixp4xx_wdt_stop(struct watchdog_device *wdd) in ixp4xx_wdt_stop() argument 68 struct ixp4xx_wdt *iwdt = to_ixp4xx_wdt(wdd); in ixp4xx_wdt_stop() 77 static int ixp4xx_wdt_set_timeout(struct watchdog_device *wdd, in ixp4xx_wdt_set_timeout() argument 80 wdd->timeout = timeout; in ixp4xx_wdt_set_timeout() [all …]
|
H A D | ftwdt010_wdt.c | 38 struct watchdog_device wdd; member 45 struct ftwdt010_wdt *to_ftwdt010_wdt(struct watchdog_device *wdd) in to_ftwdt010_wdt() argument 47 return container_of(wdd, struct ftwdt010_wdt, wdd); in to_ftwdt010_wdt() 67 static int ftwdt010_wdt_start(struct watchdog_device *wdd) in ftwdt010_wdt_start() argument 69 struct ftwdt010_wdt *gwdt = to_ftwdt010_wdt(wdd); in ftwdt010_wdt_start() 71 ftwdt010_enable(gwdt, wdd->timeout, gwdt->has_irq); in ftwdt010_wdt_start() 75 static int ftwdt010_wdt_stop(struct watchdog_device *wdd) in ftwdt010_wdt_stop() argument 77 struct ftwdt010_wdt *gwdt = to_ftwdt010_wdt(wdd); in ftwdt010_wdt_stop() 84 static int ftwdt010_wdt_ping(struct watchdog_device *wdd) in ftwdt010_wdt_ping() argument 86 struct ftwdt010_wdt *gwdt = to_ftwdt010_wdt(wdd); in ftwdt010_wdt_ping() [all …]
|
H A D | dw_wdt.c | 89 struct watchdog_device wdd; member 100 #define to_dw_wdt(wdd) container_of(wdd, struct dw_wdt, wdd) argument 188 static int dw_wdt_ping(struct watchdog_device *wdd) in dw_wdt_ping() argument 190 struct dw_wdt *dw_wdt = to_dw_wdt(wdd); in dw_wdt_ping() 198 static int dw_wdt_set_timeout(struct watchdog_device *wdd, unsigned int top_s) in dw_wdt_set_timeout() argument 200 struct dw_wdt *dw_wdt = to_dw_wdt(wdd); in dw_wdt_set_timeout() 215 wdd->pretimeout = timeout; in dw_wdt_set_timeout() 217 wdd->pretimeout = 0; in dw_wdt_set_timeout() 229 if (watchdog_active(wdd)) in dw_wdt_set_timeout() 230 dw_wdt_ping(wdd); in dw_wdt_set_timeout() [all …]
|
H A D | sprd_wdt.c | 61 struct watchdog_device wdd; member 67 static inline struct sprd_wdt *to_sprd_wdt(struct watchdog_device *wdd) in to_sprd_wdt() argument 69 return container_of(wdd, struct sprd_wdt, wdd); in to_sprd_wdt() 89 watchdog_notify_pretimeout(&wdt->wdd); in sprd_wdt_isr() 178 static int sprd_wdt_start(struct watchdog_device *wdd) in sprd_wdt_start() argument 180 struct sprd_wdt *wdt = to_sprd_wdt(wdd); in sprd_wdt_start() 184 ret = sprd_wdt_load_value(wdt, wdd->timeout, wdd->pretimeout); in sprd_wdt_start() 193 set_bit(WDOG_HW_RUNNING, &wdd->status); in sprd_wdt_start() 198 static int sprd_wdt_stop(struct watchdog_device *wdd) in sprd_wdt_stop() argument 200 struct sprd_wdt *wdt = to_sprd_wdt(wdd); in sprd_wdt_stop() [all …]
|
/linux/include/linux/ |
H A D | watchdog.h | 128 static inline bool watchdog_active(struct watchdog_device *wdd) in watchdog_active() argument 130 return test_bit(WDOG_ACTIVE, &wdd->status); in watchdog_active() 137 static inline bool watchdog_hw_running(struct watchdog_device *wdd) in watchdog_hw_running() argument 139 return test_bit(WDOG_HW_RUNNING, &wdd->status); in watchdog_hw_running() 143 static inline void watchdog_set_nowayout(struct watchdog_device *wdd, bool nowayout) in watchdog_set_nowayout() argument 146 set_bit(WDOG_NO_WAY_OUT, &wdd->status); in watchdog_set_nowayout() 150 static inline void watchdog_stop_on_reboot(struct watchdog_device *wdd) in watchdog_stop_on_reboot() argument 152 set_bit(WDOG_STOP_ON_REBOOT, &wdd->status); in watchdog_stop_on_reboot() 156 static inline void watchdog_stop_on_unregister(struct watchdog_device *wdd) in watchdog_stop_on_unregister() argument 158 set_bit(WDOG_STOP_ON_UNREGISTER, &wdd->status); in watchdog_stop_on_unregister() [all …]
|