Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1296752 > unrolled thread
| Started by | Andre Przywara <andre.przywara@arm.com> |
|---|---|
| First post | 2015-12-22 13:30 +0100 |
| Last post | 2015-12-28 03:50 +0100 |
| Articles | 12 — 5 participants |
Back to article view | Back to linux.kernel
[RFC PATCH 0/5] arm64: prepare for basic Allwinner support Andre Przywara <andre.przywara@arm.com> - 2015-12-22 13:30 +0100
[RFC PATCH 5/5] arm64: Introduce Allwinner SoC config option Andre Przywara <andre.przywara@arm.com> - 2015-12-22 13:30 +0100
[RFC PATCH 2/5] crypto: sunxi-ss: fix min3() call to match types Andre Przywara <andre.przywara@arm.com> - 2015-12-22 13:30 +0100
Re: [RFC PATCH 2/5] crypto: sunxi-ss: fix min3() call to match types Arnd Bergmann <arnd@arndb.de> - 2015-12-22 23:10 +0100
Re: [RFC PATCH 2/5] crypto: sunxi-ss: fix min3() call to match types André Przywara <andre.przywara@arm.com> - 2015-12-23 01:10 +0100
[RFC PATCH 3/5] crypto: sunxi-ss: fix dev_dbg() output type Andre Przywara <andre.przywara@arm.com> - 2015-12-22 13:30 +0100
Re: [RFC PATCH 3/5] crypto: sunxi-ss: fix dev_dbg() output type Arnd Bergmann <arnd@arndb.de> - 2015-12-22 23:10 +0100
Re: [RFC PATCH 3/5] crypto: sunxi-ss: fix dev_dbg() output type Corentin LABBE <clabbe.montjoie@gmail.com> - 2015-12-24 14:00 +0100
Re: [RFC PATCH 3/5] crypto: sunxi-ss: fix dev_dbg() output type Maxime Ripard <maxime.ripard@free-electrons.com> - 2015-12-28 03:50 +0100
[RFC PATCH 4/5] irqchip: sun4i: fix compilation outside of arch/arm Andre Przywara <andre.przywara@arm.com> - 2015-12-22 13:30 +0100
Re: [RFC PATCH 4/5] irqchip: sun4i: fix compilation outside of arch/arm Arnd Bergmann <arnd@arndb.de> - 2015-12-22 23:10 +0100
Re: [RFC PATCH 4/5] irqchip: sun4i: fix compilation outside of arch/arm Maxime Ripard <maxime.ripard@free-electrons.com> - 2015-12-28 03:50 +0100
| From | Andre Przywara <andre.przywara@arm.com> |
|---|---|
| Date | 2015-12-22 13:30 +0100 |
| Subject | [RFC PATCH 0/5] arm64: prepare for basic Allwinner support |
| Message-ID | <qIueK-3Tt-3@gated-at.bofh.it> |
This is a first step for introducing support for the Allwinner A64 SoC that made a recent appearance on the Pine A64 board featured on Kickstarter. This mini-series prepares the ground by allowing ARCH_SUNXI to be defined for an arm64 kernel. The patches fix some minor warnings which appear when Allwinner (aka. sunxi) drivers are compiled for a 64-bit architecture. Due to a lack of official documentation and hardware availability this doesn't go any further at this moment. Please have a look and comment! Cheers, Andre. Andre Przywara (5): drivers: sunxi-rsb: fix error output type crypto: sunxi-ss: fix min3() call to match types crypto: sunxi-ss: fix dev_dbg() output type irqchip: sun4i: fix compilation outside of arch/arm arm64: Introduce Allwinner SoC config option arch/arm64/Kconfig.platforms | 5 +++++ drivers/bus/sunxi-rsb.c | 4 ++-- drivers/crypto/sunxi-ss/sun4i-ss-cipher.c | 14 +++++++------- drivers/crypto/sunxi-ss/sun4i-ss-hash.c | 8 ++++---- drivers/irqchip/irq-sun4i.c | 1 - 5 files changed, 18 insertions(+), 14 deletions(-) -- 2.5.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Andre Przywara <andre.przywara@arm.com> |
|---|---|
| Date | 2015-12-22 13:30 +0100 |
| Subject | [RFC PATCH 5/5] arm64: Introduce Allwinner SoC config option |
| Message-ID | <qIueK-3Tt-11@gated-at.bofh.it> |
| In reply to | #1296752 |
To prepare for supporting the Allwinner A64 SoC, introduce a config option to allow compiling Allwinner (aka. sunxi) specific drivers for ARM64. This patch just defines the ARCH_SUNXI symbol to allow Allwinner specific drivers to be selected during kernel configuration. Signed-off-by: Andre Przywara <andre.przywara@arm.com> --- arch/arm64/Kconfig.platforms | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index 4043c35..235e376 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -1,5 +1,10 @@ menu "Platform selection" +config ARCH_SUNXI + bool "Allwinner sunxi 64-bit SoC Family" + help + This enables support for Allwinner sunxi based SoCs like the A64. + config ARCH_BCM_IPROC bool "Broadcom iProc SoC Family" help -- 2.5.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Andre Przywara <andre.przywara@arm.com> |
|---|---|
| Date | 2015-12-22 13:30 +0100 |
| Subject | [RFC PATCH 2/5] crypto: sunxi-ss: fix min3() call to match types |
| Message-ID | <qIueK-3Tt-15@gated-at.bofh.it> |
| In reply to | #1296752 |
The min3() macro expects all arguments to be of the same type (or
size at least). While two arguments are ints or u32s, one is size_t,
which does not match on 64-bit architectures.
Cast the size_t to u32 to make min3() happy. In this context here the
length should never exceed 32 bits anyway.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
drivers/crypto/sunxi-ss/sun4i-ss-cipher.c | 12 ++++++------
drivers/crypto/sunxi-ss/sun4i-ss-hash.c | 8 ++++----
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c b/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c
index a19ee12..b3bc7bd 100644
--- a/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c
+++ b/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c
@@ -79,7 +79,7 @@ static int sun4i_ss_opti_poll(struct ablkcipher_request *areq)
oi = 0;
oo = 0;
do {
- todo = min3(rx_cnt, ileft, (mi.length - oi) / 4);
+ todo = min3(rx_cnt, ileft, (u32)(mi.length - oi) / 4);
if (todo > 0) {
ileft -= todo;
writesl(ss->base + SS_RXFIFO, mi.addr + oi, todo);
@@ -94,7 +94,7 @@ static int sun4i_ss_opti_poll(struct ablkcipher_request *areq)
rx_cnt = SS_RXFIFO_SPACES(spaces);
tx_cnt = SS_TXFIFO_SPACES(spaces);
- todo = min3(tx_cnt, oleft, (mo.length - oo) / 4);
+ todo = min3(tx_cnt, oleft, (u32)(mo.length - oo) / 4);
if (todo > 0) {
oleft -= todo;
readsl(ss->base + SS_TXFIFO, mo.addr + oo, todo);
@@ -216,7 +216,7 @@ static int sun4i_ss_cipher_poll(struct ablkcipher_request *areq)
* todo is the number of consecutive 4byte word that we
* can read from current SG
*/
- todo = min3(rx_cnt, ileft / 4, (mi.length - oi) / 4);
+ todo = min3(rx_cnt, ileft / 4, (u32)(mi.length - oi) / 4);
if (todo > 0 && ob == 0) {
writesl(ss->base + SS_RXFIFO, mi.addr + oi,
todo);
@@ -231,7 +231,7 @@ static int sun4i_ss_cipher_poll(struct ablkcipher_request *areq)
* pass, so it is why we min() with rx_cnt
*/
todo = min3(rx_cnt * 4 - ob, ileft,
- mi.length - oi);
+ (u32)mi.length - oi);
memcpy(buf + ob, mi.addr + oi, todo);
ileft -= todo;
oi += todo;
@@ -260,7 +260,7 @@ static int sun4i_ss_cipher_poll(struct ablkcipher_request *areq)
if (tx_cnt == 0)
continue;
/* todo in 4bytes word */
- todo = min3(tx_cnt, oleft / 4, (mo.length - oo) / 4);
+ todo = min3(tx_cnt, oleft / 4, (u32)(mo.length - oo) / 4);
if (todo > 0) {
readsl(ss->base + SS_TXFIFO, mo.addr + oo, todo);
oleft -= todo * 4;
@@ -284,7 +284,7 @@ static int sun4i_ss_cipher_poll(struct ablkcipher_request *areq)
* no more than remaining buffer
* no need to test against oleft
*/
- todo = min(mo.length - oo, obl - obo);
+ todo = min((u32)mo.length - oo, obl - obo);
memcpy(mo.addr + oo, bufo + obo, todo);
oleft -= todo;
obo += todo;
diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-hash.c b/drivers/crypto/sunxi-ss/sun4i-ss-hash.c
index ff80314..cd29009 100644
--- a/drivers/crypto/sunxi-ss/sun4i-ss-hash.c
+++ b/drivers/crypto/sunxi-ss/sun4i-ss-hash.c
@@ -245,7 +245,7 @@ int sun4i_hash_update(struct ahash_request *areq)
*/
while (op->len < 64 && i < end) {
/* how many bytes we can read from current SG */
- in_r = min3(mi.length - in_i, end - i,
+ in_r = min3((u32)mi.length - in_i, end - i,
64 - op->len);
memcpy(op->buf + op->len, mi.addr + in_i, in_r);
op->len += in_r;
@@ -266,8 +266,8 @@ int sun4i_hash_update(struct ahash_request *areq)
}
if (mi.length - in_i > 3 && i < end) {
/* how many bytes we can read from current SG */
- in_r = min3(mi.length - in_i, areq->nbytes - i,
- ((mi.length - in_i) / 4) * 4);
+ in_r = min3((u32)mi.length - in_i, areq->nbytes - i,
+ ((u32)(mi.length - in_i) / 4) * 4);
/* how many bytes we can write in the device*/
todo = min3((u32)(end - i) / 4, rx_cnt, (u32)in_r / 4);
writesl(ss->base + SS_RXFIFO, mi.addr + in_i, todo);
@@ -289,7 +289,7 @@ int sun4i_hash_update(struct ahash_request *areq)
if ((areq->nbytes - i) < 64) {
while (i < areq->nbytes && in_i < mi.length && op->len < 64) {
/* how many bytes we can read from current SG */
- in_r = min3(mi.length - in_i, areq->nbytes - i,
+ in_r = min3((u32)mi.length - in_i, areq->nbytes - i,
64 - op->len);
memcpy(op->buf + op->len, mi.addr + in_i, in_r);
op->len += in_r;
--
2.5.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2015-12-22 23:10 +0100 |
| Subject | Re: [RFC PATCH 2/5] crypto: sunxi-ss: fix min3() call to match types |
| Message-ID | <qIDi1-1cT-13@gated-at.bofh.it> |
| In reply to | #1296755 |
On Tuesday 22 December 2015, Andre Przywara wrote: > The min3() macro expects all arguments to be of the same type (or > size at least). While two arguments are ints or u32s, one is size_t, > which does not match on 64-bit architectures. > Cast the size_t to u32 to make min3() happy. In this context here the > length should never exceed 32 bits anyway. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> Looks correct, but a bit ugly. Could we avoid the casts by using temporary variables to keep the size_t based data? Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | André Przywara <andre.przywara@arm.com> |
|---|---|
| Date | 2015-12-23 01:10 +0100 |
| Subject | Re: [RFC PATCH 2/5] crypto: sunxi-ss: fix min3() call to match types |
| Message-ID | <qIFaa-2sG-17@gated-at.bofh.it> |
| In reply to | #1297086 |
Hi Arnd, On 12/22/15 22:06, Arnd Bergmann wrote: > On Tuesday 22 December 2015, Andre Przywara wrote: >> The min3() macro expects all arguments to be of the same type (or >> size at least). While two arguments are ints or u32s, one is size_t, >> which does not match on 64-bit architectures. >> Cast the size_t to u32 to make min3() happy. In this context here the >> length should never exceed 32 bits anyway. >> >> Signed-off-by: Andre Przywara <andre.przywara@arm.com> > > Looks correct, but a bit ugly. Could we avoid the casts by using > temporary variables to keep the size_t based data? I guess this gets even uglier, but I found a better solution by promoting the other involved variables to size_t in this function. This works nicely for most of the cases, I just need two size_t casts now. Will send an updated version soon. Cheers, Andre. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Andre Przywara <andre.przywara@arm.com> |
|---|---|
| Date | 2015-12-22 13:30 +0100 |
| Subject | [RFC PATCH 3/5] crypto: sunxi-ss: fix dev_dbg() output type |
| Message-ID | <qIueK-3Tt-19@gated-at.bofh.it> |
| In reply to | #1296752 |
The length parameter in this dev_dbg() call is actually a size_t, so use the proper type to avoid warnings when compiling for 64-bit architectures. Signed-off-by: Andre Przywara <andre.przywara@arm.com> --- drivers/crypto/sunxi-ss/sun4i-ss-cipher.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c b/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c index b3bc7bd..af2690c 100644 --- a/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c +++ b/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c @@ -251,7 +251,7 @@ static int sun4i_ss_cipher_poll(struct ablkcipher_request *areq) spaces = readl(ss->base + SS_FCSR); rx_cnt = SS_RXFIFO_SPACES(spaces); tx_cnt = SS_TXFIFO_SPACES(spaces); - dev_dbg(ss->dev, "%x %u/%u %u/%u cnt=%u %u/%u %u/%u cnt=%u %u %u\n", + dev_dbg(ss->dev, "%x %u/%zu %u/%u cnt=%u %u/%zu %u/%u cnt=%u %u %u\n", mode, oi, mi.length, ileft, areq->nbytes, rx_cnt, oo, mo.length, oleft, areq->nbytes, tx_cnt, -- 2.5.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2015-12-22 23:10 +0100 |
| Subject | Re: [RFC PATCH 3/5] crypto: sunxi-ss: fix dev_dbg() output type |
| Message-ID | <qIDi2-1cT-17@gated-at.bofh.it> |
| In reply to | #1296756 |
On Tuesday 22 December 2015, Andre Przywara wrote: > The length parameter in this dev_dbg() call is actually a size_t, > so use the proper type to avoid warnings when compiling for 64-bit > architectures. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Arnd Bergmann <arnd@arndb.de> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Corentin LABBE <clabbe.montjoie@gmail.com> |
|---|---|
| Date | 2015-12-24 14:00 +0100 |
| Subject | Re: [RFC PATCH 3/5] crypto: sunxi-ss: fix dev_dbg() output type |
| Message-ID | <qJdES-6Ob-9@gated-at.bofh.it> |
| In reply to | #1296756 |
Le 22/12/2015 13:27, Andre Przywara a écrit : > The length parameter in this dev_dbg() call is actually a size_t, > so use the proper type to avoid warnings when compiling for 64-bit > architectures. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > --- > drivers/crypto/sunxi-ss/sun4i-ss-cipher.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c b/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c > index b3bc7bd..af2690c 100644 > --- a/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c > +++ b/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c > @@ -251,7 +251,7 @@ static int sun4i_ss_cipher_poll(struct ablkcipher_request *areq) > spaces = readl(ss->base + SS_FCSR); > rx_cnt = SS_RXFIFO_SPACES(spaces); > tx_cnt = SS_TXFIFO_SPACES(spaces); > - dev_dbg(ss->dev, "%x %u/%u %u/%u cnt=%u %u/%u %u/%u cnt=%u %u %u\n", > + dev_dbg(ss->dev, "%x %u/%zu %u/%u cnt=%u %u/%zu %u/%u cnt=%u %u %u\n", > mode, > oi, mi.length, ileft, areq->nbytes, rx_cnt, > oo, mo.length, oleft, areq->nbytes, tx_cnt, > Acked-by: LABBE Corentin <clabbe.montjoie@gmail.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Maxime Ripard <maxime.ripard@free-electrons.com> |
|---|---|
| Date | 2015-12-28 03:50 +0100 |
| Subject | Re: [RFC PATCH 3/5] crypto: sunxi-ss: fix dev_dbg() output type |
| Message-ID | <qKw3v-3Io-989@gated-at.bofh.it> |
| In reply to | #1296756 |
[Multipart message — attachments visible in raw view] — view raw
On Tue, Dec 22, 2015 at 12:27:45PM +0000, Andre Przywara wrote: > The length parameter in this dev_dbg() call is actually a size_t, > so use the proper type to avoid warnings when compiling for 64-bit > architectures. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
[toc] | [prev] | [next] | [standalone]
| From | Andre Przywara <andre.przywara@arm.com> |
|---|---|
| Date | 2015-12-22 13:30 +0100 |
| Subject | [RFC PATCH 4/5] irqchip: sun4i: fix compilation outside of arch/arm |
| Message-ID | <qIueL-3Tt-29@gated-at.bofh.it> |
| In reply to | #1296752 |
The Allwinner sunxi specific interrupt controller cannot be compiled for any architecture except arm: drivers/irqchip/irq-sun4i.c:25:26: fatal error: asm/mach/irq.h: No such file or directory compilation terminated. It turns out that this header is actually not needed for the driver, so remove it and allow compilation for other architectures like arm64. Signed-off-by: Andre Przywara <andre.przywara@arm.com> --- drivers/irqchip/irq-sun4i.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c index 0704362..376b280 100644 --- a/drivers/irqchip/irq-sun4i.c +++ b/drivers/irqchip/irq-sun4i.c @@ -22,7 +22,6 @@ #include <linux/of_irq.h> #include <asm/exception.h> -#include <asm/mach/irq.h> #define SUN4I_IRQ_VECTOR_REG 0x00 #define SUN4I_IRQ_PROTECTION_REG 0x08 -- 2.5.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2015-12-22 23:10 +0100 |
| Subject | Re: [RFC PATCH 4/5] irqchip: sun4i: fix compilation outside of arch/arm |
| Message-ID | <qIDi2-1cT-29@gated-at.bofh.it> |
| In reply to | #1296757 |
On Tuesday 22 December 2015, Andre Przywara wrote: > The Allwinner sunxi specific interrupt controller cannot be compiled > for any architecture except arm: > > drivers/irqchip/irq-sun4i.c:25:26: fatal error: asm/mach/irq.h: No such file or directory > compilation terminated. > > It turns out that this header is actually not needed for the driver, > so remove it and allow compilation for other architectures like > arm64. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Arnd Bergmann <arnd@arndb.de> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Maxime Ripard <maxime.ripard@free-electrons.com> |
|---|---|
| Date | 2015-12-28 03:50 +0100 |
| Subject | Re: [RFC PATCH 4/5] irqchip: sun4i: fix compilation outside of arch/arm |
| Message-ID | <qKw3j-3Io-741@gated-at.bofh.it> |
| In reply to | #1296757 |
[Multipart message — attachments visible in raw view] — view raw
Hi, On Tue, Dec 22, 2015 at 12:27:46PM +0000, Andre Przywara wrote: > The Allwinner sunxi specific interrupt controller cannot be compiled > for any architecture except arm: > > drivers/irqchip/irq-sun4i.c:25:26: fatal error: asm/mach/irq.h: No such file or directory > compilation terminated. > > It turns out that this header is actually not needed for the driver, > so remove it and allow compilation for other architectures like > arm64. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web