* [PATCH] OF: MIPS: sead3: Implement OF support.
@ 2012-12-07 5:14 Steven J. Hill
2012-12-07 7:40 ` John Crispin
2012-12-12 14:29 ` Florian Fainelli
0 siblings, 2 replies; 10+ messages in thread
From: Steven J. Hill @ 2012-12-07 5:14 UTC (permalink / raw)
To: linux-mips; +Cc: Steven J. Hill, ralf
From: "Steven J. Hill" <sjhill@mips.com>
Activate USE_OF for SEAD-3 platform. Add basic DTS file and convert
memory detection and reservations to use OF.
Signed-off-by: Steven J. Hill <sjhill@mips.com>
---
arch/mips/Kconfig | 1 +
arch/mips/include/asm/mips-boards/prom.h | 2 +
arch/mips/mti-sead3/Makefile | 14 ++-
arch/mips/mti-sead3/sead3-init.c | 5 +-
arch/mips/mti-sead3/sead3-memory.c | 138 ------------------------------
arch/mips/mti-sead3/sead3-setup.c | 31 +++++++
arch/mips/mti-sead3/sead3.dts | 26 ++++++
7 files changed, 76 insertions(+), 141 deletions(-)
delete mode 100644 arch/mips/mti-sead3/sead3-memory.c
create mode 100644 arch/mips/mti-sead3/sead3.dts
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 07f2dff..4dad4c6 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -354,6 +354,7 @@ config MIPS_SEAD3
select USB_ARCH_HAS_EHCI
select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
+ select USE_OF
help
This enables support for the MIPS Technologies SEAD3 evaluation
board.
diff --git a/arch/mips/include/asm/mips-boards/prom.h b/arch/mips/include/asm/mips-boards/prom.h
index a9db576..2d427aa 100644
--- a/arch/mips/include/asm/mips-boards/prom.h
+++ b/arch/mips/include/asm/mips-boards/prom.h
@@ -44,4 +44,6 @@ struct prom_pmemblock {
unsigned int type; /* free or prom memory */
};
+extern struct boot_param_header __dtb_start;
+
#endif /* !(_MIPS_PROM_H) */
diff --git a/arch/mips/mti-sead3/Makefile b/arch/mips/mti-sead3/Makefile
index 626afea..e2ace8a 100644
--- a/arch/mips/mti-sead3/Makefile
+++ b/arch/mips/mti-sead3/Makefile
@@ -5,10 +5,12 @@
# Copyright (C) 2008 Wind River Systems, Inc.
# written by Ralf Baechle <ralf@linux-mips.org>
#
+# Copyright (C) 2012 MIPS Technoligies, Inc. All rights reserved.
+# Steven J. Hill <sjhill@mips.com>
+#
obj-y := sead3-lcd.o sead3-cmdline.o \
sead3-display.o sead3-init.o sead3-int.o \
- sead3-mtd.o sead3-net.o \
- sead3-memory.o sead3-platform.o \
+ sead3-mtd.o sead3-net.o sead3-platform.o \
sead3-reset.o sead3-setup.o sead3-time.o
obj-y += sead3-i2c-dev.o sead3-i2c.o \
@@ -17,3 +19,11 @@ obj-y += sead3-i2c-dev.o sead3-i2c.o \
obj-$(CONFIG_EARLY_PRINTK) += sead3-console.o
obj-$(CONFIG_USB_EHCI_HCD) += sead3-ehci.o
+
+DTS_FILES = sead3.dts
+DTB_FILES = $(patsubst %.dts, %.dtb, $(DTS_FILES))
+
+obj-y += $(patsubst %.dts, %.dtb.o, $(DTS_FILES))
+
+$(obj)/%.dtb: $(obj)/%.dts FORCE
+ $(call if_changed_dep,dtc)
diff --git a/arch/mips/mti-sead3/sead3-init.c b/arch/mips/mti-sead3/sead3-init.c
index 802fce2..6939254 100644
--- a/arch/mips/mti-sead3/sead3-init.c
+++ b/arch/mips/mti-sead3/sead3-init.c
@@ -125,7 +125,6 @@ void __init prom_init(void)
board_ejtag_handler_setup = mips_ejtag_setup;
prom_init_cmdline();
- prom_meminit();
#ifdef CONFIG_EARLY_PRINTK
if ((strstr(prom_getcmdline(), "console=ttyS0")) != NULL)
prom_init_early_console(0);
@@ -137,3 +136,7 @@ void __init prom_init(void)
strcat(prom_getcmdline(), " console=ttyS0,38400n8r");
#endif
}
+
+void prom_free_prom_memory(void)
+{
+}
diff --git a/arch/mips/mti-sead3/sead3-memory.c b/arch/mips/mti-sead3/sead3-memory.c
deleted file mode 100644
index da92441..0000000
--- a/arch/mips/mti-sead3/sead3-memory.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
- */
-#include <linux/bootmem.h>
-
-#include <asm/bootinfo.h>
-#include <asm/sections.h>
-#include <asm/mips-boards/prom.h>
-
-enum yamon_memtypes {
- yamon_dontuse,
- yamon_prom,
- yamon_free,
-};
-
-static struct prom_pmemblock mdesc[PROM_MAX_PMEMBLOCKS];
-
-/* determined physical memory size, not overridden by command line args */
-unsigned long physical_memsize = 0L;
-
-struct prom_pmemblock * __init prom_getmdesc(void)
-{
- char *memsize_str, *ptr;
- unsigned int memsize;
- static char cmdline[COMMAND_LINE_SIZE] __initdata;
- long val;
- int tmp;
-
- /* otherwise look in the environment */
- memsize_str = prom_getenv("memsize");
- if (!memsize_str) {
- pr_warn("memsize not set in boot prom, set to default 32Mb\n");
- physical_memsize = 0x02000000;
- } else {
- tmp = kstrtol(memsize_str, 0, &val);
- physical_memsize = (unsigned long)val;
- }
-
-#ifdef CONFIG_CPU_BIG_ENDIAN
- /* SOC-it swaps, or perhaps doesn't swap, when DMA'ing the last
- word of physical memory */
- physical_memsize -= PAGE_SIZE;
-#endif
-
- /* Check the command line for a memsize directive that overrides
- the physical/default amount */
- strcpy(cmdline, arcs_cmdline);
- ptr = strstr(cmdline, "memsize=");
- if (ptr && (ptr != cmdline) && (*(ptr - 1) != ' '))
- ptr = strstr(ptr, " memsize=");
-
- if (ptr)
- memsize = memparse(ptr + 8, &ptr);
- else
- memsize = physical_memsize;
-
- memset(mdesc, 0, sizeof(mdesc));
-
- mdesc[0].type = yamon_dontuse;
- mdesc[0].base = 0x00000000;
- mdesc[0].size = 0x00001000;
-
- mdesc[1].type = yamon_prom;
- mdesc[1].base = 0x00001000;
- mdesc[1].size = 0x000ef000;
-
- /*
- * The area 0x000f0000-0x000fffff is allocated for BIOS memory by the
- * south bridge and PCI access always forwarded to the ISA Bus and
- * BIOSCS# is always generated.
- * This mean that this area can't be used as DMA memory for PCI
- * devices.
- */
- mdesc[2].type = yamon_dontuse;
- mdesc[2].base = 0x000f0000;
- mdesc[2].size = 0x00010000;
-
- mdesc[3].type = yamon_dontuse;
- mdesc[3].base = 0x00100000;
- mdesc[3].size = CPHYSADDR(PFN_ALIGN((unsigned long)&_end)) -
- mdesc[3].base;
-
- mdesc[4].type = yamon_free;
- mdesc[4].base = CPHYSADDR(PFN_ALIGN(&_end));
- mdesc[4].size = memsize - mdesc[4].base;
-
- return &mdesc[0];
-}
-
-static int __init prom_memtype_classify(unsigned int type)
-{
- switch (type) {
- case yamon_free:
- return BOOT_MEM_RAM;
- case yamon_prom:
- return BOOT_MEM_ROM_DATA;
- default:
- return BOOT_MEM_RESERVED;
- }
-}
-
-void __init prom_meminit(void)
-{
- struct prom_pmemblock *p;
-
- p = prom_getmdesc();
-
- while (p->size) {
- long type;
- unsigned long base, size;
-
- type = prom_memtype_classify(p->type);
- base = p->base;
- size = p->size;
-
- add_memory_region(base, size, type);
- p++;
- }
-}
-
-void __init prom_free_prom_memory(void)
-{
- unsigned long addr;
- int i;
-
- for (i = 0; i < boot_mem_map.nr_map; i++) {
- if (boot_mem_map.map[i].type != BOOT_MEM_ROM_DATA)
- continue;
-
- addr = boot_mem_map.map[i].addr;
- free_init_pages("prom memory",
- addr, addr + boot_mem_map.map[i].size);
- }
-}
diff --git a/arch/mips/mti-sead3/sead3-setup.c b/arch/mips/mti-sead3/sead3-setup.c
index 8ad46ad..83faf68 100644
--- a/arch/mips/mti-sead3/sead3-setup.c
+++ b/arch/mips/mti-sead3/sead3-setup.c
@@ -6,6 +6,11 @@
* Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
*/
#include <linux/init.h>
+#include <linux/of_platform.h>
+#include <linux/of_fdt.h>
+#include <linux/bootmem.h>
+
+#include <asm/prom.h>
int coherentio; /* 0 => no DMA cache coherency (may be set by user) */
int hw_coherentio; /* 0 => no HW DMA cache coherency (reflects real HW) */
@@ -17,4 +22,30 @@ const char *get_system_type(void)
void __init plat_mem_setup(void)
{
+ extern struct boot_param_header __dtb_start;
+
+ /*
+ * Load the builtin devicetree. This causes the chosen node to be
+ * parsed resulting in our memory appearing
+ */
+ __dt_setup_arch(&__dtb_start);
+}
+
+void __init device_tree_init(void)
+{
+ unsigned long base, size;
+
+ if (!initial_boot_params)
+ return;
+
+ base = virt_to_phys((void *)initial_boot_params);
+ size = be32_to_cpu(initial_boot_params->totalsize);
+
+ /* Before we do anything, lets reserve the dt blob */
+ reserve_bootmem(base, size, BOOTMEM_DEFAULT);
+
+ unflatten_device_tree();
+
+ /* free the space reserved for the dt blob */
+ free_bootmem(base, size);
}
diff --git a/arch/mips/mti-sead3/sead3.dts b/arch/mips/mti-sead3/sead3.dts
new file mode 100644
index 0000000..7d69bb6
--- /dev/null
+++ b/arch/mips/mti-sead3/sead3.dts
@@ -0,0 +1,26 @@
+/dts-v1/;
+
+/memreserve/ 0x00000000 0x00001000; // reserved
+/memreserve/ 0x00001000 0x000ef000; // ROM data
+/memreserve/ 0x000f0000 0x004cc000; // reserved
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "mips,sead-3";
+
+ cpus {
+ cpu@0 {
+ compatible = "mips,mips14Kc,mips14KEc";
+ };
+ };
+
+ chosen {
+ bootargs = "console=ttyS1,38400 rootdelay=10 root=/dev/sda3";
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x0 0x08000000>;
+ };
+};
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] OF: MIPS: sead3: Implement OF support.
2012-12-07 5:14 [PATCH] OF: MIPS: sead3: Implement OF support Steven J. Hill
@ 2012-12-07 7:40 ` John Crispin
2012-12-12 14:29 ` Florian Fainelli
1 sibling, 0 replies; 10+ messages in thread
From: John Crispin @ 2012-12-07 7:40 UTC (permalink / raw)
To: linux-mips
Hi,
> obj-y += sead3-i2c-dev.o sead3-i2c.o \
> @@ -17,3 +19,11 @@ obj-y += sead3-i2c-dev.o sead3-i2c.o \
>
> obj-$(CONFIG_EARLY_PRINTK) += sead3-console.o
> obj-$(CONFIG_USB_EHCI_HCD) += sead3-ehci.o
> +
> +DTS_FILES = sead3.dts
> +DTB_FILES = $(patsubst %.dts, %.dtb, $(DTS_FILES))
> +
> +obj-y += $(patsubst %.dts, %.dtb.o, $(DTS_FILES))
> +
> +$(obj)/%.dtb: $(obj)/%.dts FORCE
> + $(call if_changed_dep,dtc)
there is a patch already in -next that obseletes this
> +void __init device_tree_init(void)
> +{
> + unsigned long base, size;
> +
> + if (!initial_boot_params)
> + return;
> +
> + base = virt_to_phys((void *)initial_boot_params);
> + size = be32_to_cpu(initial_boot_params->totalsize);
> +
> + /* Before we do anything, lets reserve the dt blob */
> + reserve_bootmem(base, size, BOOTMEM_DEFAULT);
> +
> + unflatten_device_tree();
> +
> + /* free the space reserved for the dt blob */
> + free_bootmem(base, size);
this free is one free too many. it will kill the devcietree. the code
where you copied this from has been fixed in -next
John
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] OF: MIPS: sead3: Implement OF support.
2012-12-07 5:14 [PATCH] OF: MIPS: sead3: Implement OF support Steven J. Hill
2012-12-07 7:40 ` John Crispin
@ 2012-12-12 14:29 ` Florian Fainelli
2012-12-12 14:53 ` Lars-Peter Clausen
1 sibling, 1 reply; 10+ messages in thread
From: Florian Fainelli @ 2012-12-12 14:29 UTC (permalink / raw)
To: Steven J. Hill; +Cc: linux-mips, ralf
Hello Steven,
Le 12/07/12 06:14, Steven J. Hill a écrit :
[snip]
> +/ {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "mips,sead-3";
> +
> + cpus {
> + cpu@0 {
> + compatible = "mips,mips14Kc,mips14KEc";
> + };
You probably want this the other way around:
mips14KEc,mips14Kc,mips
you should always have the left-most string being the most descriptive
about the hardware and the last one being the less descriptive and thus
less "specializing" in order to be backward compatible.
> + };
> +
> + chosen {
> + bootargs = "console=ttyS1,38400 rootdelay=10 root=/dev/sda3";
> + };
> +
> + memory {
> + device_type = "memory";
> + reg = <0x0 0x08000000>;
> + };
> +};
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] OF: MIPS: sead3: Implement OF support.
2012-12-12 14:29 ` Florian Fainelli
@ 2012-12-12 14:53 ` Lars-Peter Clausen
2012-12-12 14:55 ` Ralf Baechle
2012-12-12 14:56 ` Florian Fainelli
0 siblings, 2 replies; 10+ messages in thread
From: Lars-Peter Clausen @ 2012-12-12 14:53 UTC (permalink / raw)
To: Florian Fainelli; +Cc: Steven J. Hill, linux-mips, ralf
On 12/12/2012 03:29 PM, Florian Fainelli wrote:
> Hello Steven,
>
> Le 12/07/12 06:14, Steven J. Hill a écrit :
> [snip]
>
>> +/ {
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + compatible = "mips,sead-3";
>> +
>> + cpus {
>> + cpu@0 {
>> + compatible = "mips,mips14Kc,mips14KEc";
>> + };
>
> You probably want this the other way around:
>
> mips14KEc,mips14Kc,mips
>
> you should always have the left-most string being the most descriptive about
> the hardware and the last one being the less descriptive and thus less
> "specializing" in order to be backward compatible.
This is one compatible string though, what you describe is for when use
multiple compatible string. E.g.
compatible = "mips14KEc", "mips14Kc", "mips";
The "mips" in Stevens patch is probably the vendor prefix. Maybe a more
correct compatible would be.
compatible = "mips,mips14KEc", "mips,mips14Kc";
But in anyway the patch should also add documentation under
Documentation/devicetree/bindings describing the binding.
>
>> + };
>> +
>> + chosen {
>> + bootargs = "console=ttyS1,38400 rootdelay=10 root=/dev/sda3";
>> + };
>> +
>> + memory {
>> + device_type = "memory";
>> + reg = <0x0 0x08000000>;
>> + };
>> +};
>>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] OF: MIPS: sead3: Implement OF support.
2012-12-12 14:53 ` Lars-Peter Clausen
@ 2012-12-12 14:55 ` Ralf Baechle
2012-12-12 15:01 ` Florian Fainelli
2012-12-12 14:56 ` Florian Fainelli
1 sibling, 1 reply; 10+ messages in thread
From: Ralf Baechle @ 2012-12-12 14:55 UTC (permalink / raw)
To: Lars-Peter Clausen; +Cc: Florian Fainelli, Steven J. Hill, linux-mips
On Wed, Dec 12, 2012 at 03:53:32PM +0100, Lars-Peter Clausen wrote:
> This is one compatible string though, what you describe is for when use
> multiple compatible string. E.g.
> compatible = "mips14KEc", "mips14Kc", "mips";
>
> The "mips" in Stevens patch is probably the vendor prefix. Maybe a more
> correct compatible would be.
How about using something like mti (for MIPS Technologies, Inc.) instead
of MIPS to differenciate the architecture from the company name?
Ralf
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] OF: MIPS: sead3: Implement OF support.
2012-12-12 14:53 ` Lars-Peter Clausen
2012-12-12 14:55 ` Ralf Baechle
@ 2012-12-12 14:56 ` Florian Fainelli
2012-12-14 5:02 ` Hill, Steven
1 sibling, 1 reply; 10+ messages in thread
From: Florian Fainelli @ 2012-12-12 14:56 UTC (permalink / raw)
To: Lars-Peter Clausen; +Cc: Steven J. Hill, linux-mips, ralf
Le 12/12/12 15:53, Lars-Peter Clausen a écrit :
> On 12/12/2012 03:29 PM, Florian Fainelli wrote:
>> Hello Steven,
>>
>> Le 12/07/12 06:14, Steven J. Hill a écrit :
>> [snip]
>>
>>> +/ {
>>> + #address-cells = <1>;
>>> + #size-cells = <1>;
>>> + compatible = "mips,sead-3";
>>> +
>>> + cpus {
>>> + cpu@0 {
>>> + compatible = "mips,mips14Kc,mips14KEc";
>>> + };
>> You probably want this the other way around:
>>
>> mips14KEc,mips14Kc,mips
>>
>> you should always have the left-most string being the most descriptive about
>> the hardware and the last one being the less descriptive and thus less
>> "specializing" in order to be backward compatible.
> This is one compatible string though, what you describe is for when use
> multiple compatible string. E.g.
> compatible = "mips14KEc", "mips14Kc", "mips";
>
> The "mips" in Stevens patch is probably the vendor prefix. Maybe a more
> correct compatible would be.
>
> compatible = "mips,mips14KEc", "mips,mips14Kc";
Right, this should be the proper compatible string. Steven's patch does
not make any use of this compatible string right now anyway.
>
> But in anyway the patch should also add documentation under
> Documentation/devicetree/bindings describing the binding.
>
Obviously
--
Florian
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] OF: MIPS: sead3: Implement OF support.
2012-12-12 14:55 ` Ralf Baechle
@ 2012-12-12 15:01 ` Florian Fainelli
2012-12-12 15:12 ` Ralf Baechle
0 siblings, 1 reply; 10+ messages in thread
From: Florian Fainelli @ 2012-12-12 15:01 UTC (permalink / raw)
To: Ralf Baechle; +Cc: Lars-Peter Clausen, Steven J. Hill, linux-mips
Le 12/12/12 15:55, Ralf Baechle a écrit :
> On Wed, Dec 12, 2012 at 03:53:32PM +0100, Lars-Peter Clausen wrote:
>
>> This is one compatible string though, what you describe is for when use
>> multiple compatible string. E.g.
>> compatible = "mips14KEc", "mips14Kc", "mips";
>>
>> The "mips" in Stevens patch is probably the vendor prefix. Maybe a more
>> correct compatible would be.
> How about using something like mti (for MIPS Technologies, Inc.) instead
> of MIPS to differenciate the architecture from the company name?
The convention for vendor prefixes is to use the stock exchange prefix,
giving us "mips". The same problem exist for ARM Ltd. vs architecture
and they use "arm" as a prefix unconditionaly.
--
Florian
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] OF: MIPS: sead3: Implement OF support.
2012-12-12 15:01 ` Florian Fainelli
@ 2012-12-12 15:12 ` Ralf Baechle
2012-12-12 15:15 ` Florian Fainelli
0 siblings, 1 reply; 10+ messages in thread
From: Ralf Baechle @ 2012-12-12 15:12 UTC (permalink / raw)
To: Florian Fainelli; +Cc: Lars-Peter Clausen, Steven J. Hill, linux-mips
On Wed, Dec 12, 2012 at 04:01:59PM +0100, Florian Fainelli wrote:
> The convention for vendor prefixes is to use the stock exchange
> prefix, giving us "mips". The same problem exist for ARM Ltd. vs
> architecture and they use "arm" as a prefix unconditionaly.
ARM is traded at LSE as ARM but on Nasdaq as ARMH. Pick one ;)
Conventions are made to be violated for good reasons ...
Ralf
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] OF: MIPS: sead3: Implement OF support.
2012-12-12 15:12 ` Ralf Baechle
@ 2012-12-12 15:15 ` Florian Fainelli
0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2012-12-12 15:15 UTC (permalink / raw)
To: Ralf Baechle; +Cc: Lars-Peter Clausen, Steven J. Hill, linux-mips
Le 12/12/12 16:12, Ralf Baechle a écrit :
> On Wed, Dec 12, 2012 at 04:01:59PM +0100, Florian Fainelli wrote:
>
>> The convention for vendor prefixes is to use the stock exchange
>> prefix, giving us "mips". The same problem exist for ARM Ltd. vs
>> architecture and they use "arm" as a prefix unconditionaly.
> ARM is traded at LSE as ARM but on Nasdaq as ARMH. Pick one ;)
>
> Conventions are made to be violated for good reasons ...
As I looked into Documentation/device-tree/bindings/vendor-prefixes.txt
I found quite some good counter examples as well, so let's go for "mti".
--
Florian
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH] OF: MIPS: sead3: Implement OF support.
2012-12-12 14:56 ` Florian Fainelli
@ 2012-12-14 5:02 ` Hill, Steven
0 siblings, 0 replies; 10+ messages in thread
From: Hill, Steven @ 2012-12-14 5:02 UTC (permalink / raw)
To: Florian Fainelli, Lars-Peter Clausen
Cc: linux-mips@linux-mips.org, ralf@linux-mips.org
>
> But in anyway the patch should also add documentation under
> Documentation/devicetree/bindings describing the binding.
>
There is not much in the SEAD-3 .dts file and I see zero documentation for Lantiq or Netlogic. I am skipping adding anything in the Documentation directory.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2012-12-14 5:03 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-07 5:14 [PATCH] OF: MIPS: sead3: Implement OF support Steven J. Hill
2012-12-07 7:40 ` John Crispin
2012-12-12 14:29 ` Florian Fainelli
2012-12-12 14:53 ` Lars-Peter Clausen
2012-12-12 14:55 ` Ralf Baechle
2012-12-12 15:01 ` Florian Fainelli
2012-12-12 15:12 ` Ralf Baechle
2012-12-12 15:15 ` Florian Fainelli
2012-12-12 14:56 ` Florian Fainelli
2012-12-14 5:02 ` Hill, Steven
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.