| /linux/drivers/watchdog/ |
| H A D | mei_wdt.c | 166 static int mei_wdt_ping(struct mei_wdt *wdt) in mei_wdt_ping() argument 177 req.timeout = wdt->timeout; in mei_wdt_ping() 179 ret = mei_cldev_send(wdt->cldev, (u8 *)&req, req_len); in mei_wdt_ping() 194 static int mei_wdt_stop(struct mei_wdt *wdt) in mei_wdt_stop() argument 206 ret = mei_cldev_send(wdt->cldev, (u8 *)&req, req_len); in mei_wdt_stop() 222 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); in mei_wdt_ops_start() local 224 wdt->state = MEI_WDT_START; in mei_wdt_ops_start() 225 wdd->timeout = wdt->timeout; in mei_wdt_ops_start() 238 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); in mei_wdt_ops_stop() local 241 if (wdt->state != MEI_WDT_RUNNING) in mei_wdt_ops_stop() [all …]
|
| H A D | at91sam9_wdt.c | 40 #define wdt_read(wdt, field) \ argument 41 readl_relaxed((wdt)->base + (field)) 43 writel_relaxed((val), (wdt)->base + (field)) 98 struct at91wdt *wdt = (struct at91wdt *)dev_id; in wdt_interrupt() local 100 if (wdt_read(wdt, AT91_WDT_SR)) { in wdt_interrupt() 112 static inline void at91_wdt_reset(struct at91wdt *wdt) in at91_wdt_reset() argument 114 wdt_write(wdt, AT91_WDT_CR, AT91_WDT_KEY | AT91_WDT_WDRSTT); in at91_wdt_reset() 122 struct at91wdt *wdt = timer_container_of(wdt, t, timer); in at91_ping() local 123 if (time_before(jiffies, wdt->next_heartbeat) || in at91_ping() 124 !watchdog_active(&wdt->wdd)) { in at91_ping() [all …]
|
| H A D | keembay_wdt.c | 58 static inline u32 keembay_wdt_readl(struct keembay_wdt *wdt, u32 offset) in keembay_wdt_readl() argument 60 return readl(wdt->base + offset); in keembay_wdt_readl() 63 static inline void keembay_wdt_writel(struct keembay_wdt *wdt, u32 offset, u32 val) in keembay_wdt_writel() argument 65 writel(WDT_UNLOCK, wdt->base + TIM_SAFE); in keembay_wdt_writel() 66 writel(val, wdt->base + offset); in keembay_wdt_writel() 71 struct keembay_wdt *wdt = watchdog_get_drvdata(wdog); in keembay_wdt_set_timeout_reg() local 73 keembay_wdt_writel(wdt, TIM_WATCHDOG, wdog->timeout * wdt->rate); in keembay_wdt_set_timeout_reg() 78 struct keembay_wdt *wdt = watchdog_get_drvdata(wdog); in keembay_wdt_set_pretimeout_reg() local 84 keembay_wdt_writel(wdt, TIM_WATCHDOG_INT_THRES, th_val * wdt->rate); in keembay_wdt_set_pretimeout_reg() 89 struct keembay_wdt *wdt = watchdog_get_drvdata(wdog); in keembay_wdt_start() local [all …]
|
| H A D | mlx_wdt.c | 56 static void mlxreg_wdt_check_card_reset(struct mlxreg_wdt *wdt) in mlxreg_wdt_check_card_reset() argument 62 if (wdt->reset_idx == -EINVAL) in mlxreg_wdt_check_card_reset() 65 if (!(wdt->wdd.info->options & WDIOF_CARDRESET)) in mlxreg_wdt_check_card_reset() 68 reg_data = &wdt->pdata->data[wdt->reset_idx]; in mlxreg_wdt_check_card_reset() 69 rc = regmap_read(wdt->regmap, reg_data->reg, ®val); in mlxreg_wdt_check_card_reset() 72 wdt->wdd.bootstatus = WDIOF_CARDRESET; in mlxreg_wdt_check_card_reset() 73 dev_info(wdt->wdd.parent, in mlxreg_wdt_check_card_reset() 81 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); in mlxreg_wdt_start() local 82 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->action_idx]; in mlxreg_wdt_start() 84 return regmap_update_bits(wdt->regmap, reg_data->reg, ~reg_data->mask, in mlxreg_wdt_start() [all …]
|
| H A D | max63xx_wdt.c | 53 void (*ping)(struct max63xx_wdt *wdt); 54 void (*set)(struct max63xx_wdt *wdt, u8 set); 119 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); in max63xx_wdt_ping() local 121 wdt->ping(wdt); in max63xx_wdt_ping() 127 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); in max63xx_wdt_start() local 129 wdt->set(wdt, wdt->timeout->wdset); in max63xx_wdt_start() 132 if (wdt->timeout->tdelay == 0) in max63xx_wdt_start() 133 wdt->ping(wdt); in max63xx_wdt_start() 139 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); in max63xx_wdt_stop() local 141 wdt->set(wdt, MAX6369_WDSET_DISABLED); in max63xx_wdt_stop() [all …]
|
| H A D | pm8916_wdt.c | 47 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_start() local 49 return regmap_update_bits(wdt->regmap, in pm8916_wdt_start() 50 wdt->baseaddr + PON_PMIC_WD_RESET_S2_CTL2, in pm8916_wdt_start() 56 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_stop() local 58 return regmap_update_bits(wdt->regmap, in pm8916_wdt_stop() 59 wdt->baseaddr + PON_PMIC_WD_RESET_S2_CTL2, in pm8916_wdt_stop() 65 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_ping() local 67 return regmap_write(wdt->regmap, wdt->baseaddr + PON_PMIC_WD_RESET_PET, in pm8916_wdt_ping() 73 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_configure_timers() local 76 err = regmap_write(wdt->regmap, in pm8916_wdt_configure_timers() [all …]
|
| H A D | bcm7038_wdt.c | 59 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_set_timeout_reg() local 62 timeout = wdt->rate * wdog->timeout; in bcm7038_wdt_set_timeout_reg() 64 bcm7038_wdt_write(timeout, wdt->base + WDT_TIMEOUT_REG); in bcm7038_wdt_set_timeout_reg() 69 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_ping() local 71 bcm7038_wdt_write(WDT_START_1, wdt->base + WDT_CMD_REG); in bcm7038_wdt_ping() 72 bcm7038_wdt_write(WDT_START_2, wdt->base + WDT_CMD_REG); in bcm7038_wdt_ping() 87 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_stop() local 89 bcm7038_wdt_write(WDT_STOP_1, wdt->base + WDT_CMD_REG); in bcm7038_wdt_stop() 90 bcm7038_wdt_write(WDT_STOP_2, wdt->base + WDT_CMD_REG); in bcm7038_wdt_stop() 108 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_get_timeleft() local [all …]
|
| H A D | bcm47xx_wdt.c | 50 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_keepalive() local 52 wdt->timer_set_ms(wdt, wdd->timeout * 1000); in bcm47xx_wdt_hard_keepalive() 64 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_stop() local 66 wdt->timer_set(wdt, 0); in bcm47xx_wdt_hard_stop() 74 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_set_timeout() local 75 u32 max_timer = wdt->max_timer_ms; in bcm47xx_wdt_hard_set_timeout() 90 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_restart() local 92 wdt->timer_set(wdt, 1); in bcm47xx_wdt_restart() 108 struct bcm47xx_wdt *wdt = timer_container_of(wdt, t, soft_timer); in bcm47xx_wdt_soft_timer_tick() local 109 u32 next_tick = min(wdt->wdd.timeout * 1000, wdt->max_timer_ms); in bcm47xx_wdt_soft_timer_tick() [all …]
|
| H A D | da9062_wdt.c | 38 static unsigned int da9062_wdt_read_timeout(struct da9062_watchdog *wdt) in da9062_wdt_read_timeout() argument 42 regmap_read(wdt->hw->regmap, DA9062AA_CONTROL_D, &val); in da9062_wdt_read_timeout() 59 static int da9062_reset_watchdog_timer(struct da9062_watchdog *wdt) in da9062_reset_watchdog_timer() argument 61 return regmap_update_bits(wdt->hw->regmap, DA9062AA_CONTROL_F, in da9062_reset_watchdog_timer() 66 static int da9062_wdt_update_timeout_register(struct da9062_watchdog *wdt, in da9062_wdt_update_timeout_register() argument 69 struct da9062 *chip = wdt->hw; in da9062_wdt_update_timeout_register() 86 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); in da9062_wdt_start() local 90 selector = da9062_wdt_timeout_to_sel(wdt->wdtdev.timeout); in da9062_wdt_start() 91 ret = da9062_wdt_update_timeout_register(wdt, selector); in da9062_wdt_start() 93 dev_err(wdt->hw->dev, "Watchdog failed to start (err = %d)\n", in da9062_wdt_start() [all …]
|
| H A D | bcm_kona_wdt.c | 58 static int secure_register_read(struct bcm_kona_wdt *wdt, uint32_t offset) in secure_register_read() argument 71 val = readl_relaxed(wdt->base + offset); in secure_register_read() 77 if (count > wdt->busy_count) in secure_register_read() 78 wdt->busy_count = count; in secure_register_read() 97 struct bcm_kona_wdt *wdt = s->private; in bcm_kona_show() local 99 if (!wdt) { in bcm_kona_show() 104 spin_lock_irqsave(&wdt->lock, flags); in bcm_kona_show() 105 ctl_val = secure_register_read(wdt, SECWDOG_CTRL_REG); in bcm_kona_show() 106 cur_val = secure_register_read(wdt, SECWDOG_COUNT_REG); in bcm_kona_show() 107 spin_unlock_irqrestore(&wdt->lock, flags); in bcm_kona_show() [all …]
|
| H A D | max77620_wdt.c | 72 struct max77620_wdt *wdt = watchdog_get_drvdata(wdt_dev); in max77620_wdt_start() local 74 return regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl2, in max77620_wdt_start() 80 struct max77620_wdt *wdt = watchdog_get_drvdata(wdt_dev); in max77620_wdt_stop() local 82 return regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl2, in max77620_wdt_stop() 88 struct max77620_wdt *wdt = watchdog_get_drvdata(wdt_dev); in max77620_wdt_ping() local 90 return regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl3, in max77620_wdt_ping() 91 wdt->drv_data->wdtc_mask, 0x1); in max77620_wdt_ping() 97 struct max77620_wdt *wdt = watchdog_get_drvdata(wdt_dev); in max77620_wdt_set_timeout() local 129 ret = regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl3, in max77620_wdt_set_timeout() 130 wdt->drv_data->wdtc_mask, 0x1); in max77620_wdt_set_timeout() [all …]
|
| H A D | ni903x_wdt.c | 57 static void ni903x_start(struct ni903x_wdt *wdt) in ni903x_start() argument 59 u8 control = inb(wdt->io_base + NIWD_CONTROL); in ni903x_start() 61 outb(control | NIWD_CONTROL_RESET, wdt->io_base + NIWD_CONTROL); in ni903x_start() 62 outb(control | NIWD_CONTROL_PET, wdt->io_base + NIWD_CONTROL); in ni903x_start() 68 struct ni903x_wdt *wdt = watchdog_get_drvdata(wdd); in ni903x_wdd_set_timeout() local 71 outb(((0x00FF0000 & counter) >> 16), wdt->io_base + NIWD_SEED2); in ni903x_wdd_set_timeout() 72 outb(((0x0000FF00 & counter) >> 8), wdt->io_base + NIWD_SEED1); in ni903x_wdd_set_timeout() 73 outb((0x000000FF & counter), wdt->io_base + NIWD_SEED0); in ni903x_wdd_set_timeout() 82 struct ni903x_wdt *wdt = watchdog_get_drvdata(wdd); in ni903x_wdd_get_timeleft() local 86 control = inb(wdt->io_base + NIWD_CONTROL); in ni903x_wdd_get_timeleft() [all …]
|
| H A D | twl4030_wdt.c | 29 static int twl4030_wdt_start(struct watchdog_device *wdt) in twl4030_wdt_start() argument 31 return twl4030_wdt_write(wdt->timeout + 1); in twl4030_wdt_start() 34 static int twl4030_wdt_stop(struct watchdog_device *wdt) in twl4030_wdt_stop() argument 39 static int twl4030_wdt_set_timeout(struct watchdog_device *wdt, in twl4030_wdt_set_timeout() argument 42 wdt->timeout = timeout; in twl4030_wdt_set_timeout() 61 struct watchdog_device *wdt; in twl4030_wdt_probe() local 63 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in twl4030_wdt_probe() 64 if (!wdt) in twl4030_wdt_probe() 67 wdt->info = &twl4030_wdt_info; in twl4030_wdt_probe() 68 wdt->ops = &twl4030_wdt_ops; in twl4030_wdt_probe() [all …]
|
| H A D | digicolor_wdt.c | 34 static void dc_wdt_set(struct dc_wdt *wdt, u32 ticks) in dc_wdt_set() argument 38 spin_lock_irqsave(&wdt->lock, flags); in dc_wdt_set() 40 writel_relaxed(0, wdt->base + TIMER_A_CONTROL); in dc_wdt_set() 41 writel_relaxed(ticks, wdt->base + TIMER_A_COUNT); in dc_wdt_set() 43 wdt->base + TIMER_A_CONTROL); in dc_wdt_set() 45 spin_unlock_irqrestore(&wdt->lock, flags); in dc_wdt_set() 51 struct dc_wdt *wdt = watchdog_get_drvdata(wdog); in dc_wdt_restart() local 53 dc_wdt_set(wdt, 1); in dc_wdt_restart() 62 struct dc_wdt *wdt = watchdog_get_drvdata(wdog); in dc_wdt_start() local 64 dc_wdt_set(wdt, wdog->timeout * clk_get_rate(wdt->clk)); in dc_wdt_start() [all …]
|
| H A D | shwdt.c | 83 struct sh_wdt *wdt = watchdog_get_drvdata(wdt_dev); in sh_wdt_start() local 87 pm_runtime_get_sync(wdt->dev); in sh_wdt_start() 88 clk_enable(wdt->clk); in sh_wdt_start() 90 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_start() 93 mod_timer(&wdt->timer, next_ping_period(clock_division_ratio)); in sh_wdt_start() 119 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_start() 126 struct sh_wdt *wdt = watchdog_get_drvdata(wdt_dev); in sh_wdt_stop() local 130 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_stop() 132 timer_delete(&wdt->timer); in sh_wdt_stop() 138 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_stop() [all …]
|
| H A D | rn5t618_wdt.c | 50 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_set_timeout() local 61 ret = regmap_update_bits(wdt->rn5t618->regmap, RN5T618_WATCHDOG, in rn5t618_wdt_set_timeout() 72 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_start() local 80 ret = regmap_update_bits(wdt->rn5t618->regmap, RN5T618_REPCNT, in rn5t618_wdt_start() 87 ret = regmap_update_bits(wdt->rn5t618->regmap, RN5T618_WATCHDOG, in rn5t618_wdt_start() 94 return regmap_update_bits(wdt->rn5t618->regmap, RN5T618_PWRIREN, in rn5t618_wdt_start() 101 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_stop() local 103 return regmap_update_bits(wdt->rn5t618->regmap, RN5T618_WATCHDOG, in rn5t618_wdt_stop() 109 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_ping() local 114 ret = regmap_read(wdt->rn5t618->regmap, RN5T618_WATCHDOG, &val); in rn5t618_wdt_ping() [all …]
|
| H A D | sl28cpld_wdt.c | 48 struct sl28cpld_wdt *wdt = watchdog_get_drvdata(wdd); in sl28cpld_wdt_ping() local 50 return regmap_write(wdt->regmap, wdt->offset + WDT_KICK, in sl28cpld_wdt_ping() 56 struct sl28cpld_wdt *wdt = watchdog_get_drvdata(wdd); in sl28cpld_wdt_start() local 60 if (wdt->assert_wdt_timeout) in sl28cpld_wdt_start() 65 return regmap_update_bits(wdt->regmap, wdt->offset + WDT_CTRL, in sl28cpld_wdt_start() 71 struct sl28cpld_wdt *wdt = watchdog_get_drvdata(wdd); in sl28cpld_wdt_stop() local 73 return regmap_update_bits(wdt->regmap, wdt->offset + WDT_CTRL, in sl28cpld_wdt_stop() 79 struct sl28cpld_wdt *wdt = watchdog_get_drvdata(wdd); in sl28cpld_wdt_get_timeleft() local 83 ret = regmap_read(wdt->regmap, wdt->offset + WDT_COUNT, &val); in sl28cpld_wdt_get_timeleft() 93 struct sl28cpld_wdt *wdt = watchdog_get_drvdata(wdd); in sl28cpld_wdt_set_timeout() local [all …]
|
| H A D | stpmic1_wdt.c | 37 struct stpmic1_wdt *wdt = watchdog_get_drvdata(wdd); in pmic_wdt_start() local 39 return regmap_update_bits(wdt->pmic->regmap, in pmic_wdt_start() 45 struct stpmic1_wdt *wdt = watchdog_get_drvdata(wdd); in pmic_wdt_stop() local 47 return regmap_update_bits(wdt->pmic->regmap, in pmic_wdt_stop() 53 struct stpmic1_wdt *wdt = watchdog_get_drvdata(wdd); in pmic_wdt_ping() local 55 return regmap_update_bits(wdt->pmic->regmap, in pmic_wdt_ping() 62 struct stpmic1_wdt *wdt = watchdog_get_drvdata(wdd); in pmic_wdt_set_timeout() local 66 return regmap_write(wdt->pmic->regmap, WCHDG_TIMER_CR, timeout - 1); in pmic_wdt_set_timeout() 87 struct stpmic1_wdt *wdt; in pmic_wdt_probe() local 96 wdt = devm_kzalloc(dev, sizeof(struct stpmic1_wdt), GFP_KERNEL); in pmic_wdt_probe() [all …]
|
| H A D | nic7018_wdt.c | 89 struct nic7018_wdt *wdt = watchdog_get_drvdata(wdd); in nic7018_set_timeout() local 96 wdt->io_base + WDT_PRESET_PRESCALE); in nic7018_set_timeout() 99 wdt->period = config->period; in nic7018_set_timeout() 106 struct nic7018_wdt *wdt = watchdog_get_drvdata(wdd); in nic7018_start() local 111 control = inb(wdt->io_base + WDT_RELOAD_CTRL); in nic7018_start() 112 outb(control | WDT_RELOAD_PORT_EN, wdt->io_base + WDT_RELOAD_CTRL); in nic7018_start() 114 outb(1, wdt->io_base + WDT_RELOAD_PORT); in nic7018_start() 116 control = inb(wdt->io_base + WDT_CTRL); in nic7018_start() 117 outb(control | WDT_CTRL_RESET_EN, wdt->io_base + WDT_CTRL); in nic7018_start() 124 struct nic7018_wdt *wdt = watchdog_get_drvdata(wdd); in nic7018_stop() local [all …]
|
| H A D | tegra_wdt.c | 80 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); in tegra_wdt_start() local 91 writel(val, wdt->tmr_regs + TIMER_PTV); in tegra_wdt_start() 103 writel(val, wdt->wdt_regs + WDT_CFG); in tegra_wdt_start() 105 writel(WDT_CMD_START_COUNTER, wdt->wdt_regs + WDT_CMD); in tegra_wdt_start() 112 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); in tegra_wdt_stop() local 114 writel(WDT_UNLOCK_PATTERN, wdt->wdt_regs + WDT_UNLOCK); in tegra_wdt_stop() 115 writel(WDT_CMD_DISABLE_COUNTER, wdt->wdt_regs + WDT_CMD); in tegra_wdt_stop() 116 writel(0, wdt->tmr_regs + TIMER_PTV); in tegra_wdt_stop() 123 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); in tegra_wdt_ping() local 125 writel(WDT_CMD_START_COUNTER, wdt->wdt_regs + WDT_CMD); in tegra_wdt_ping() [all …]
|
| H A D | menf21bmc_wdt.c | 34 struct watchdog_device wdt; member 47 data->wdt.bootstatus |= WDIOF_CARDRESET; in menf21bmc_wdt_set_bootstatus() 49 data->wdt.bootstatus |= WDIOF_EXTERN1; in menf21bmc_wdt_set_bootstatus() 51 data->wdt.bootstatus |= WDIOF_EXTERN2; in menf21bmc_wdt_set_bootstatus() 53 data->wdt.bootstatus |= WDIOF_POWERUNDER; in menf21bmc_wdt_set_bootstatus() 58 static int menf21bmc_wdt_start(struct watchdog_device *wdt) in menf21bmc_wdt_start() argument 60 struct menf21bmc_wdt *drv_data = watchdog_get_drvdata(wdt); in menf21bmc_wdt_start() 65 static int menf21bmc_wdt_stop(struct watchdog_device *wdt) in menf21bmc_wdt_stop() argument 67 struct menf21bmc_wdt *drv_data = watchdog_get_drvdata(wdt); in menf21bmc_wdt_stop() 74 menf21bmc_wdt_settimeout(struct watchdog_device *wdt, unsigned int timeout) in menf21bmc_wdt_settimeout() argument [all …]
|
| H A D | lantiq_wdt.c | 63 struct watchdog_device wdt; member 88 static struct ltq_wdt_priv *ltq_wdt_get_priv(struct watchdog_device *wdt) in ltq_wdt_get_priv() argument 90 return container_of(wdt, struct ltq_wdt_priv, wdt); in ltq_wdt_get_priv() 99 static int ltq_wdt_start(struct watchdog_device *wdt) in ltq_wdt_start() argument 101 struct ltq_wdt_priv *priv = ltq_wdt_get_priv(wdt); in ltq_wdt_start() 104 timeout = wdt->timeout * priv->clk_rate; in ltq_wdt_start() 116 static int ltq_wdt_stop(struct watchdog_device *wdt) in ltq_wdt_stop() argument 118 struct ltq_wdt_priv *priv = ltq_wdt_get_priv(wdt); in ltq_wdt_stop() 127 static int ltq_wdt_ping(struct watchdog_device *wdt) in ltq_wdt_ping() argument 129 struct ltq_wdt_priv *priv = ltq_wdt_get_priv(wdt); in ltq_wdt_ping() [all …]
|
| H A D | rti_wdt.c | 87 struct rti_wdt_device *wdt = watchdog_get_drvdata(wdd); in rti_wdt_start() local 96 timer_margin = (u64)wdd->timeout * wdt->freq; in rti_wdt_start() 100 writel_relaxed(timer_margin, wdt->base + RTIDWDPRLD); in rti_wdt_start() 112 if (wdt->nmi) in rti_wdt_start() 117 writel_relaxed(reaction, wdt->base + RTIWWDRXCTRL); in rti_wdt_start() 120 writel_relaxed(RTIWWDSIZE_50P, wdt->base + RTIWWDSIZECTRL); in rti_wdt_start() 122 readl_relaxed(wdt->base + RTIWWDSIZECTRL); in rti_wdt_start() 125 writel_relaxed(WDENABLE_KEY, wdt->base + RTIDWDCTRL); in rti_wdt_start() 131 struct rti_wdt_device *wdt = watchdog_get_drvdata(wdd); in rti_wdt_ping() local 134 writel_relaxed(WDKEY_SEQ0, wdt->base + RTIWDKEY); in rti_wdt_ping() [all …]
|
| H A D | armada_37xx_wdt.c | 76 struct watchdog_device wdt; member 144 static int armada_37xx_wdt_ping(struct watchdog_device *wdt) in armada_37xx_wdt_ping() argument 146 struct armada_37xx_watchdog *dev = watchdog_get_drvdata(wdt); in armada_37xx_wdt_ping() 155 static unsigned int armada_37xx_wdt_get_timeleft(struct watchdog_device *wdt) in armada_37xx_wdt_get_timeleft() argument 157 struct armada_37xx_watchdog *dev = watchdog_get_drvdata(wdt); in armada_37xx_wdt_get_timeleft() 166 static int armada_37xx_wdt_set_timeout(struct watchdog_device *wdt, in armada_37xx_wdt_set_timeout() argument 169 struct armada_37xx_watchdog *dev = watchdog_get_drvdata(wdt); in armada_37xx_wdt_set_timeout() 171 wdt->timeout = timeout; in armada_37xx_wdt_set_timeout() 198 static int armada_37xx_wdt_start(struct watchdog_device *wdt) in armada_37xx_wdt_start() argument 200 struct armada_37xx_watchdog *dev = watchdog_get_drvdata(wdt); in armada_37xx_wdt_start() [all …]
|
| /linux/drivers/platform/cznic/ |
| H A D | turris-omnia-mcu-watchdog.c | 30 static int omnia_wdt_start(struct watchdog_device *wdt) in omnia_wdt_start() argument 32 struct omnia_mcu *mcu = watchdog_get_drvdata(wdt); in omnia_wdt_start() 37 static int omnia_wdt_stop(struct watchdog_device *wdt) in omnia_wdt_stop() argument 39 struct omnia_mcu *mcu = watchdog_get_drvdata(wdt); in omnia_wdt_stop() 44 static int omnia_wdt_ping(struct watchdog_device *wdt) in omnia_wdt_ping() argument 46 struct omnia_mcu *mcu = watchdog_get_drvdata(wdt); in omnia_wdt_ping() 51 static int omnia_wdt_set_timeout(struct watchdog_device *wdt, in omnia_wdt_set_timeout() argument 54 struct omnia_mcu *mcu = watchdog_get_drvdata(wdt); in omnia_wdt_set_timeout() 60 static unsigned int omnia_wdt_get_timeleft(struct watchdog_device *wdt) in omnia_wdt_get_timeleft() argument 62 struct omnia_mcu *mcu = watchdog_get_drvdata(wdt); in omnia_wdt_get_timeleft() [all …]
|