Message ID | 20190823024346.591-1-yamada.masahiro@socionext.com |
---|---|
State | Accepted |
Commit | 9fac85a6db8999922f2cd92dfe2e83e063b31a94 |
Headers | show |
Series | ARM: at91: move platform-specific asm-offset.h to arch/arm/mach-at91 | expand |
On 23/08/2019 11:43:45+0900, Masahiro Yamada wrote: > <generated/at91_pm_data-offsets.h> is only generated and included by > arch/arm/mach-at91/, so it does not need to reside in the globally > visible include/generated/. > > I renamed it to arch/arm/mach-at91/pm_data-offsets.h since the prefix > 'at91_' is just redundant in mach-at91/. > > My main motivation of this change is to avoid the race condition for > the parallel build (-j) when CONFIG_IKHEADERS is enabled. > > When it is enabled, all the headers under include/ are archived into > kernel/kheaders_data.tar.xz and exposed in the sysfs. > > In the parallel build, we have no idea in which order files are built. > > - If at91_pm_data-offsets.h is built before kheaders_data.tar.xz, > the header will be included in the archive. Probably nobody will > use it, but it is harmless except that it will increase the archive > size needlessly. > > - If kheaders_data.tar.xz is built before at91_pm_data-offsets.h, > the header will not be included in the archive. However, in the next > build, the archive will be re-generated to include the newly-found > at91_pm_data-offsets.h. This is not nice from the build system point > of view. > > - If at91_pm_data-offsets.h and kheaders_data.tar.xz are built at the > same time, the corrupted header might be included in the archive, > which does not look nice either. > > This commit fixes the race. > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > --- > > arch/arm/mach-at91/.gitignore | 1 + > arch/arm/mach-at91/Makefile | 5 +++-- > arch/arm/mach-at91/pm_suspend.S | 2 +- > 3 files changed, 5 insertions(+), 3 deletions(-) > create mode 100644 arch/arm/mach-at91/.gitignore > Applied, thanks. -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
diff --git a/arch/arm/mach-at91/.gitignore b/arch/arm/mach-at91/.gitignore new file mode 100644 index 000000000000..2ecd6f51c8a9 --- /dev/null +++ b/arch/arm/mach-at91/.gitignore @@ -0,0 +1 @@ +pm_data-offsets.h diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile index 31b61f0e1c07..de64301dcff2 100644 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile @@ -19,9 +19,10 @@ ifeq ($(CONFIG_PM_DEBUG),y) CFLAGS_pm.o += -DDEBUG endif -include/generated/at91_pm_data-offsets.h: arch/arm/mach-at91/pm_data-offsets.s FORCE +$(obj)/pm_data-offsets.h: $(obj)/pm_data-offsets.s FORCE $(call filechk,offsets,__PM_DATA_OFFSETS_H__) -arch/arm/mach-at91/pm_suspend.o: include/generated/at91_pm_data-offsets.h +$(obj)/pm_suspend.o: $(obj)/pm_data-offsets.h targets += pm_data-offsets.s +clean-files += pm_data-offsets.h diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S index c751f047b116..ed57c879d4e1 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -10,7 +10,7 @@ #include <linux/linkage.h> #include <linux/clk/at91_pmc.h> #include "pm.h" -#include "generated/at91_pm_data-offsets.h" +#include "pm_data-offsets.h" #define SRAMC_SELF_FRESH_ACTIVE 0x01 #define SRAMC_SELF_FRESH_EXIT 0x00
<generated/at91_pm_data-offsets.h> is only generated and included by arch/arm/mach-at91/, so it does not need to reside in the globally visible include/generated/. I renamed it to arch/arm/mach-at91/pm_data-offsets.h since the prefix 'at91_' is just redundant in mach-at91/. My main motivation of this change is to avoid the race condition for the parallel build (-j) when CONFIG_IKHEADERS is enabled. When it is enabled, all the headers under include/ are archived into kernel/kheaders_data.tar.xz and exposed in the sysfs. In the parallel build, we have no idea in which order files are built. - If at91_pm_data-offsets.h is built before kheaders_data.tar.xz, the header will be included in the archive. Probably nobody will use it, but it is harmless except that it will increase the archive size needlessly. - If kheaders_data.tar.xz is built before at91_pm_data-offsets.h, the header will not be included in the archive. However, in the next build, the archive will be re-generated to include the newly-found at91_pm_data-offsets.h. This is not nice from the build system point of view. - If at91_pm_data-offsets.h and kheaders_data.tar.xz are built at the same time, the corrupted header might be included in the archive, which does not look nice either. This commit fixes the race. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- arch/arm/mach-at91/.gitignore | 1 + arch/arm/mach-at91/Makefile | 5 +++-- arch/arm/mach-at91/pm_suspend.S | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 arch/arm/mach-at91/.gitignore -- 2.17.1