[RFC PATCH 00/23] arm: defconfigs: use kconfig fragments

Bartlomiej Zolnierkiewicz
2016-12-06T12:46:20Z

Hi,

This RFC patchset starts convertion of ARM defconfigs to use kconfig
fragments and dynamically generate defconfigs. The goals of this
work are to:

- remove duplication between defconfigs

- add a possibility to generate board/SoC/SoC-family/Multi specific
defconfigs in the future (without duplicating defconfigs)

This patchset is only a start of the work for discussion purposes
(I'm not entirely satisfied with the resulting patches):

- the major disadvantage of using kconfig fragments is that it is
now more difficult to update defconfigs

- split on hardware and system specific defconfig fragments is not
obvious and requires more thought

Patches description:

- patch 01 adds defconfigs dynamic generation support (based on
PowerPC code)

- patches 02-21 remove duplication between selected defconfigs
(without splitting them on hardware and system specific parts)

- patches 22-23 start a conversion of multi_v7_defconfig to be
dynamically generated and remove duplication between Multi
defconfig and SoC-family specific defconfigs (only Exynos and
Tegra defconfigs are converted for RFC purposes, defconfigs
are splitted on hardware and system specific parts)

The patchset is against v4.9-rc6 kernel.

FIXMEs:
- add sys_m and sys_m_shared kconfig fragments
- audit hardware/system split
- convert all defconfigs touched by patchset to use:
* hw_y, hw_y_shared, hw_m, hw_m_shared
* sys_y, sys_y_shared, sys_m, sys_m_shared
kconfig fragments
- convert remaining defconfigs

Bartlomiej Zolnierkiewicz (23):
arm: add kconfig fragments support
arm: use kconfig fragments for ARCH_ASPEED defconfigs
arm: update defconfigs for ARCH_KS8695
arm: use kconfig fragments for ARCH_ASPEED defconfigs
arm: update defconfigs for ARCH_MMP
arm: use kconfig fragments for ARCH_ASPEED defconfigs
arm: update defconfigs for PLAT_SPEAR
arm: use kconfig fragments for PLAT_SPEAR defconfigs
arm: update defconfigs for ARCH_W90X900
arm: use kconfig fragments for ARCH_W90X900 defconfigs
arm: update mainstone_defconfig
arm: update lubbock_defconfig
arm: update pxa255-idp_defconfig
arm: update lpd270_defconfig
arm: use kconfig fragments for ARCH_PXA defconfigs (part 1)
arm: update corgi_defconfig
arm: update spitz_defconfig
arm: use kconfig fragments for ARCH_PXA defconfigs (part 2)
arm: update ezx_defconfig
arm: imote2_defconfig
arm: use kconfig fragments for ARCH_PXA defconfigs (part 3)
arm: use kconfig fragments for exynos_defconfig/multi_v7_defconfig
arm: use kconfig fragments for tegra_defconfig/multi_v7_defconfig

arch/arm/Makefile | 107 ++++++
arch/arm/configs/acs5k.config | 32 ++
arch/arm/configs/acs5k_defconfig | 86 -----
arch/arm/configs/acs5k_tiny.config | 24 ++
arch/arm/configs/acs5k_tiny_defconfig | 80 ----
...{aspeed_g4_defconfig => aspeed_basic_defconfig} | 1 -
arch/arm/configs/aspeed_g4.config | 1 +
arch/arm/configs/aspeed_g5.config | 3 +
arch/arm/configs/aspeed_g5_defconfig | 88 -----
arch/arm/configs/corgi.config | 11 +
arch/arm/configs/dummy_defconfig | 1 +
arch/arm/configs/exynos/hw_m.config | 2 +
arch/arm/configs/exynos/hw_m_shared.config | 18 +
arch/arm/configs/exynos/hw_y.config | 93 +++++
arch/arm/configs/exynos/hw_y_shared.config | 93 +++++
arch/arm/configs/exynos/sys_y.config | 33 ++
arch/arm/configs/exynos/sys_y_shared.config | 37 ++
arch/arm/configs/exynos_defconfig | 274 --------------
arch/arm/configs/ezx.config | 39 ++
arch/arm/configs/ezx_defconfig | 418 ---------------------
arch/arm/configs/imote2.config | 17 +
arch/arm/configs/ks8695.config | 21 ++
.../{ks8695_defconfig => ks8695_basic_defconfig} | 33 --
arch/arm/configs/lpd270.config | 20 +
arch/arm/configs/lpd270_defconfig | 64 ----
arch/arm/configs/lubbock.config | 11 +
arch/arm/configs/lubbock_defconfig | 56 ---
arch/arm/configs/mainstone.config | 11 +
arch/arm/configs/mmp2.config | 32 ++
arch/arm/configs/mmp2_defconfig | 98 -----
.../{pxa168_defconfig => mmp_basic_defconfig} | 27 +-
...{multi_v7_defconfig => multi_v7_base_defconfig} | 268 -------------
arch/arm/configs/nuc910_defconfig | 19 +-
arch/arm/configs/nuc950.config | 14 +
arch/arm/configs/nuc950_defconfig | 76 ----
arch/arm/configs/nuc960.config | 5 +
arch/arm/configs/nuc960_defconfig | 66 ----
arch/arm/configs/pxa168.config | 3 +
arch/arm/configs/pxa255-idp.config | 14 +
arch/arm/configs/pxa255-idp_defconfig | 58 ---
arch/arm/configs/pxa910.config | 8 +
arch/arm/configs/pxa910_defconfig | 80 ----
.../{mainstone_defconfig => pxa_basic1_defconfig} | 21 +-
.../{corgi_defconfig => pxa_basic2_defconfig} | 70 +---
.../{imote2_defconfig => pxa_basic3_defconfig} | 101 +----
arch/arm/configs/spear13xx.config | 35 ++
arch/arm/configs/spear13xx_defconfig | 110 ------
arch/arm/configs/spear3xx.config | 15 +
arch/arm/configs/spear3xx_defconfig | 89 -----
arch/arm/configs/spear6xx.config | 5 +
.../{spear6xx_defconfig => spear_basic_defconfig} | 13 +-
arch/arm/configs/spitz.config | 10 +
arch/arm/configs/spitz_defconfig | 273 --------------
arch/arm/configs/tegra/hw_m.config | 1 +
arch/arm/configs/tegra/hw_m_shared.config | 3 +
arch/arm/configs/tegra/hw_y.config | 48 +++
arch/arm/configs/tegra/hw_y_shared.config | 151 ++++++++
arch/arm/configs/tegra/sys_y.config | 63 ++++
arch/arm/configs/tegra/sys_y_shared.config | 40 ++
arch/arm/configs/tegra_defconfig | 305 ---------------
60 files changed, 1052 insertions(+), 2743 deletions(-)
create mode 100644 arch/arm/configs/acs5k.config
delete mode 100644 arch/arm/configs/acs5k_defconfig
create mode 100644 arch/arm/configs/acs5k_tiny.config
delete mode 100644 arch/arm/configs/acs5k_tiny_defconfig
rename arch/arm/configs/{aspeed_g4_defconfig => aspeed_basic_defconfig} (98%)
create mode 100644 arch/arm/configs/aspeed_g4.config
create mode 100644 arch/arm/configs/aspeed_g5.config
delete mode 100644 arch/arm/configs/aspeed_g5_defconfig
create mode 100644 arch/arm/configs/corgi.config
create mode 100644 arch/arm/configs/dummy_defconfig
create mode 100644 arch/arm/configs/exynos/hw_m.config
create mode 100644 arch/arm/configs/exynos/hw_m_shared.config
create mode 100644 arch/arm/configs/exynos/hw_y.config
create mode 100644 arch/arm/configs/exynos/hw_y_shared.config
create mode 100644 arch/arm/configs/exynos/sys_y.config
create mode 100644 arch/arm/configs/exynos/sys_y_shared.config
delete mode 100644 arch/arm/configs/exynos_defconfig
create mode 100644 arch/arm/configs/ezx.config
delete mode 100644 arch/arm/configs/ezx_defconfig
create mode 100644 arch/arm/configs/imote2.config
create mode 100644 arch/arm/configs/ks8695.config
rename arch/arm/configs/{ks8695_defconfig => ks8695_basic_defconfig} (56%)
create mode 100644 arch/arm/configs/lpd270.config
delete mode 100644 arch/arm/configs/lpd270_defconfig
create mode 100644 arch/arm/configs/lubbock.config
delete mode 100644 arch/arm/configs/lubbock_defconfig
create mode 100644 arch/arm/configs/mainstone.config
create mode 100644 arch/arm/configs/mmp2.config
delete mode 100644 arch/arm/configs/mmp2_defconfig
rename arch/arm/configs/{pxa168_defconfig => mmp_basic_defconfig} (61%)
rename arch/arm/configs/{multi_v7_defconfig => multi_v7_base_defconfig} (71%)
create mode 100644 arch/arm/configs/nuc950.config
delete mode 100644 arch/arm/configs/nuc950_defconfig
create mode 100644 arch/arm/configs/nuc960.config
delete mode 100644 arch/arm/configs/nuc960_defconfig
create mode 100644 arch/arm/configs/pxa168.config
create mode 100644 arch/arm/configs/pxa255-idp.config
delete mode 100644 arch/arm/configs/pxa255-idp_defconfig
create mode 100644 arch/arm/configs/pxa910.config
delete mode 100644 arch/arm/configs/pxa910_defconfig
rename arch/arm/configs/{mainstone_defconfig => pxa_basic1_defconfig} (62%)
rename arch/arm/configs/{corgi_defconfig => pxa_basic2_defconfig} (83%)
rename arch/arm/configs/{imote2_defconfig => pxa_basic3_defconfig} (75%)
create mode 100644 arch/arm/configs/spear13xx.config
delete mode 100644 arch/arm/configs/spear13xx_defconfig
create mode 100644 arch/arm/configs/spear3xx.config
delete mode 100644 arch/arm/configs/spear3xx_defconfig
create mode 100644 arch/arm/configs/spear6xx.config
rename arch/arm/configs/{spear6xx_defconfig => spear_basic_defconfig} (87%)
create mode 100644 arch/arm/configs/spitz.config
delete mode 100644 arch/arm/configs/spitz_defconfig
create mode 100644 arch/arm/configs/tegra/hw_m.config
create mode 100644 arch/arm/configs/tegra/hw_m_shared.config
create mode 100644 arch/arm/configs/tegra/hw_y.config
create mode 100644 arch/arm/configs/tegra/hw_y_shared.config
create mode 100644 arch/arm/configs/tegra/sys_y.config
create mode 100644 arch/arm/configs/tegra/sys_y_shared.config
delete mode 100644 arch/arm/configs/tegra_defconfig

--
1.9.1