[U-Boot] [PATCH v3] moveconfig: add a second pass for empty #if/#endif blocks

Masahiro Yamada yamada.masahiro at socionext.com
Thu Jan 31 06:25:20 UTC 2019


On Wed, Jan 30, 2019 at 5:55 PM Masahiro Yamada
<yamada.masahiro at socionext.com> wrote:
>
> On Wed, Jan 30, 2019 at 4:23 PM Chris Packham <judge.packham at gmail.com> wrote:
> >
> > Moveconfig already attempts to remove empty #if/#endif blocks when there
> > is a matching CONFIG_ being moved. Add a second pass which covers files
> > without a match.
> >
> > Signed-off-by: Chris Packham <judge.packham at gmail.com>
> > ---
> > This was previously submitted as
> > http://patchwork.ozlabs.org/patch/924901/ there still seems to be cases
> > of #if/#endif left over from Kconfig migrations so perhaps this is still
> > needed/wanted.
> >
> > I've plumbed this in as a second pass because ultimately we may want to
> > make this a separate option. Also I couldn't figure out how to implement
> > this without using re.M so I couldn't make it work in with the line by
> > line parsing of cleanup_one_header().
>
>
> This seems useful to find leftover code
> regardless of the CONFIG options you are moving.
>
> One drawback is, it may fold unrelated cleanups.
>
> Maybe, it would be useful to add a separate option to turn on this feature,
> or make it into a separate tool.
>
>
>


I tested this patch.
It detected one empty block.


diff --git a/include/configs/omap3_cairo.h b/include/configs/omap3_cairo.h
index 04bce2f..ac1a6cb 100644
--- a/include/configs/omap3_cairo.h
+++ b/include/configs/omap3_cairo.h
@@ -197,8 +197,6 @@
  * are needed and peripheral clocks for UART2 must be enabled in
  * function per_clocks_enable().
  */
-#ifdef CONFIG_SPL_BUILD
-#endif

 /* Provide the MACH_TYPE value the vendor kernel requires */
 #define CONFIG_MACH_TYPE       3063







This seems a leftover of 9baa2bce.


$ git show 9baa2bce -- include/configs/omap3_cairo.h
commit 9baa2bce28901321d6f62399b5ebeb3fcb8e8a57
Author: Adam Ford <aford173 at gmail.com>
Date:   Tue Aug 7 07:08:32 2018 -0500

    Removed unused references to CONFIG_SERIALx

    After creating CONS_INDEX and migrating a bunch of boards to it,
    there are a bunch of defined references to CONFIG_SERIALx which
    are not referenced in any C code or #ifdef, so they can now be
    removed

    Signed-off-by: Adam Ford <aford173 at gmail.com>

diff --git a/include/configs/omap3_cairo.h b/include/configs/omap3_cairo.h
index 0133416..04bce2f 100644
--- a/include/configs/omap3_cairo.h
+++ b/include/configs/omap3_cairo.h
@@ -198,8 +198,6 @@
  * function per_clocks_enable().
  */
 #ifdef CONFIG_SPL_BUILD
-#undef CONFIG_SERIAL3
-#define CONFIG_SERIAL2
 #endif

 /* Provide the MACH_TYPE value the vendor kernel requires */





However, I doubt it used the moveconfig tool.


I re-ran the tool against the previous commit.


$ git checkout 9baa2bce2890^
$ tools/moveconfig.py -H SERIAL0 SERIAL1 SERIAL2 SERIAL3
Clean up headers? [y/n]: y
y
...
$ git diff -- include/configs/omap3_cairo.h
diff --git a/include/configs/omap3_cairo.h b/include/configs/omap3_cairo.h
index 0133416..ac1a6cb 100644
--- a/include/configs/omap3_cairo.h
+++ b/include/configs/omap3_cairo.h
@@ -197,10 +197,6 @@
  * are needed and peripheral clocks for UART2 must be enabled in
  * function per_clocks_enable().
  */
-#ifdef CONFIG_SPL_BUILD
-#undef CONFIG_SERIAL3
-#define CONFIG_SERIAL2
-#endif

 /* Provide the MACH_TYPE value the vendor kernel requires */
 #define CONFIG_MACH_TYPE       3063





cleanup_one_header() did a good job.

Is there a particular case that the second path is needed?



-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list