On Wed, Dec 25, 2013 at 5:42 AM, Hans de Goede <hdegoede(a)redhat.com> wrote:
Hi All,
[ Apologies for the delayed reply. I actually turned off all my
computers during PTO this time around. ]
As you probably know in my spare time I'm working on Linux
Allwinner SoC
support.
We (the linux-sunxi community) are currently making good progress on getting
Allwinner SoCs supported in the upstream kernel. It looks like the majority
of it will land in 3.14 and 3.15. As such I believe the time has come to
start supporting Allwinner SoCs with the official Fedora kernels ootb for
F-21.
I've written a Feature page for this, which you can find here:
https://fedoraproject.org/wiki/Changes/AllwinnerSunxiSupport
This will likely require carrying some kernel patches for 1-2 kernel
releases,
until all the necessary bits for headless operation have landed upstream.
As always I'm willing to put my time were my work is, and I'll maintain
these
patches for as long as necessary. To give you an idea of where things are
going, here is a break down of the tree I'm currently using for testing
and development, see:
https://github.com/linux-sunxi/linux-sunxi/commits/sunxi-devel
This branch contains 3.13-rc5
+ the following, which should all go upstream for 3.14:
https://github.com/mripard/linux/commits/sunxi-clk-for-3.13
https://github.com/mripard/linux/commits/sunxi-drivers-for-3.14
https://github.com/mripard/linux/commits/sunxi-core-for-3.14
https://github.com/mripard/linux/commits/sunxi-dt-for-3.14
sunxi-bits of:
https://git.linaro.org/people/daniel.lezcano/linux.git/shortlog/refs/head...
Emilio's "[PATCH v3 00/13] clk: sunxi: add PLL5 and PLL6 support" series
So rawhide (F21) just rolls along. It's at 3.13-rc7, and it will move
to 3.14 merge window kernels roughly a week or so after 3.13 final is
released. If we picked up patches for this, I'd rather just wait for
all of that to be merged during the 3.14 merge window rather than pick
it up right now. It's still well within the timeframe of F21 and I
don't have to suffer through patches failing to apply during the 3.14
merge window.
+ the following which is not quite ready for 3.14 yet, but people
are working hard to get it ready so hopefully we will see some of
it in 3.14, and the rest should make 3.15:
Emilio's sunxi-clk branch: patches not part of the above set
David's and mine sunxi-mmc work
Chen's gmac work
Oliver's ahci work
Arokux' ehci work
mripard's "ARM: sunxi: Add A31 High Speed Timer Support" series
wens' "v2 of A20 external output clock support patch series"
hansg's resistive touchscreen controller driver (rtp) including temp sensor
support
Of the above list, we should at a minimum carry the mmc, gmac (gigabit nic)
and
ahci patches if those don't get upstream in time. USB support would also be
very nice,
but is not a must have. The last 3 patch-sets we don't need.
The rest of those (and anything that didn't make 3.14) could be picked
up after 3.14-rc1, since most of the merge fallout is dealt with by
then. Do the above approaches seem reasonable?
I do have a broader question. I understand the importance and
thoughts behind bringing device support in for a popular board before
it's upstream. You want to attract users to Fedora ARM, etc. It
makes some sense and lets people play with their shiny toys with a
minimum amount of hassle.
However, it's a double edge sword. As we've seen with BBB to a
degree, sometimes things don't work after a kernel version bump and
then their toys are broken and they go back to using vendor kernels or
other distros. I worry that by bringing in these things before
they're upstream ready to attract users, we're also setting them up
for the very hassles we're trying to avoid. So, in your estimation,
how possible are rebases and other changes likely to cause issues with
AllWinner devices?
BTW, I am not putting the BBB work down or picking on it. I know
Peter has worked diligently at fixing things as they pop up and it is
much appreciated. It's simply a situation that arises as we grab
patches that aren't clearly destined for a release or that haven't had
the best upstream testing, etc.
josh