Messages in this thread | | | Subject | Re: [RFC PATCH V4 6/6] riscv: soc: Add Allwinner SoC kconfig option | From | Randy Dunlap <> | Date | Mon, 13 Sep 2021 20:06:19 -0700 |
| |
On 9/13/21 7:34 PM, Guo Ren wrote: > On Tue, Sep 14, 2021 at 2:49 AM Randy Dunlap <rdunlap@infradead.org> wrote: >> >> On 9/13/21 2:20 AM, Guo Ren wrote: >>> On Mon, Sep 13, 2021 at 4:45 PM Maxime Ripard <maxime@cerno.tech> wrote: >>>> >>>> Hi, >>>> >>>> On Sat, Sep 11, 2021 at 05:21:39PM +0800, guoren@kernel.org wrote: >>>>> From: Liu Shaohua <liush@allwinnertech.com> >>>>> >>>>> Add Allwinner kconfig option which selects SoC specific and common >>>>> drivers that is required for this SoC. >>>>> >>>>> Allwinner D1 uses custom PTE attributes to solve non-coherency SOC >>>>> interconnect issues for dma synchronization, so we set the default >>>>> value when SOC_SUNXI selected. >>>>> >>>>> Signed-off-by: Liu Shaohua <liush@allwinnertech.com> >>>>> Signed-off-by: Guo Ren <guoren@linux.alibaba.com> >>>>> Signed-off-by: Wei Fu <wefu@redhat.com> >>>>> Cc: Anup Patel <anup.patel@wdc.com> >>>>> Cc: Atish Patra <atish.patra@wdc.com> >>>>> Cc: Christoph Hellwig <hch@lst.de> >>>>> Cc: Chen-Yu Tsai <wens@csie.org> >>>>> Cc: Drew Fustini <drew@beagleboard.org> >>>>> Cc: Maxime Ripard <maxime@cerno.tech> >>>>> Cc: Palmer Dabbelt <palmerdabbelt@google.com> >>>>> Cc: Wei Wu <lazyparser@gmail.com> >>>>> --- >>>>> arch/riscv/Kconfig.socs | 15 +++++++++++++++ >>>>> arch/riscv/configs/defconfig | 1 + >>>>> 2 files changed, 16 insertions(+) >>>>> >>>>> diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs >>>>> index 30676ebb16eb..8721c000ef23 100644 >>>>> --- a/arch/riscv/Kconfig.socs >>>>> +++ b/arch/riscv/Kconfig.socs >>>>> @@ -70,4 +70,19 @@ config SOC_CANAAN_K210_DTB_SOURCE >>>>> >>>>> endif >>>>> >>>>> +config SOC_SUNXI >>>>> + bool "Allwinner SoCs" >>>>> + depends on MMU >>>>> + select DWMAC_GENERIC >>>>> + select ERRATA_THEAD >>>>> + select RISCV_DMA_NONCOHERENT >>>>> + select RISCV_ERRATA_ALTERNATIVE >>>>> + select SERIAL_8250 >>>>> + select SERIAL_8250_CONSOLE >>>>> + select SERIAL_8250_DW >>>>> + select SIFIVE_PLIC >>>>> + select STMMAC_ETH >>>>> + help >>>>> + This enables support for Allwinner SoC platforms like the D1. >>>>> + >>>> >>>> I'm not sure we should select the drivers there. We could very well >>>> imagine a board without UART, or even more so without ethernet. >>> We just want people could bring D1 up easier, 8250 is the basic component. >>> >>> >>>> >>>> These options should be in the defconfig. >> >> Agreed, using a defconfig is the right way to do this. > Put 8250 related configs into arch/riscv/configs/defconfig? > > @Palmer Dabbelt @Arnd Bergmann, How do you think about that? > (defconfig or Kconfig.soc) > My purpose is when people make the Image from riscv/defconfig, then > the Image could run on all platforms include D1.
Hi,
I certainly did not understand your purpose with the patch being able to build a kernel that would run on multiple platforms. Still, I would not expect to see one platform cause unnecessary drivers to be built for platforms that don't need them.
Kconfig.socs in arch/riscv/ is a bit of an unusual Kconfig file IMO -- I suppose what you want to do fits into its style.
AFAIK the suggestion to use a defconfig (at least my suggestion) was expecting to have a defconfig for each platform, but that would not give you a boot image that could run on all platforms.
Anyway, it's Palmer's choice.
thanks. -- ~Randy
| |