// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2017 Masahiro Yamada */ #include #include #include #include #include static int psci_sysreset_request(struct udevice *dev, enum sysreset_t type) { switch (type) { case SYSRESET_WARM: case SYSRESET_COLD: psci_sys_reset(type); break; case SYSRESET_POWER_OFF: psci_sys_poweroff(); break; default: return -ENOSYS; } return -EINPROGRESS; } static struct sysreset_ops psci_sysreset_ops = { .request = psci_sysreset_request, }; U_BOOT_DRIVER(psci_sysreset) = { .name = "psci-sysreset", .id = UCLASS_SYSRESET, .ops = &psci_sysreset_ops, };