mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 16:11:38 +00:00
firmware: xilinx: Add system shutdown API interface
Add system shutdown API interface which asks firmware to perform system shutdown/restart. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Link: https://lore.kernel.org/r/1587761887-4279-24-git-send-email-jolly.shah@xilinx.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ae5c961da6
commit
fdd2ed88ca
@ -875,6 +875,19 @@ int zynqmp_pm_aes_engine(const u64 address, u32 *out)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(zynqmp_pm_aes_engine);
|
||||
|
||||
/**
|
||||
* zynqmp_pm_system_shutdown - PM call to request a system shutdown or restart
|
||||
* @type: Shutdown or restart? 0 for shutdown, 1 for restart
|
||||
* @subtype: Specifies which system should be restarted or shut down
|
||||
*
|
||||
* Return: Returns status, either success or error+reason
|
||||
*/
|
||||
int zynqmp_pm_system_shutdown(const u32 type, const u32 subtype)
|
||||
{
|
||||
return zynqmp_pm_invoke_fn(PM_SYSTEM_SHUTDOWN, type, subtype,
|
||||
0, 0, NULL);
|
||||
}
|
||||
|
||||
static ssize_t ggs_show(struct device *device,
|
||||
struct device_attribute *attr,
|
||||
char *buf,
|
||||
|
@ -64,6 +64,7 @@
|
||||
|
||||
enum pm_api_id {
|
||||
PM_GET_API_VERSION = 1,
|
||||
PM_SYSTEM_SHUTDOWN = 12,
|
||||
PM_REQUEST_NODE = 13,
|
||||
PM_RELEASE_NODE,
|
||||
PM_SET_REQUIREMENT,
|
||||
@ -340,6 +341,7 @@ int zynqmp_pm_write_ggs(u32 index, u32 value);
|
||||
int zynqmp_pm_read_ggs(u32 index, u32 *value);
|
||||
int zynqmp_pm_write_pggs(u32 index, u32 value);
|
||||
int zynqmp_pm_read_pggs(u32 index, u32 *value);
|
||||
int zynqmp_pm_system_shutdown(const u32 type, const u32 subtype);
|
||||
#else
|
||||
static inline struct zynqmp_eemi_ops *zynqmp_pm_get_eemi_ops(void)
|
||||
{
|
||||
@ -482,6 +484,10 @@ static inline int zynqmp_pm_read_pggs(u32 index, u32 *value)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
static inline int zynqmp_pm_system_shutdown(const u32 type, const u32 subtype)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __FIRMWARE_ZYNQMP_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user