/linux/drivers/watchdog/ |
A D | s3c2410_wdt.c | 237 writel(wdt->count, wdt->reg_base + S3C2410_WTCNT); in s3c2410wdt_keepalive() 286 writel(wdt->count, wdt->reg_base + S3C2410_WTDAT); in s3c2410wdt_start() 287 writel(wdt->count, wdt->reg_base + S3C2410_WTCNT); in s3c2410wdt_start() 521 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in s3c2410wdt_probe() 522 if (!wdt) in s3c2410wdt_probe() 575 watchdog_set_drvdata(&wdt->wdt_device, wdt); in s3c2410wdt_probe() 605 wdt->wdt_device.bootstatus = s3c2410wdt_get_bootstatus(wdt); in s3c2410wdt_probe() 688 wdt->wtcon_save = readl(wdt->reg_base + S3C2410_WTCON); in s3c2410wdt_suspend() 689 wdt->wtdat_save = readl(wdt->reg_base + S3C2410_WTDAT); in s3c2410wdt_suspend() 707 writel(wdt->wtdat_save, wdt->reg_base + S3C2410_WTDAT); in s3c2410wdt_resume() [all …]
|
A D | sama5d4_wdt.c | 86 writel_relaxed(wdt->ir, wdt->reg_base + AT91_SAM9X60_IER); in sama5d4_wdt_start() 91 wdt_write(wdt, AT91_WDT_MR, wdt->mr); in sama5d4_wdt_start() 101 writel_relaxed(wdt->ir, wdt->reg_base + AT91_SAM9X60_IDR); in sama5d4_wdt_stop() 106 wdt_write(wdt, AT91_WDT_MR, wdt->mr); in sama5d4_wdt_stop() 145 wdt_write(wdt, AT91_WDT_MR, wdt->mr & ~AT91_WDT_WDDIS); in sama5d4_wdt_set_timeout() 229 if (wdt->need_irq) in sama5d4_wdt_init() 234 wdt_write(wdt, AT91_SAM9X60_IER, wdt->ir); in sama5d4_wdt_init() 246 wdt_write_nosleep(wdt, AT91_WDT_MR, wdt->mr); in sama5d4_wdt_init() 260 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in sama5d4_wdt_probe() 261 if (!wdt) in sama5d4_wdt_probe() [all …]
|
A D | mei_wdt.c | 267 if (wdt->state != MEI_WDT_START && wdt->state != MEI_WDT_RUNNING) in mei_wdt_ops_ping() 346 memset(&wdt->wdd, 0, sizeof(wdt->wdd)); in mei_wdt_unregister() 364 if (!wdt || !wdt->cldev) in mei_wdt_register() 383 watchdog_set_drvdata(&wdt->wdd, wdt); in mei_wdt_register() 442 wdt->state); in mei_wdt_rx() 463 mei_wdt_stop(wdt); in mei_wdt_rx() 470 mei_wdt_state_str(wdt->state), wdt->state); in mei_wdt_rx() 567 if (!wdt) in mei_wdt_probe() 572 wdt->cldev = cldev; in mei_wdt_probe() 618 kfree(wdt); in mei_wdt_probe() [all …]
|
A D | at91sam9_wdt.c | 122 struct at91wdt *wdt = from_timer(wdt, t, timer); in at91_ping() local 126 mod_timer(&wdt->timer, jiffies + wdt->heartbeat); in at91_ping() 166 wdt_write(wdt, AT91_WDT_MR, wdt->mr); in at91_wdt_init() 217 if ((tmp & wdt->mr_mask) != (wdt->mr & wdt->mr_mask)) in at91_wdt_init() 220 tmp & wdt->mr_mask, wdt->mr & wdt->mr_mask); in at91_wdt_init() 236 watchdog_set_nowayout(&wdt->wdd, wdt->nowayout); in at91_wdt_init() 241 wdt->next_heartbeat = jiffies + wdt->wdd.timeout * HZ; in at91_wdt_init() 293 wdt->mr = 0; in of_at91wdt_init() 333 wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL); in at91wdt_probe() 334 if (!wdt) in at91wdt_probe() [all …]
|
A D | sp805_wdt.c | 96 rate = wdt->rate; in wdt_setload() 168 writel_relaxed(wdt->load_val, wdt->base + WDTLOAD); in wdt_config() 237 wdt = devm_kzalloc(&adev->dev, sizeof(*wdt), GFP_KERNEL); in sp805_wdt_probe() 238 if (!wdt) { in sp805_wdt_probe() 258 wdt->rate = clk_get_rate(wdt->clk); in sp805_wdt_probe() 259 if (!wdt->rate) in sp805_wdt_probe() 260 wdt->rate = rate; in sp805_wdt_probe() 261 if (!wdt->rate) { in sp805_wdt_probe() 266 wdt->adev = adev; in sp805_wdt_probe() 273 watchdog_set_drvdata(&wdt->wdd, wdt); in sp805_wdt_probe() [all …]
|
A D | sprd_wdt.c | 88 sprd_wdt_lock(wdt->base); in sprd_wdt_isr() 139 sprd_wdt_lock(wdt->base); in sprd_wdt_load_value() 267 struct sprd_wdt *wdt; in sprd_wdt_probe() local 270 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in sprd_wdt_probe() 271 if (!wdt) in sprd_wdt_probe() 275 if (IS_ERR(wdt->base)) in sprd_wdt_probe() 291 if (wdt->irq < 0) in sprd_wdt_probe() 292 return wdt->irq; in sprd_wdt_probe() 303 wdt->wdd.parent = dev; in sprd_wdt_probe() 324 sprd_wdt_disable(wdt); in sprd_wdt_probe() [all …]
|
A D | keembay_wdt.c | 74 keembay_wdt_writel(wdt, TIM_WATCHDOG, wdog->timeout * wdt->rate); in keembay_wdt_set_timeout_reg() 85 keembay_wdt_writel(wdt, TIM_WATCHDOG_INT_THRES, th_val * wdt->rate); in keembay_wdt_set_pretimeout_reg() 137 return keembay_wdt_readl(wdt, TIM_WATCHDOG) / wdt->rate; in keembay_wdt_get_timeleft() 194 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in keembay_wdt_probe() 195 if (!wdt) in keembay_wdt_probe() 207 wdt->rate = clk_get_rate(wdt->clk); in keembay_wdt_probe() 208 if (!wdt->rate) in keembay_wdt_probe() 233 wdt->wdd.max_timeout = WDT_LOAD_MAX / wdt->rate; in keembay_wdt_probe() 237 watchdog_set_drvdata(&wdt->wdd, wdt); in keembay_wdt_probe() 240 keembay_wdt_set_timeout(&wdt->wdd, wdt->wdd.timeout); in keembay_wdt_probe() [all …]
|
A D | mlx_wdt.c | 69 reg_data = &wdt->pdata->data[wdt->reset_idx]; in mlxreg_wdt_check_card_reset() 83 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->action_idx]; in mlxreg_wdt_start() 92 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->action_idx]; in mlxreg_wdt_stop() 101 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->ping_idx]; in mlxreg_wdt_ping() 111 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->timeout_idx]; in mlxreg_wdt_set_timeout() 169 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->tleft_idx]; in mlxreg_wdt_get_timeleft() 237 wdt->ping_idx = i; in mlxreg_wdt_config() 242 wdt->pdata = pdata; in mlxreg_wdt_config() 291 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in mlxreg_wdt_probe() 292 if (!wdt) in mlxreg_wdt_probe() [all …]
|
A D | max63xx_wdt.c | 125 wdt->ping(wdt); in max63xx_wdt_ping() 133 wdt->set(wdt, wdt->timeout->wdset); in max63xx_wdt_start() 137 wdt->ping(wdt); in max63xx_wdt_start() 145 wdt->set(wdt, MAX6369_WDSET_DISABLED); in max63xx_wdt_stop() 165 spin_lock(&wdt->lock); in max63xx_mmap_ping() 209 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in max63xx_wdt_probe() 210 if (!wdt) in max63xx_wdt_probe() 222 if (!wdt->timeout) { in max63xx_wdt_probe() 233 watchdog_set_drvdata(&wdt->wdd, wdt); in max63xx_wdt_probe() 236 wdt->wdd.timeout = wdt->timeout->twd; in max63xx_wdt_probe() [all …]
|
A D | bcm7038_wdt.c | 140 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in bcm7038_wdt_probe() 141 if (!wdt) in bcm7038_wdt_probe() 147 if (IS_ERR(wdt->base)) in bcm7038_wdt_probe() 152 if (!IS_ERR(wdt->clk)) { in bcm7038_wdt_probe() 158 wdt->clk); in bcm7038_wdt_probe() 161 wdt->rate = clk_get_rate(wdt->clk); in bcm7038_wdt_probe() 163 if (!wdt->rate) in bcm7038_wdt_probe() 167 wdt->clk = NULL; in bcm7038_wdt_probe() 174 wdt->wdd.max_timeout = 0xffffffff / wdt->rate; in bcm7038_wdt_probe() 175 wdt->wdd.parent = dev; in bcm7038_wdt_probe() [all …]
|
A D | pm8916_wdt.c | 71 err = regmap_write(wdt->regmap, in pm8916_wdt_configure_timers() 100 struct pm8916_wdt *wdt = arg; in pm8916_wdt_isr() local 103 err = regmap_read(wdt->regmap, wdt->baseaddr + PON_INT_RT_STS, &sts); in pm8916_wdt_isr() 136 struct pm8916_wdt *wdt; in pm8916_wdt_probe() local 140 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in pm8916_wdt_probe() 141 if (!wdt) in pm8916_wdt_probe() 153 if (!wdt->regmap) { in pm8916_wdt_probe() 167 "pm8916_wdt", wdt); in pm8916_wdt_probe() 189 wdt->wdev.parent = dev; in pm8916_wdt_probe() 193 wdt->wdev.pretimeout = 0; in pm8916_wdt_probe() [all …]
|
A D | qcom-wdt.c | 56 return wdt->base + wdt->layout[reg]; in wdt_addr() 81 writel(bark * wdt->rate, wdt_addr(wdt, WDT_BARK_TIME)); in qcom_wdt_start() 82 writel(wdd->timeout * wdt->rate, wdt_addr(wdt, WDT_BITE_TIME)); in qcom_wdt_start() 196 struct qcom_wdt *wdt; in qcom_wdt_probe() local 210 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in qcom_wdt_probe() 211 if (!wdt) in qcom_wdt_probe() 226 if (IS_ERR(wdt->base)) in qcom_wdt_probe() 253 if (wdt->rate == 0 || in qcom_wdt_probe() 278 wdt->wdd.max_timeout = 0x10000000U / wdt->rate; in qcom_wdt_probe() 279 wdt->wdd.parent = dev; in qcom_wdt_probe() [all …]
|
A D | da9062_wdt.c | 69 struct da9062 *chip = wdt->hw; in da9062_wdt_update_timeout_register() 199 struct da9062_watchdog *wdt; in da9062_wdt_probe() local 205 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in da9062_wdt_probe() 206 if (!wdt) in da9062_wdt_probe() 211 wdt->hw = chip; in da9062_wdt_probe() 220 wdt->wdtdev.parent = dev; in da9062_wdt_probe() 224 watchdog_set_drvdata(&wdt->wdtdev, wdt); in da9062_wdt_probe() 229 wdt->wdtdev.timeout = timeout; in da9062_wdt_probe() 235 da9062_wdt_set_timeout(&wdt->wdtdev, wdt->wdtdev.timeout); in da9062_wdt_probe() 247 if (!wdt->use_sw_pm) in da9062_wdt_suspend() [all …]
|
A D | bcm_kona_wdt.c | 78 wdt->busy_count = count; in secure_register_read() 99 if (!wdt) { in bcm_kona_show() 124 res, wdt->resolution, in bcm_kona_show() 127 wdt->busy_count); in bcm_kona_show() 140 if (!wdt) in bcm_kona_wdt_debug_init() 143 wdt->debugfs = NULL; in bcm_kona_wdt_debug_init() 149 wdt->debugfs = dir; in bcm_kona_wdt_debug_init() 156 if (wdt) in bcm_kona_wdt_debug_exit() 274 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in bcm_kona_wdt_probe() 275 if (!wdt) in bcm_kona_wdt_probe() [all …]
|
A D | bcm47xx_wdt.c | 52 wdt->timer_set_ms(wdt, wdd->timeout * 1000); in bcm47xx_wdt_hard_keepalive() 66 wdt->timer_set(wdt, 0); in bcm47xx_wdt_hard_stop() 75 u32 max_timer = wdt->max_timer_ms; in bcm47xx_wdt_hard_set_timeout() 92 wdt->timer_set(wdt, 1); in bcm47xx_wdt_restart() 108 struct bcm47xx_wdt *wdt = from_timer(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() 112 wdt->timer_set_ms(wdt, next_tick); in bcm47xx_wdt_soft_timer_tick() 143 wdt->timer_set(wdt, 0); in bcm47xx_wdt_soft_stop() 183 if (!wdt) in bcm47xx_wdt_probe() 197 wdt->wdd.parent = &pdev->dev; in bcm47xx_wdt_probe() [all …]
|
A D | cadence_wdt.c | 128 spin_lock(&wdt->io_lock); in cdns_wdt_stop() 131 spin_unlock(&wdt->io_lock); in cdns_wdt_stop() 149 spin_lock(&wdt->io_lock); in cdns_wdt_reload() 192 spin_lock(&wdt->io_lock); in cdns_wdt_start() 205 if (wdt->rst) { in cdns_wdt_start() 296 struct cdns_wdt *wdt; in cdns_wdt_probe() local 299 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in cdns_wdt_probe() 300 if (!wdt) in cdns_wdt_probe() 311 if (IS_ERR(wdt->regs)) in cdns_wdt_probe() 337 if (IS_ERR(wdt->clk)) in cdns_wdt_probe() [all …]
|
A D | aspeed_wdt.c | 106 wdt->ctrl |= WDT_CTRL_ENABLE; in aspeed_wdt_enable() 111 writel(wdt->ctrl, wdt->base + WDT_CTRL); in aspeed_wdt_enable() 127 wdt->ctrl &= ~WDT_CTRL_ENABLE; in aspeed_wdt_stop() 128 writel(wdt->ctrl, wdt->base + WDT_CTRL); in aspeed_wdt_stop() 246 struct aspeed_wdt *wdt; in aspeed_wdt_probe() local 253 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in aspeed_wdt_probe() 254 if (!wdt) in aspeed_wdt_probe() 258 if (IS_ERR(wdt->base)) in aspeed_wdt_probe() 259 return PTR_ERR(wdt->base); in aspeed_wdt_probe() 264 wdt->wdd.parent = dev; in aspeed_wdt_probe() [all …]
|
A D | pic32-wdt.c | 66 u32 v = readl(wdt->rst_base); in pic32_wdt_bootstatus() 112 pic32_wdt_keepalive(wdt); in pic32_wdt_start() 136 pic32_wdt_keepalive(wdt); in pic32_wdt_ping() 175 struct pic32_wdt *wdt; in pic32_wdt_drv_probe() local 177 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in pic32_wdt_drv_probe() 178 if (!wdt) in pic32_wdt_drv_probe() 182 if (IS_ERR(wdt->regs)) in pic32_wdt_drv_probe() 186 if (!wdt->rst_base) in pic32_wdt_drv_probe() 190 if (IS_ERR(wdt->clk)) { in pic32_wdt_drv_probe() 192 return PTR_ERR(wdt->clk); in pic32_wdt_drv_probe() [all …]
|
A D | ni903x_wdt.c | 117 ni903x_start(wdt); in ni903x_wdd_start() 133 struct ni903x_wdt *wdt = data; in ni903x_resources() local 138 if (wdt->io_base != 0) { in ni903x_resources() 151 if (!devm_request_region(wdt->dev, wdt->io_base, io_size, in ni903x_resources() 184 struct ni903x_wdt *wdt; in ni903x_acpi_add() local 188 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in ni903x_acpi_add() 189 if (!wdt) in ni903x_acpi_add() 192 device->driver_data = wdt; in ni903x_acpi_add() 193 wdt->dev = dev; in ni903x_acpi_add() 202 wdd = &wdt->wdd; in ni903x_acpi_add() [all …]
|
A D | stm32_iwdg.c | 165 if (IS_ERR(wdt->clk_lsi)) in stm32_iwdg_clk_init() 169 if (wdt->data->has_pclk) { in stm32_iwdg_clk_init() 193 wdt->clk_lsi); in stm32_iwdg_clk_init() 197 wdt->rate = clk_get_rate(wdt->clk_lsi); in stm32_iwdg_clk_init() 227 struct stm32_iwdg *wdt; in stm32_iwdg_probe() local 230 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in stm32_iwdg_probe() 231 if (!wdt) in stm32_iwdg_probe() 235 if (!wdt->data) in stm32_iwdg_probe() 240 if (IS_ERR(wdt->regs)) in stm32_iwdg_probe() 248 wdd = &wdt->wdd; in stm32_iwdg_probe() [all …]
|
A D | twl4030_wdt.c | 42 wdt->timeout = timeout; in twl4030_wdt_set_timeout() 63 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in twl4030_wdt_probe() 64 if (!wdt) in twl4030_wdt_probe() 69 wdt->status = 0; in twl4030_wdt_probe() 70 wdt->timeout = 30; in twl4030_wdt_probe() 71 wdt->min_timeout = 1; in twl4030_wdt_probe() 72 wdt->max_timeout = 30; in twl4030_wdt_probe() 73 wdt->parent = dev; in twl4030_wdt_probe() 78 twl4030_wdt_stop(wdt); in twl4030_wdt_probe() 87 if (watchdog_active(wdt)) in twl4030_wdt_suspend() [all …]
|
A D | digicolor_wdt.c | 38 spin_lock_irqsave(&wdt->lock, flags); in dc_wdt_set() 53 dc_wdt_set(wdt, 1); in dc_wdt_restart() 64 dc_wdt_set(wdt, wdog->timeout * clk_get_rate(wdt->clk)); in dc_wdt_start() 82 dc_wdt_set(wdt, t * clk_get_rate(wdt->clk)); in dc_wdt_set_timeout() 120 struct dc_wdt *wdt; in dc_wdt_probe() local 123 if (!wdt) in dc_wdt_probe() 127 if (IS_ERR(wdt->base)) in dc_wdt_probe() 128 return PTR_ERR(wdt->base); in dc_wdt_probe() 131 if (IS_ERR(wdt->clk)) in dc_wdt_probe() 132 return PTR_ERR(wdt->clk); in dc_wdt_probe() [all …]
|
A D | shwdt.c | 88 clk_enable(wdt->clk); in sh_wdt_start() 132 del_timer(&wdt->timer); in sh_wdt_stop() 140 clk_disable(wdt->clk); in sh_wdt_stop() 176 struct sh_wdt *wdt = from_timer(wdt, t, timer); in sh_wdt_ping() local 218 struct sh_wdt *wdt; in sh_wdt_probe() local 229 if (unlikely(!wdt)) in sh_wdt_probe() 232 wdt->dev = &pdev->dev; in sh_wdt_probe() 235 if (IS_ERR(wdt->clk)) { in sh_wdt_probe() 240 wdt->clk = NULL; in sh_wdt_probe() 244 if (IS_ERR(wdt->base)) in sh_wdt_probe() [all …]
|
A D | npcm_wdt.c | 58 val = readl(wdt->reg); in npcm_wdt_ping() 92 writel(val, wdt->reg); in npcm_wdt_start() 101 writel(0, wdt->reg); in npcm_wdt_stop() 182 struct npcm_wdt *wdt; in npcm_wdt_probe() local 186 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in npcm_wdt_probe() 187 if (!wdt) in npcm_wdt_probe() 191 if (IS_ERR(wdt->reg)) in npcm_wdt_probe() 202 wdt->wdd.parent = dev; in npcm_wdt_probe() 204 wdt->wdd.timeout = 86; in npcm_wdt_probe() 208 npcm_wdt_set_timeout(&wdt->wdd, wdt->wdd.timeout); in npcm_wdt_probe() [all …]
|
/linux/Documentation/devicetree/bindings/watchdog/ |
A D | renesas,wdt.yaml | 21 - renesas,r7s72100-wdt # RZ/A1 22 - renesas,r7s9210-wdt # RZ/A2 23 - const: renesas,rza-wdt # RZ/A 27 - renesas,r8a7742-wdt # RZ/G1H 28 - renesas,r8a7743-wdt # RZ/G1M 29 - renesas,r8a7744-wdt # RZ/G1N 30 - renesas,r8a7745-wdt # RZ/G1E 31 - renesas,r8a77470-wdt # RZ/G1C 41 - renesas,r8a774a1-wdt # RZ/G2M 84 - renesas,rza-wdt [all …]
|