Lines Matching +full:sub +full:- +full:messages

1 // SPDX-License-Identifier: GPL-2.0-only
3 * intel-mid_wdt: generic Intel MID SCU watchdog driver
6 * - Merrifield only
23 #include <linux/platform_data/x86/intel-mid_wdt.h>
33 /* SCU watchdog messages */
47 wdt_command(struct mid_wdt *mid, int sub, const void *in, size_t inlen, size_t size) in wdt_command() argument
49 struct intel_scu_ipc_dev *scu = mid->scu; in wdt_command()
51 return intel_scu_ipc_dev_command_with_size(scu, IPC_WATCHDOG, sub, in, in wdt_command()
59 int timeout = wd->timeout; in wdt_start()
63 } ipc_wd_start = { timeout - MID_WDT_PRETIMEOUT, timeout }; in wdt_start()
76 dev_crit(mid->dev, "error starting watchdog: %d\n", ret); in wdt_start()
88 dev_crit(mid->dev, "Error executing keepalive: %d\n", ret); in wdt_ping()
100 dev_crit(mid->dev, "Error stopping watchdog: %d\n", ret); in wdt_stop()
127 struct device *dev = &pdev->dev; in mid_wdt_probe()
135 return -EINVAL; in mid_wdt_probe()
138 if (pdata->probe) { in mid_wdt_probe()
139 ret = pdata->probe(pdev); in mid_wdt_probe()
146 return -ENOMEM; in mid_wdt_probe()
148 mid->dev = dev; in mid_wdt_probe()
149 wdt_dev = &mid->wd; in mid_wdt_probe()
151 wdt_dev->info = &mid_wdt_info; in mid_wdt_probe()
152 wdt_dev->ops = &mid_wdt_ops; in mid_wdt_probe()
153 wdt_dev->min_timeout = MID_WDT_TIMEOUT_MIN; in mid_wdt_probe()
154 wdt_dev->max_timeout = MID_WDT_TIMEOUT_MAX; in mid_wdt_probe()
155 wdt_dev->timeout = MID_WDT_DEFAULT_TIMEOUT; in mid_wdt_probe()
156 wdt_dev->parent = dev; in mid_wdt_probe()
161 mid->scu = devm_intel_scu_ipc_dev_get(dev); in mid_wdt_probe()
162 if (!mid->scu) in mid_wdt_probe()
163 return -EPROBE_DEFER; in mid_wdt_probe()
165 ret = devm_request_irq(dev, pdata->irq, mid_wdt_irq, in mid_wdt_probe()
169 dev_err(dev, "error requesting warning irq %d\n", pdata->irq); in mid_wdt_probe()
174 * The firmware followed by U-Boot leaves the watchdog running in mid_wdt_probe()
187 set_bit(WDOG_HW_RUNNING, &wdt_dev->status); in mid_wdt_probe()