st_wdog 65 drivers/watchdog/st_lpc_wdt.c static void st_wdog_setup(struct st_wdog *st_wdog, bool enable) st_wdog 68 drivers/watchdog/st_lpc_wdt.c if (st_wdog->syscfg->reset_type_reg) st_wdog 69 drivers/watchdog/st_lpc_wdt.c regmap_update_bits(st_wdog->regmap, st_wdog 70 drivers/watchdog/st_lpc_wdt.c st_wdog->syscfg->reset_type_reg, st_wdog 71 drivers/watchdog/st_lpc_wdt.c st_wdog->syscfg->reset_type_mask, st_wdog 72 drivers/watchdog/st_lpc_wdt.c st_wdog->warm_reset); st_wdog 75 drivers/watchdog/st_lpc_wdt.c regmap_update_bits(st_wdog->regmap, st_wdog 76 drivers/watchdog/st_lpc_wdt.c st_wdog->syscfg->enable_reg, st_wdog 77 drivers/watchdog/st_lpc_wdt.c st_wdog->syscfg->enable_mask, st_wdog 78 drivers/watchdog/st_lpc_wdt.c enable ? 0 : st_wdog->syscfg->enable_mask); st_wdog 81 drivers/watchdog/st_lpc_wdt.c static void st_wdog_load_timer(struct st_wdog *st_wdog, unsigned int timeout) st_wdog 83 drivers/watchdog/st_lpc_wdt.c unsigned long clkrate = st_wdog->clkrate; st_wdog 85 drivers/watchdog/st_lpc_wdt.c writel_relaxed(timeout * clkrate, st_wdog->base + LPC_LPA_LSB_OFF); st_wdog 86 drivers/watchdog/st_lpc_wdt.c writel_relaxed(1, st_wdog->base + LPC_LPA_START_OFF); st_wdog 91 drivers/watchdog/st_lpc_wdt.c struct st_wdog *st_wdog = watchdog_get_drvdata(wdd); st_wdog 93 drivers/watchdog/st_lpc_wdt.c writel_relaxed(1, st_wdog->base + LPC_WDT_OFF); st_wdog 100 drivers/watchdog/st_lpc_wdt.c struct st_wdog *st_wdog = watchdog_get_drvdata(wdd); st_wdog 102 drivers/watchdog/st_lpc_wdt.c writel_relaxed(0, st_wdog->base + LPC_WDT_OFF); st_wdog 110 drivers/watchdog/st_lpc_wdt.c struct st_wdog *st_wdog = watchdog_get_drvdata(wdd); st_wdog 113 drivers/watchdog/st_lpc_wdt.c st_wdog_load_timer(st_wdog, timeout); st_wdog 120 drivers/watchdog/st_lpc_wdt.c struct st_wdog *st_wdog = watchdog_get_drvdata(wdd); st_wdog 122 drivers/watchdog/st_lpc_wdt.c st_wdog_load_timer(st_wdog, wdd->timeout); st_wdog 155 drivers/watchdog/st_lpc_wdt.c struct st_wdog *st_wdog; st_wdog 172 drivers/watchdog/st_lpc_wdt.c st_wdog = devm_kzalloc(dev, sizeof(*st_wdog), GFP_KERNEL); st_wdog 173 drivers/watchdog/st_lpc_wdt.c if (!st_wdog) st_wdog 181 drivers/watchdog/st_lpc_wdt.c st_wdog->syscfg = (struct st_wdog_syscfg *)match->data; st_wdog 199 drivers/watchdog/st_lpc_wdt.c st_wdog->dev = dev; st_wdog 200 drivers/watchdog/st_lpc_wdt.c st_wdog->base = base; st_wdog 201 drivers/watchdog/st_lpc_wdt.c st_wdog->clk = clk; st_wdog 202 drivers/watchdog/st_lpc_wdt.c st_wdog->regmap = regmap; st_wdog 203 drivers/watchdog/st_lpc_wdt.c st_wdog->warm_reset = of_property_read_bool(np, "st,warm_reset"); st_wdog 204 drivers/watchdog/st_lpc_wdt.c st_wdog->clkrate = clk_get_rate(st_wdog->clk); st_wdog 206 drivers/watchdog/st_lpc_wdt.c if (!st_wdog->clkrate) { st_wdog 210 drivers/watchdog/st_lpc_wdt.c st_wdog_dev.max_timeout = 0xFFFFFFFF / st_wdog->clkrate; st_wdog 222 drivers/watchdog/st_lpc_wdt.c watchdog_set_drvdata(&st_wdog_dev, st_wdog); st_wdog 234 drivers/watchdog/st_lpc_wdt.c st_wdog_setup(st_wdog, true); st_wdog 237 drivers/watchdog/st_lpc_wdt.c st_wdog->warm_reset ? "warm" : "cold"); st_wdog 244 drivers/watchdog/st_lpc_wdt.c struct st_wdog *st_wdog = watchdog_get_drvdata(&st_wdog_dev); st_wdog 246 drivers/watchdog/st_lpc_wdt.c st_wdog_setup(st_wdog, false); st_wdog 254 drivers/watchdog/st_lpc_wdt.c struct st_wdog *st_wdog = watchdog_get_drvdata(&st_wdog_dev); st_wdog 259 drivers/watchdog/st_lpc_wdt.c st_wdog_setup(st_wdog, false); st_wdog 261 drivers/watchdog/st_lpc_wdt.c clk_disable(st_wdog->clk); st_wdog 268 drivers/watchdog/st_lpc_wdt.c struct st_wdog *st_wdog = watchdog_get_drvdata(&st_wdog_dev); st_wdog 271 drivers/watchdog/st_lpc_wdt.c ret = clk_enable(st_wdog->clk); st_wdog 275 drivers/watchdog/st_lpc_wdt.c clk_unprepare(st_wdog->clk); st_wdog 279 drivers/watchdog/st_lpc_wdt.c st_wdog_setup(st_wdog, true); st_wdog 282 drivers/watchdog/st_lpc_wdt.c st_wdog_load_timer(st_wdog, st_wdog_dev.timeout);