Re: [PATCH v1 1/4] clk: samsung: change COMMON_CLK_SAMSUNG default config logic

From: Krzysztof Kozlowski
Date: Thu Sep 23 2021 - 12:27:51 EST


On 23/09/2021 16:18, Lee Jones wrote:
>> Thanks Lee, you described the use case. In general I like it and support
>> it, except for what I wrote in the other mail.
>>
>> Vendor does not contribute much therefore there is no balance in
>> upstreaming. Since none of other vendor's platforms are supported, I am
>> looking only at what is supported. From that perspective - the change
>> proposed by Will and previous guys, does not have much sense.
>>
>> My perspective probably would change a lot if vendor did contribute some
>> of its non-edge platforms (3-5 years old)... especially that unlike few
>> community guys (e.g. PostmarketOS), vendor has shit-tons of money and
>> the hardware manuals. :)
>
> But no incentive to upstream code old (dead) platforms that they no
> longer make money from. We're not talking about kind-hearted
> individuals here. These are business entities.
>
> What is the business incentive to put hundreds of thousands of dollars
> into something with no RoI?

Before you mentioned business entities refrain from upstreaming recent
hardware. You question upstreaming not that recent, so basically
business entity will claim it has zero incentives working with upstream.

Actually there are incentives for both cases - better code quality for
the pieces being base for future devices, selling mainline supported
hardware to other businesses, eventually less work for themselves around
keeping code in sync with mainline. All these are of course difficult to
measure from business perspective.

>
>> Instead of pushing this change, please let's give some incentive to the
>> vendor for upstreaming anything.
>
> Again, you're being specific. We would also like/need to make the
> same kinds of changes to other vendor configurations. One's which do
> contribute significantly at their own cost.

Yes, I am specific because we talk here about specfic Kconfig changes
for one specific ARM sub-architecture. Same set of changes can be
applied to other SoCs and usually have more sense there because number
of upstream platforms is bigger.

If you have 10 different pinctrl drivers, you might decide to narrow the
defconfigs to subset of it. If you have 2-3, the extra complexity does
not matter and you just enable all of them. That's also decision we made
few years ago internally in Samsung.

> The technical reasoning cannot be different because you do or don't
> like the way the company operates. Try to detach a little from
> your feelings during discussions which should be purely technical.

I mentioned the less-contributing vendor arguments because you said:

>> Vendors are not able to upstream all functionality right away

That's the side-topic in this discussion.

Technically, all supported Exynos platforms require selecting
ARCH_EXYNOS and require all drivers selected by ARCH_EXYNOS. If you
mention some unsupported out-of-tree platforms, which I cannot
audit/see/use, it is not a valid reason to change statement above. Make
them supported, available to audit and check and statement above stops
being valid.

Best regards,
Krzysztof