Re: [PATCH v1 2/4] soc: samsung: change SOC_SAMSUNG default config logic

From: Krzysztof Kozlowski
Date: Tue Sep 21 2021 - 14:21:16 EST


On 21/09/2021 19:45, Will McVicker wrote:
> On Tue, Sep 21, 2021 at 1:19 AM Lee Jones <lee.jones@xxxxxxxxxx> wrote:
>>
>> On Tue, 21 Sep 2021, Krzysztof Kozlowski wrote:
>>
>>> On 20/09/2021 21:03, Will McVicker wrote:
>>>> Switch the default logic to enable SOC_SAMSUNG and it's sub-configs to
>>>> be enabled by default via "default y if ARCH_EXYNOS" versus being
>>>> selected by the ARCH_EXYNOS config directly. This allows vendors to
>>>> disable these configs if they wish and provides additional flexibility
>>>> to modularize them in the presence of a generic kernel.
>>>
>>> This is not true. Vendors cannot disable these options as they are not
>>> visible.
>>
>> Good point, well made.
>>
>>> Although I understand that Arnd prefers this way and I do not
>>> object it, but your explanation is incorrect.
>
> Thanks Krzysztof for the reviews! I'm sorry I missed the whole "hidden
> configs" part. I'll upload the series to include the fix that refactos
> the Samsung SoC drivers menuconfig which will address that and allow
> one to enable/disable those configs. I'm going to hold off though
> until we hash out the rest of the discussion in the cover letter
> email.

No, please first read our discussions, including Lee's and Geert's
comments. The drivers should not be converted to modules or made visible
if such configuration does not work. If it works, please describe your
testing setup.

All these drivers are *necessary* for a multiplatform kernel supporting
Exynos platforms, therefore disabling them does not make any sense (if
you support Exynos platform). If your kernel does not support Exynos
platform, just do not select ARCH_EXYNOS and problem disappears because
none of these drivers will be visible and selected.

Unless you describe here some out-of-tree kernel which wants
ARCH_EXYNOS, because vendor did not upstream it's code, but you do not
want existing Exynos upstream drivers. We do not support such
configuration. Please push your lovely vendor to work with upstream.
That's the only solution.

It's the third time this abuse re-usage of ARCH_EXYNOS appears and the
same as before - the vendor does not like to upstream stuff. There are
few guys trying to upstream recent Samsung SoC support by themself (ping
me for contacts if you would like to participate) but the one party
which should be doing it - the lovely vendor - does not actually
participate and instead sends ridiculous patches like this one here...
or like this [1] [2].

Nope, please work with upstreaming SoC support, instead of abusing
ARCH_EXYNOS for out of tree code from the vendor.

[1]
https://lore.kernel.org/linux-samsung-soc/001001d5a03d$05de1f70$119a5e50$@samsung.com/

[2]
https://lore.kernel.org/linux-usb/20210303022628.6540-1-taehyun.cho@xxxxxxxxxxx/

Best regards,
Krzysztof