Re: [PATCH v3 1/3] powerpc/config: Cleanup pmac32_defconfig

From: Michael Ellerman
Date: Thu Sep 21 2023 - 19:50:34 EST


Yuan Tan <tanyuan@xxxxxxxxxxx> writes:
> On 9/14/2023 9:10 PM, Michael Ellerman wrote:
>> Yuan Tan <tanyuan@xxxxxxxxxxx> writes:
>>> Use 'make savedefconfig' to cleanup pmac32_defconfig, based on Linux
>>> 7.6-rc1
>> Thanks but I don't like doing these updates in a single commit like
>> this, it's easy to accidentally lose a symbol.
> Yeah I have the same concerns too.
>>
>> I prefer an explanation for what's changing for each symbol. See
>> 1ce7fda142af ("powerpc/configs/64s: Drop IPV6 which is default y") and
>> the commits leading up to it, to see what I mean.
>>
>> But I suspect you probably don't want to go to all that effort, which is
>> fine :)
>
> I am not familiar with other options, so I'd better not do that. :)
>
> By the way, just to be cautious, since the defconfig can only be updated
> by 'savedefconfig'[1], how can we write an explanation for a single
> change in an option?

Well the defconfig can be updated manually, but the changes you make
manually should match what savedefconfig would do.

> I mean, when I change one option, the value of the other undetermined
> option will be set just like in patch 1.

At that point I just stage the change to the option I'm changing, and
leave the other lines modified by savedefconfig alone. That way you can
commit the changes made by savedefconfig in multiple steps, explaining
what happens along the way, and the end result is the same as what
savedefconfig generates.

So for example at the moment if you do savedefconfig on
pmac32_defconfig, the start of the diff looks like:

1 diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
2 index 57ded82c2840..17df965be099 100644
3 --- a/arch/powerpc/configs/pmac32_defconfig
4 +++ b/arch/powerpc/configs/pmac32_defconfig
5 @@ -1,4 +1,3 @@
6 -CONFIG_ALTIVEC=y
7 # CONFIG_LOCALVERSION_AUTO is not set
8 CONFIG_SYSVIPC=y
9 CONFIG_POSIX_MQUEUE=y
10 @@ -8,12 +7,8 @@ CONFIG_IKCONFIG=y
11 CONFIG_IKCONFIG_PROC=y
12 CONFIG_LOG_BUF_SHIFT=14
13 CONFIG_BLK_DEV_INITRD=y
14 -# CONFIG_COMPAT_BRK is not set
15 CONFIG_PROFILING=y
16 -CONFIG_MODULES=y
17 -CONFIG_MODULE_UNLOAD=y
18 -CONFIG_MODULE_FORCE_UNLOAD=y
19 -CONFIG_PARTITION_ADVANCED=y
20 +CONFIG_ALTIVEC=y
21 # CONFIG_PPC_CHRP is not set
22 CONFIG_CPU_FREQ=y
23 CONFIG_CPU_FREQ_GOV_POWERSAVE=y

So you can stage lines 6 and 20, and commit that as "Update for symbol
movement", ie. nothing changed other than a symbol moved.

Then repeat that until eventually the config is up to date.

cheers