
Hi,
On 02/03/18 15:58, Maxime Ripard wrote:
On Fri, Mar 02, 2018 at 12:56:52AM +0000, Andre Przywara wrote:
Linux kernels before 4.12-rc1 don't know about the AXP803 PMIC, so can't enable the MMC driver with the current DT anymore, because that now depends on this regulator.
Given that only I2C, USB and MMC were supported at the time, is it really worth it? There's a lot of incentive to move to a newer kernel given the minimal support it had at the time.
Yeah, this is somewhat true, although serial, USB and MMC are somewhat enough if one uses a USB Ethernet or WiFi adapter. And the kernel choice might not always a decision of the user (thinking of distributions here). But I was actually unsure about this as well, and wanted to hear some opinions.
One thing that comes to mind is other OSes. Does anyone know how if for instance FreeBSD supports the AXP and its Linux bindings? The whole goal of this series is to allow booting OSes with U-Boot's DT copy ($fdtcontroladdr), so if this patch would make their life easier, it might be worth it.
Regarding the whole forward/backward compatibility: I clearly see the difficulty in coming up with a "perfect" DT from day one, especially for badly documented SoCs, where mainlining is driven by hobbyists. So I was wondering if we introduce a grace period, where we declare the DT "unstable" or "subject to incompatible changes" for some releases (not too many). In hindsight we might declare 4.12 the stable DT base for the A64, for instance. This would allow us to start upstreaming early, with a small feature set only (just serial + clocks + pinctrl, as for the H6). Additional features (PMIC) might then add small incompatibilities (like this one here), until we are reasonably confident about the DT. Does that sound useful?
So I am not insisting on this patch, but wanted to point out the problems that those seemingly innocent DT changes create and would be happy if we can at least try to avoid them in the future.
Cheers, Andre.