Lines Matching +full:power +full:- +full:off
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * QNAP Turbo NAS Board power off. Can also be used on Synology devices.
39 { .compatible = "qnap,power-off",
42 { .compatible = "synology,power-off",
55 const unsigned divisor = ((tclk + (8 * cfg->baud)) / (16 * cfg->baud)); in qnap_power_off()
57 pr_err("%s: triggering power-off...\n", __func__); in qnap_power_off()
68 /* send the power-off command to PIC */ in qnap_power_off()
69 writel(cfg->cmd, UART1_REG(TX)); in qnap_power_off()
74 struct device_node *np = pdev->dev.of_node; in qnap_power_off_probe()
80 cfg = match->data; in qnap_power_off_probe()
84 dev_err(&pdev->dev, "Missing resource"); in qnap_power_off_probe()
85 return -EINVAL; in qnap_power_off_probe()
88 base = devm_ioremap(&pdev->dev, res->start, resource_size(res)); in qnap_power_off_probe()
90 dev_err(&pdev->dev, "Unable to map resource"); in qnap_power_off_probe()
91 return -EINVAL; in qnap_power_off_probe()
95 clk = devm_clk_get(&pdev->dev, NULL); in qnap_power_off_probe()
97 dev_err(&pdev->dev, "Clk missing"); in qnap_power_off_probe()
105 dev_err(&pdev->dev, "pm_power_off already claimed for %ps", in qnap_power_off_probe()
107 return -EBUSY; in qnap_power_off_probe()
130 MODULE_DESCRIPTION("QNAP Power off driver");