2023-09-01 16:04:27

by Yuan Tan

[permalink] [raw]
Subject: [PATCH v2 0/3] Add dependencies of POWER_RESET for MIPS Malta, x86, and PowerMac

These patches are to add dependencies of POWER_RESET for MIPS Malta, x86,
and PowerMac.

I am really sorry I forget to use --thread in v1[1] as I stayed up too
late. So here I am resending v2 patch with a mirror fix and
consolidating them into a thread.

To simplify the enablement of the poweroff support, selecting the
required options for CONFIG_POWER_RESET=y may make many people happy
especially when they are using a customized config (maybe tinyconfig
based) for a target qemu board. Without normal poweroff support from the
kernel side, qemu will simply hang[2] there after a 'poweroff' command,
which is a very bad experience for the automatical tests.

Currently, based on tinyconfig, it is very hard to find the exact
poweroff options[3]. Some architectures' poweroff works well without
any dependence, the others' poweroff options are hidden deeply, which
make things hard.

After multiple verifications, these options have been identified as the
minimum dependencies required for poweroff to function normally.

Zhangjin and I invested a significant amount of time in searching for
the current options on these devices. We hope that this set of patches
will save time for others. If community like it, we will consider adding
dependencies for POWER_RESET on other devices.

---
[1]: https://lore.kernel.org/lkml/[email protected]/
[2]: https://lore.kernel.org/lkml/511b2f6009fb830b3f32b4be3dca99596c684fa3.1689759351.git.falcon@tinylab.org/
[3]: https://lore.kernel.org/all/983843582e52e83fba79ad45cea6c79e1f62ec6c.1690489039.git.falcon@tinylab.org/

---
Changes since v1:
- Fix the mistake of using spaces instead of tabs in kconfig.

Yuan Tan (3):
kconfig: add dependencies of POWER_RESET for mips malta
kconfig: add dependencies of POWER_RESET for x86
kconfig: add dependencies of POWER_RESET for PowerMac

arch/mips/Kconfig | 3 +++
arch/powerpc/platforms/powermac/Kconfig | 1 +
arch/x86/Kconfig | 2 ++
3 files changed, 6 insertions(+)

--
2.34.1



2023-09-02 18:58:02

by Yuan Tan

[permalink] [raw]
Subject: [PATCH v2 3/3] kconfig: add dependencies of POWER_RESET for PowerMac

PowerMac's power off depends on ADB_CUDA to work. Enable it when
POWER_RESET is set for convenience.

Suggested-by: Zhangjin Wu <[email protected]>
Signed-off-by: Yuan Tan <[email protected]>
---
arch/powerpc/platforms/powermac/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/platforms/powermac/Kconfig b/arch/powerpc/platforms/powermac/Kconfig
index 130707ec9f99..9e633d7e8367 100644
--- a/arch/powerpc/platforms/powermac/Kconfig
+++ b/arch/powerpc/platforms/powermac/Kconfig
@@ -2,6 +2,7 @@
config PPC_PMAC
bool "Apple PowerMac based machines"
depends on PPC_BOOK3S && CPU_BIG_ENDIAN
+ select ADB_CUDA if POWER_RESET
select MPIC
select FORCE_PCI
select PPC_INDIRECT_PCI if PPC32
--
2.34.1


2023-09-03 13:40:48

by Yuan Tan

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] kconfig: add dependencies of POWER_RESET for PowerMac

Hi,

On 9/1/2023 2:10 PM, Christophe Leroy wrote:
>
> Le 01/09/2023 à 04:43, Yuan Tan a écrit :
>> PowerMac's power off depends on ADB_CUDA to work. Enable it when
>> POWER_RESET is set for convenience.
>>
>> Suggested-by: Zhangjin Wu <[email protected]>
>> Signed-off-by: Yuan Tan <[email protected]>
>> ---
>> arch/powerpc/platforms/powermac/Kconfig | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/powerpc/platforms/powermac/Kconfig b/arch/powerpc/platforms/powermac/Kconfig
>> index 130707ec9f99..9e633d7e8367 100644
>> --- a/arch/powerpc/platforms/powermac/Kconfig
>> +++ b/arch/powerpc/platforms/powermac/Kconfig
>> @@ -2,6 +2,7 @@
>> config PPC_PMAC
>> bool "Apple PowerMac based machines"
>> depends on PPC_BOOK3S && CPU_BIG_ENDIAN
>> + select ADB_CUDA if POWER_RESET
> ADB_CUDA depends on !PPC_PMAC64.
>
> What will happen if PPC_PMAC64 is selected ?
>
>> select MPIC
>> select FORCE_PCI
>> select PPC_INDIRECT_PCI if PPC32

I didn't notice that ADB_CUDA depends on !PPC_PMAC64. In the case where
PPC_PMAC64 is set, ADB_CUDA indeed should not be enabled. Thank you for
pointing that out.

I will fix it in v3 and check again in x86 and mips :)