mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
power: axp: Avoid do_poweroff conflict with sysreset
The sysreset uclass has an option to provide the do_poweroff() function. When that option is enabled, the AXP power drivers should not provide their own definition. For the AXP305, which is paired with 64-bit systems where TF-A provides PSCI, there is another possible conflict with the PSCI firmware driver. This driver can be enabled even if CONFIG_PSCI_RESET is disabled, so make sure to use the right symbol in the condition. Signed-off-by: Samuel Holland <samuel@sholland.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
This commit is contained in:
parent
344df3ca2c
commit
830e161eb4
6 changed files with 11 additions and 1 deletions
|
@ -79,6 +79,7 @@ int axp_init(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if !IS_ENABLED(CONFIG_SYSRESET_CMD_POWEROFF)
|
||||
int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
{
|
||||
pmic_bus_write(AXP152_SHUTDOWN, AXP152_POWEROFF);
|
||||
|
@ -89,3 +90,4 @@ int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
|||
/* not reached */
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -230,6 +230,7 @@ int axp_init(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if !IS_ENABLED(CONFIG_SYSRESET_CMD_POWEROFF)
|
||||
int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
{
|
||||
pmic_bus_write(AXP209_SHUTDOWN, AXP209_POWEROFF);
|
||||
|
@ -240,3 +241,4 @@ int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
|||
/* not reached */
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -264,6 +264,7 @@ int axp_get_sid(unsigned int *sid)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if !IS_ENABLED(CONFIG_SYSRESET_CMD_POWEROFF)
|
||||
int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
{
|
||||
pmic_bus_write(AXP221_SHUTDOWN, AXP221_SHUTDOWN_POWEROFF);
|
||||
|
@ -274,3 +275,4 @@ int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
|||
/* not reached */
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -69,7 +69,7 @@ int axp_init(void)
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_PSCI_RESET
|
||||
#if !CONFIG_IS_ENABLED(ARM_PSCI_FW) && !IS_ENABLED(CONFIG_SYSRESET_CMD_POWEROFF)
|
||||
int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
{
|
||||
pmic_bus_write(AXP305_SHUTDOWN, AXP305_POWEROFF);
|
||||
|
|
|
@ -219,6 +219,7 @@ int axp_init(void)
|
|||
return pmic_bus_init();
|
||||
}
|
||||
|
||||
#if !IS_ENABLED(CONFIG_SYSRESET_CMD_POWEROFF)
|
||||
int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
{
|
||||
pmic_bus_write(AXP809_SHUTDOWN, AXP809_SHUTDOWN_POWEROFF);
|
||||
|
@ -229,3 +230,4 @@ int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
|||
/* not reached */
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -255,6 +255,7 @@ int axp_init(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if !IS_ENABLED(CONFIG_SYSRESET_CMD_POWEROFF)
|
||||
int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
{
|
||||
pmic_bus_write(AXP818_SHUTDOWN, AXP818_SHUTDOWN_POWEROFF);
|
||||
|
@ -265,3 +266,4 @@ int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
|||
/* not reached */
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue