Companies will have to update their kernel to a newer version over the lifespan of the device in order to stay in compliance.
As I heard recently in a meeting with one Android vendor, "Android updates consist of over 2000 programs updated to the latest version, what's so hard about adding 1 more to it?"
So if the requirement from Android to have a 6 year supported kernel version is now gone, maybe we don't have to do it upstream either? That will make so many people very happy.
Also, Apple has been doing this for a long time for their devices, why do people feel it is somehow impossible? :)
@tylersaunders@gregkh It's only insane because Android doesn't enforce an upstream-first policy for drivers as part of Android certification.
Regular Linux distributions are able to support a wide range of devices and form factors because it's all part of the upstream kernel, which drastically simplifies things. Android doesn't have that yet.
@Conan_Kudo@tylersaunders ChromeOS has that "rule" and it's regularly flaunted for some subsystems for various, good, reasons.
As you well know, a SoC is a few orders of magnitude more complex than your normal server/desktop so the amount of drivers and kernel code to control it is almost double, and the code sharing from common IP blocks is much less than ideal. So trying to get all code upstream is a task that no SoC vendor seems willing to attempt until much later in the device cycle.
Yes, it would be cheaper and faster to do the work up front to get the code upstream, but SoC vendors have code to burn (actual quote from a QCOM manager to me) and no individual project wants to take the time-hit to save future products time on their upstream work (i.e. short term vs. long term incentives.)
The only real solution is if vendors put in their contracts "code must be upstream" before they buy the chips, that's what fixed it in the Enterprise server space decades ago. But right now, due to an almost monopoly in the SoC market, no one can afford to add that to contracts when making a new phone.
So you have it all here, technical complexity, short-term product deadlines, too much money to care about the problem, and monopolistic markets. Something for everyone to complain about and no single way to solve it.
@gregkh@tylersaunders Yeah, you're right. And yes, I sadly *do* know about the SoC monopoly issue that is the underlying cause of all this. In theory, there are lots of ARM vendors. In practice, there's just one that everyone buys from.