kernel: update linux 3.3 to 3.3.2

SVN-Revision: 31336
This commit is contained in:
Jonas Gorski 2012-04-17 12:51:02 +00:00
parent ee4c47a134
commit 3a9b6dc313
78 changed files with 209 additions and 1081 deletions

View file

@ -38,8 +38,8 @@ endif
ifeq ($(LINUX_VERSION),3.2.15)
LINUX_KERNEL_MD5SUM:=15174563c4ccfc17953831611bee4002
endif
ifeq ($(LINUX_VERSION),3.3.1)
LINUX_KERNEL_MD5SUM:=ded7229c02a53cd071e541f73b9ef547
ifeq ($(LINUX_VERSION),3.3.2)
LINUX_KERNEL_MD5SUM:=cb5f959dfb3009bcc2a6e4ebf162174e
endif
# disable the md5sum check for unknown kernel versions

View file

@ -1,6 +1,6 @@
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -1016,7 +1016,9 @@ static int __devinit m25p_probe(struct s
@@ -1017,7 +1017,9 @@ static int __devinit m25p_probe(struct s
/* partitions should match sector boundaries; and it may be good to
* use readonly partitions for writeprotected sectors (BP2..BP0).
*/

View file

@ -3189,7 +3189,7 @@
/**
* enum positive_aop_returns - aop return codes with specific semantics
*
@@ -1496,6 +1502,11 @@ struct super_block {
@@ -1501,6 +1507,11 @@ struct super_block {
/* Being remounted read-only */
int s_readonly_remount;
@ -3201,7 +3201,7 @@
};
/* superblock cache pruning functions */
@@ -1653,6 +1664,8 @@ struct inode_operations {
@@ -1658,6 +1669,8 @@ struct inode_operations {
void (*truncate_range)(struct inode *, loff_t, loff_t);
int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
u64 len);
@ -3210,7 +3210,7 @@
} ____cacheline_aligned;
struct seq_file;
@@ -2023,6 +2036,7 @@ extern long do_sys_open(int dfd, const c
@@ -2028,6 +2041,7 @@ extern long do_sys_open(int dfd, const c
extern struct file *filp_open(const char *, int, umode_t);
extern struct file *file_open_root(struct dentry *, struct vfsmount *,
const char *, int);

View file

@ -54,11 +54,9 @@ Date: Mon Mar 26 00:03:42 2012 +0000
diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
index 159da29..21d7151 100644
--- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c
@@ -968,7 +968,6 @@ ppp_start_xmit(struct sk_buff *skb, struct net_device *dev)
@@ -968,7 +968,6 @@ ppp_start_xmit(struct sk_buff *skb, stru
proto = npindex_to_proto[npi];
put_unaligned_be16(proto, pp);

View file

@ -34,8 +34,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
net/atm/pppoatm.c | 95 +++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 85 insertions(+), 10 deletions(-)
diff --git a/net/atm/pppoatm.c b/net/atm/pppoatm.c
index 614d3fc..ce1e59f 100644
--- a/net/atm/pppoatm.c
+++ b/net/atm/pppoatm.c
@@ -62,12 +62,25 @@ struct pppoatm_vcc {
@ -64,7 +62,7 @@ index 614d3fc..ce1e59f 100644
* Header used for LLC Encapsulated PPP (4 bytes) followed by the LCP protocol
* ID (0xC021) used in autodetection
*/
@@ -102,16 +115,30 @@ static void pppoatm_wakeup_sender(unsigned long arg)
@@ -102,16 +115,30 @@ static void pppoatm_wakeup_sender(unsign
static void pppoatm_pop(struct atm_vcc *atmvcc, struct sk_buff *skb)
{
struct pppoatm_vcc *pvcc = atmvcc_to_pvcc(atmvcc);
@ -154,7 +152,7 @@ index 614d3fc..ce1e59f 100644
/*
* Called by the ppp_generic.c to send a packet - returns true if packet
* was accepted. If we return false, then it's our job to call
@@ -207,7 +279,7 @@ static int pppoatm_send(struct ppp_channel *chan, struct sk_buff *skb)
@@ -207,7 +279,7 @@ static int pppoatm_send(struct ppp_chann
struct sk_buff *n;
n = skb_realloc_headroom(skb, LLC_LEN);
if (n != NULL &&
@ -163,7 +161,7 @@ index 614d3fc..ce1e59f 100644
kfree_skb(n);
goto nospace;
}
@@ -215,12 +287,12 @@ static int pppoatm_send(struct ppp_channel *chan, struct sk_buff *skb)
@@ -215,12 +287,12 @@ static int pppoatm_send(struct ppp_chann
skb = n;
if (skb == NULL)
return DROP_PACKET;
@ -178,7 +176,7 @@ index 614d3fc..ce1e59f 100644
goto nospace;
break;
case e_autodetect:
@@ -285,6 +357,9 @@ static int pppoatm_assign_vcc(struct atm_vcc *atmvcc, void __user *arg)
@@ -285,6 +357,9 @@ static int pppoatm_assign_vcc(struct atm
if (pvcc == NULL)
return -ENOMEM;
pvcc->atmvcc = atmvcc;
@ -188,6 +186,3 @@ index 614d3fc..ce1e59f 100644
pvcc->old_push = atmvcc->push;
pvcc->old_pop = atmvcc->pop;
pvcc->encaps = (enum pppoatm_encaps) be.encaps;
--
1.7.7.6

View file

@ -40,8 +40,8 @@
+ dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK & ~(erase_size - 1);
dev->mtd.erasesize = erase_size;
dev->mtd.writesize = 1;
dev->mtd.type = MTD_RAM;
@@ -293,14 +298,17 @@ static struct block2mtd_dev *add_device(
dev->mtd.writebufsize = PAGE_SIZE;
@@ -294,14 +299,17 @@ static struct block2mtd_dev *add_device(
dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE;
@ -62,7 +62,7 @@
return dev;
devinit_err:
@@ -373,9 +381,9 @@ static char block2mtd_paramline[80 + 12]
@@ -374,9 +382,9 @@ static char block2mtd_paramline[80 + 12]
static int block2mtd_setup2(const char *val)
{
@ -74,7 +74,7 @@
char *name;
size_t erase_size = PAGE_SIZE;
int i, ret;
@@ -386,7 +394,7 @@ static int block2mtd_setup2(const char *
@@ -387,7 +395,7 @@ static int block2mtd_setup2(const char *
strcpy(str, val);
kill_final_newline(str);
@ -83,7 +83,7 @@
token[i] = strsep(&str, ",");
if (str)
@@ -405,8 +413,10 @@ static int block2mtd_setup2(const char *
@@ -406,8 +414,10 @@ static int block2mtd_setup2(const char *
parse_err("illegal erase size");
}
}
@ -95,7 +95,7 @@
return 0;
}
@@ -440,7 +450,7 @@ static int block2mtd_setup(const char *v
@@ -441,7 +451,7 @@ static int block2mtd_setup(const char *v
module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);

View file

@ -281,7 +281,7 @@
/* Setup the MTD structure */
/* make the name contain the block device in */
@@ -297,6 +391,7 @@ static struct block2mtd_dev *add_device(
@@ -298,6 +392,7 @@ static struct block2mtd_dev *add_device(
dev->mtd.read = block2mtd_read;
dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE;

View file

@ -1,43 +0,0 @@
commit a3c1e3b732b3708a80e4035b9d845f3f7c7dd0c9
Author: Marc Kleine-Budde <mkl@blackshift.org>
Date: Wed Feb 8 20:24:29 2012 +0100
mtd: ixp4xx: oops in ixp4xx_flash_probe
In commit "c797533 mtd: abstract last MTD partition parser argument" the
third argument of "mtd_device_parse_register()" changed from start address
of the MTD device to a pointer to a struct.
The "ixp4xx_flash_probe()" function was not converted properly, causing
an oops during boot.
This patch fixes the problem by filling the needed information into a
"struct mtd_part_parser_data" and passing it to
"mtd_device_parse_register()".
Signed-off-by: Marc Kleine-Budde <mkl@blackshift.org>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Cc: stable@kernel.org [3.2+]
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
--- a/drivers/mtd/maps/ixp4xx.c
+++ b/drivers/mtd/maps/ixp4xx.c
@@ -182,6 +182,9 @@ static int ixp4xx_flash_probe(struct pla
{
struct flash_platform_data *plat = dev->dev.platform_data;
struct ixp4xx_flash_info *info;
+ struct mtd_part_parser_data ppdata = {
+ .origin = dev->resource->start,
+ };
int err = -1;
if (!plat)
@@ -247,7 +250,7 @@ static int ixp4xx_flash_probe(struct pla
/* Use the fast version */
info->map.write = ixp4xx_write16;
- err = mtd_device_parse_register(info->mtd, probes, dev->resource->start,
+ err = mtd_device_parse_register(info->mtd, probes, &ppdata,
plat->parts, plat->nr_parts);
if (err) {
printk(KERN_ERR "Could not parse partitions\n");

View file

@ -7,11 +7,9 @@ Subject: [PATCH 01/70] MTD: add m25p80 id for mx25l2005a
drivers/mtd/devices/m25p80.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
index 7c60ddd..64b3b99 100644
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -676,6 +676,7 @@ static const struct spi_device_id m25p_ids[] = {
@@ -684,6 +684,7 @@ static const struct spi_device_id m25p_i
{ "640s33b", INFO(0x898913, 0, 64 * 1024, 128, 0) },
/* Macronix */
@ -19,6 +17,3 @@ index 7c60ddd..64b3b99 100644
{ "mx25l4005a", INFO(0xc22013, 0, 64 * 1024, 8, SECT_4K) },
{ "mx25l8005", INFO(0xc22014, 0, 64 * 1024, 16, 0) },
{ "mx25l1606e", INFO(0xc22015, 0, 64 * 1024, 32, SECT_4K) },
--
1.7.9.1

View file

@ -38,8 +38,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
delete mode 100644 arch/mips/lantiq/xway/setup-xway.c
create mode 100644 arch/mips/lantiq/xway/sysctrl.c
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
index ce2f029..66d7300 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
@@ -9,6 +9,7 @@
@ -66,7 +64,7 @@ index ce2f029..66d7300 100644
extern unsigned int ltq_get_cpu_ver(void);
extern unsigned int ltq_get_soc_type(void);
@@ -51,7 +43,9 @@ extern void ltq_enable_irq(struct irq_data *data);
@@ -51,7 +43,9 @@ extern void ltq_enable_irq(struct irq_da
/* find out what caused the last cpu reset */
extern int ltq_reset_cause(void);
@ -77,8 +75,6 @@ index ce2f029..66d7300 100644
#define IOPORT_RESOURCE_START 0x10000000
#define IOPORT_RESOURCE_END 0xffffffff
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index 8a3c6be..9b7ee366 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -61,6 +61,8 @@
@ -121,8 +117,6 @@ index 8a3c6be..9b7ee366 100644
static inline int ltq_is_ar9(void)
{
diff --git a/arch/mips/lantiq/clk.c b/arch/mips/lantiq/clk.c
index 412814f..39eef7f 100644
--- a/arch/mips/lantiq/clk.c
+++ b/arch/mips/lantiq/clk.c
@@ -22,6 +22,7 @@
@ -156,12 +150,12 @@ index 412814f..39eef7f 100644
- if (insert_resource(&iomem_resource, &ltq_cgu_resource) < 0)
- panic("Failed to insert cgu memory");
-
+ ltq_soc_init();
- if (request_mem_region(ltq_cgu_resource.start,
- resource_size(&ltq_cgu_resource), "cgu") < 0)
- panic("Failed to request cgu memory");
+ ltq_soc_init();
-
- ltq_cgu_membase = ioremap_nocache(ltq_cgu_resource.start,
- resource_size(&ltq_cgu_resource));
- if (!ltq_cgu_membase) {
@ -174,8 +168,6 @@ index 412814f..39eef7f 100644
+ pr_info("CPU Clock: %ldMHz\n", clk_get_rate(clk) / 1000000);
clk_put(clk);
}
diff --git a/arch/mips/lantiq/devices.c b/arch/mips/lantiq/devices.c
index de1cb2b..7193d78 100644
--- a/arch/mips/lantiq/devices.c
+++ b/arch/mips/lantiq/devices.c
@@ -27,12 +27,8 @@
@ -193,7 +185,7 @@ index de1cb2b..7193d78 100644
static struct platform_device ltq_nor = {
.name = "ltq_nor",
@@ -47,12 +43,8 @@ void __init ltq_register_nor(struct physmap_flash_data *data)
@@ -47,12 +43,8 @@ void __init ltq_register_nor(struct phys
}
/* watchdog */
@ -235,8 +227,6 @@ index de1cb2b..7193d78 100644
IRQ_RES(tx, LTQ_ASC_TIR(1)),
IRQ_RES(rx, LTQ_ASC_RIR(1)),
IRQ_RES(err, LTQ_ASC_EIR(1)),
diff --git a/arch/mips/lantiq/devices.h b/arch/mips/lantiq/devices.h
index 2947bb1..a03c23f 100644
--- a/arch/mips/lantiq/devices.h
+++ b/arch/mips/lantiq/devices.h
@@ -14,6 +14,10 @@
@ -250,8 +240,6 @@ index 2947bb1..a03c23f 100644
extern void ltq_register_nor(struct physmap_flash_data *data);
extern void ltq_register_wdt(void);
diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
index e34fcfd..e3b1e25 100644
--- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c
@@ -16,6 +16,10 @@
@ -265,7 +253,7 @@ index e34fcfd..e3b1e25 100644
static struct ltq_soc_info soc_info;
unsigned int ltq_get_cpu_ver(void)
@@ -55,16 +59,51 @@ static void __init prom_init_cmdline(void)
@@ -55,16 +59,51 @@ static void __init prom_init_cmdline(voi
}
}
@ -275,7 +263,7 @@ index e34fcfd..e3b1e25 100644
- struct clk *clk;
+ __iomem void *ret = NULL;
+ struct resource *lookup = lookup_resource(&iomem_resource, res->start);
+
+ if (lookup && strcmp(lookup->name, res->name)) {
+ pr_err("conflicting memory range %s\n", res->name);
+ return NULL;
@ -291,7 +279,7 @@ index e34fcfd..e3b1e25 100644
+ pr_err("Failed to request %s memory\n", res->name);
+ goto err_res;
+ }
+
+ ret = ioremap_nocache(res->start, resource_size(res));
+ if (!ret)
+ goto err_mem;
@ -323,8 +311,6 @@ index e34fcfd..e3b1e25 100644
soc_info.sys_type[LTQ_SYS_TYPE_LEN - 1] = '\0';
pr_info("SoC: %s\n", soc_info.sys_type);
prom_init_cmdline();
diff --git a/arch/mips/lantiq/prom.h b/arch/mips/lantiq/prom.h
index b4229d9..51dba1b 100644
--- a/arch/mips/lantiq/prom.h
+++ b/arch/mips/lantiq/prom.h
@@ -9,17 +9,21 @@
@ -349,8 +335,6 @@ index b4229d9..51dba1b 100644
extern void ltq_soc_setup(void);
#endif
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index c517f2e..6678402 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,7 +1,7 @@
@ -364,8 +348,6 @@ index c517f2e..6678402 100644
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c
index d614aa7..f97e565 100644
--- a/arch/mips/lantiq/xway/devices.c
+++ b/arch/mips/lantiq/xway/devices.c
@@ -31,22 +31,9 @@
@ -438,8 +420,6 @@ index d614aa7..f97e565 100644
static struct platform_device ltq_etop = {
.name = "ltq_etop",
diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c
index b210e93..6cf883b 100644
--- a/arch/mips/lantiq/xway/dma.c
+++ b/arch/mips/lantiq/xway/dma.c
@@ -24,6 +24,8 @@
@ -485,9 +465,6 @@ index b210e93..6cf883b 100644
if (!ltq_dma_membase)
panic("Failed to remap dma memory");
diff --git a/arch/mips/lantiq/xway/ebu.c b/arch/mips/lantiq/xway/ebu.c
deleted file mode 100644
index 862e3e8..0000000
--- a/arch/mips/lantiq/xway/ebu.c
+++ /dev/null
@@ -1,52 +0,0 @@
@ -543,9 +520,6 @@ index 862e3e8..0000000
-}
-
-postcore_initcall(lantiq_ebu_init);
diff --git a/arch/mips/lantiq/xway/pmu.c b/arch/mips/lantiq/xway/pmu.c
deleted file mode 100644
index fe85361..0000000
--- a/arch/mips/lantiq/xway/pmu.c
+++ /dev/null
@@ -1,69 +0,0 @@
@ -618,8 +592,6 @@ index fe85361..0000000
-}
-
-core_initcall(ltq_pmu_init);
diff --git a/arch/mips/lantiq/xway/prom-ase.c b/arch/mips/lantiq/xway/prom-ase.c
index ae4959a..3f86a3b 100644
--- a/arch/mips/lantiq/xway/prom-ase.c
+++ b/arch/mips/lantiq/xway/prom-ase.c
@@ -13,6 +13,7 @@
@ -630,7 +602,7 @@ index ae4959a..3f86a3b 100644
#include "../prom.h"
#define SOC_AMAZON_SE "Amazon_SE"
@@ -26,6 +27,7 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
@@ -26,6 +27,7 @@ void __init ltq_soc_detect(struct ltq_so
{
i->partnum = (ltq_r32(LTQ_MPS_CHIPID) & PART_MASK) >> PART_SHIFT;
i->rev = (ltq_r32(LTQ_MPS_CHIPID) & REV_MASK) >> REV_SHIFT;
@ -638,7 +610,7 @@ index ae4959a..3f86a3b 100644
switch (i->partnum) {
case SOC_ID_AMAZON_SE:
i->name = SOC_AMAZON_SE;
@@ -37,3 +39,10 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
@@ -37,3 +39,10 @@ void __init ltq_soc_detect(struct ltq_so
break;
}
}
@ -649,8 +621,6 @@ index ae4959a..3f86a3b 100644
+ ltq_register_gpio();
+ ltq_register_wdt();
+}
diff --git a/arch/mips/lantiq/xway/prom-xway.c b/arch/mips/lantiq/xway/prom-xway.c
index 2228133..d823a92 100644
--- a/arch/mips/lantiq/xway/prom-xway.c
+++ b/arch/mips/lantiq/xway/prom-xway.c
@@ -13,6 +13,7 @@
@ -661,7 +631,7 @@ index 2228133..d823a92 100644
#include "../prom.h"
#define SOC_DANUBE "Danube"
@@ -28,6 +29,7 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
@@ -28,6 +29,7 @@ void __init ltq_soc_detect(struct ltq_so
{
i->partnum = (ltq_r32(LTQ_MPS_CHIPID) & PART_MASK) >> PART_SHIFT;
i->rev = (ltq_r32(LTQ_MPS_CHIPID) & REV_MASK) >> REV_SHIFT;
@ -669,7 +639,7 @@ index 2228133..d823a92 100644
switch (i->partnum) {
case SOC_ID_DANUBE1:
case SOC_ID_DANUBE2:
@@ -52,3 +54,11 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
@@ -52,3 +54,11 @@ void __init ltq_soc_detect(struct ltq_so
break;
}
}
@ -681,8 +651,6 @@ index 2228133..d823a92 100644
+ ltq_register_gpio();
+ ltq_register_wdt();
+}
diff --git a/arch/mips/lantiq/xway/reset.c b/arch/mips/lantiq/xway/reset.c
index 8b66bd8..c705bbf 100644
--- a/arch/mips/lantiq/xway/reset.c
+++ b/arch/mips/lantiq/xway/reset.c
@@ -15,6 +15,8 @@
@ -728,9 +696,6 @@ index 8b66bd8..c705bbf 100644
if (!ltq_rcu_membase)
panic("Failed to remap rcu memory");
diff --git a/arch/mips/lantiq/xway/setup-ase.c b/arch/mips/lantiq/xway/setup-ase.c
deleted file mode 100644
index f6f3267..0000000
--- a/arch/mips/lantiq/xway/setup-ase.c
+++ /dev/null
@@ -1,19 +0,0 @@
@ -753,9 +718,6 @@ index f6f3267..0000000
- ltq_register_gpio();
- ltq_register_wdt();
-}
diff --git a/arch/mips/lantiq/xway/setup-xway.c b/arch/mips/lantiq/xway/setup-xway.c
deleted file mode 100644
index c292f64..0000000
--- a/arch/mips/lantiq/xway/setup-xway.c
+++ /dev/null
@@ -1,20 +0,0 @@
@ -779,9 +741,6 @@ index c292f64..0000000
- ltq_register_gpio();
- ltq_register_wdt();
-}
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
new file mode 100644
index 0000000..8fd13a1
--- /dev/null
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -0,0 +1,78 @@
@ -863,8 +822,6 @@ index 0000000..8fd13a1
+ /* make sure to unprotect the memory region where flash is located */
+ ltq_ebu_w32(ltq_ebu_r32(LTQ_EBU_BUSCON0) & ~EBU_WRDIS, LTQ_EBU_BUSCON0);
+}
diff --git a/drivers/watchdog/lantiq_wdt.c b/drivers/watchdog/lantiq_wdt.c
index d3a63be..9c8b10c 100644
--- a/drivers/watchdog/lantiq_wdt.c
+++ b/drivers/watchdog/lantiq_wdt.c
@@ -16,7 +16,7 @@
@ -876,6 +833,3 @@ index d3a63be..9c8b10c 100644
/* Section 3.4 of the datasheet
* The password sequence protects the WDT control register from unintended
--
1.7.9.1

View file

@ -17,8 +17,6 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
arch/mips/pci/pci-lantiq.c | 36 +++++++++----------
4 files changed, 26 insertions(+), 28 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index 9b7ee366..87f6d24 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -135,8 +135,8 @@ extern __iomem void *ltq_ebu_membase;
@ -32,8 +30,6 @@ index 9b7ee366..87f6d24 100644
extern void ltq_pmu_enable(unsigned int module);
extern void ltq_pmu_disable(unsigned int module);
extern void ltq_cgu_enable(unsigned int clk);
diff --git a/arch/mips/lantiq/xway/gpio.c b/arch/mips/lantiq/xway/gpio.c
index d2fa98f..f204f6c 100644
--- a/arch/mips/lantiq/xway/gpio.c
+++ b/arch/mips/lantiq/xway/gpio.c
@@ -48,8 +48,8 @@ int irq_to_gpio(unsigned int gpio)
@ -47,7 +43,7 @@ index d2fa98f..f204f6c 100644
{
int id = 0;
@@ -67,13 +67,13 @@ int ltq_gpio_request(unsigned int pin, unsigned int alt0,
@@ -67,13 +67,13 @@ int ltq_gpio_request(unsigned int pin, u
pin -= PINS_PER_PORT;
id++;
}
@ -63,8 +59,6 @@ index d2fa98f..f204f6c 100644
ltq_gpio_setbit(ltq_gpio_port[id].membase,
LTQ_GPIO_ALTSEL1, pin);
else
diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
index ff9991c..2c78660 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -79,9 +79,9 @@ static struct gpio_chip ltq_stp_chip = {
@ -80,8 +74,6 @@ index ff9991c..2c78660 100644
/* sane defaults */
ltq_stp_w32(0, LTQ_STP_AR);
diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
index be1e1af..c001c5a 100644
--- a/arch/mips/pci/pci-lantiq.c
+++ b/arch/mips/pci/pci-lantiq.c
@@ -70,28 +70,27 @@
@ -144,6 +136,3 @@ index be1e1af..c001c5a 100644
ltq_pci_req_mask = (gpio >> PCI_REQ_SHIFT) & PCI_REQ_MASK;
}
--
1.7.9.1

View file

@ -16,11 +16,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/irq.c | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
index d673731..f56bcce 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -195,7 +195,7 @@ static void ltq_hw_irqdispatch(int module)
@@ -195,7 +195,7 @@ static void ltq_hw_irqdispatch(int modul
do_IRQ((int)irq + INT_NUM_IM0_IRL0 + (INT_NUM_IM_OFFSET * module));
/* if this is a EBU irq, we need to ack it or get a deadlock */
@ -38,14 +36,15 @@ index d673731..f56bcce 100644
+ if (LTQ_EIU_BASE_ADDR) {
+ if (insert_resource(&iomem_resource, &ltq_eiu_resource) < 0)
+ panic("Failed to insert eiu memory\n");
- if (request_mem_region(ltq_eiu_resource.start,
- resource_size(&ltq_eiu_resource), "eiu") < 0)
- panic("Failed to request eiu memory");
+
+ if (request_mem_region(ltq_eiu_resource.start,
+ resource_size(&ltq_eiu_resource), "eiu") < 0)
+ panic("Failed to request eiu memory\n");
- if (request_mem_region(ltq_eiu_resource.start,
- resource_size(&ltq_eiu_resource), "eiu") < 0)
- panic("Failed to request eiu memory");
-
- ltq_eiu_membase = ioremap_nocache(ltq_eiu_resource.start,
+ ltq_eiu_membase = ioremap_nocache(ltq_eiu_resource.start,
resource_size(&ltq_eiu_resource));
@ -68,6 +67,3 @@ index d673731..f56bcce 100644
irq_set_chip_and_handler(i, &ltq_eiu_type,
handle_level_irq);
/* EIU3-5 only exist on ar9 and vr9 */
--
1.7.9.1

View file

@ -34,9 +34,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/lantiq/falcon/reset.c
create mode 100644 arch/mips/lantiq/falcon/sysctrl.c
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h b/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h
new file mode 100644
index 0000000..4dc6466
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h
@@ -0,0 +1,268 @@
@ -308,9 +305,6 @@ index 0000000..4dc6466
+#define FALCON_IRQ_VPE0_PMCIR (INT_NUM_IM4_IRL0 + 31)
+
+#endif /* _FALCON_IRQ__ */
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/irq.h b/arch/mips/include/asm/mach-lantiq/falcon/irq.h
new file mode 100644
index 0000000..2caccd9
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/falcon/irq.h
@@ -0,0 +1,18 @@
@ -332,9 +326,6 @@ index 0000000..2caccd9
+#include_next <irq.h>
+
+#endif
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
new file mode 100644
index 0000000..b074748
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
@@ -0,0 +1,143 @@
@ -481,11 +472,9 @@ index 0000000..b074748
+
+#endif /* CONFIG_SOC_FALCON */
+#endif /* _LTQ_XWAY_H__ */
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
index 66d7300..188de0f 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
@@ -25,6 +25,7 @@ extern unsigned int ltq_get_soc_type(void);
@@ -25,6 +25,7 @@ extern unsigned int ltq_get_soc_type(voi
/* clock speeds */
#define CLOCK_60M 60000000
#define CLOCK_83M 83333333
@ -493,8 +482,6 @@ index 66d7300..188de0f 100644
#define CLOCK_111M 111111111
#define CLOCK_133M 133333333
#define CLOCK_167M 166666667
diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
index 3fccf21..cb6b39f 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -16,8 +16,12 @@ config SOC_XWAY
@ -510,17 +497,13 @@ index 3fccf21..cb6b39f 100644
+source "arch/mips/lantiq/falcon/Kconfig"
endif
diff --git a/arch/mips/lantiq/Makefile b/arch/mips/lantiq/Makefile
index e5dae0e..7e9c69e 100644
--- a/arch/mips/lantiq/Makefile
+++ b/arch/mips/lantiq/Makefile
@@ -9,3 +9,4 @@ obj-y := irq.o setup.o clk.o prom.o devices.o
@@ -9,3 +9,4 @@ obj-y := irq.o setup.o clk.o prom.o devi
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-$(CONFIG_SOC_TYPE_XWAY) += xway/
+obj-$(CONFIG_SOC_FALCON) += falcon/
diff --git a/arch/mips/lantiq/Platform b/arch/mips/lantiq/Platform
index f3dff05..b3ec498 100644
--- a/arch/mips/lantiq/Platform
+++ b/arch/mips/lantiq/Platform
@@ -6,3 +6,4 @@ platform-$(CONFIG_LANTIQ) += lantiq/
@ -528,16 +511,10 @@ index f3dff05..b3ec498 100644
load-$(CONFIG_LANTIQ) = 0xffffffff80002000
cflags-$(CONFIG_SOC_TYPE_XWAY) += -I$(srctree)/arch/mips/include/asm/mach-lantiq/xway
+cflags-$(CONFIG_SOC_FALCON) += -I$(srctree)/arch/mips/include/asm/mach-lantiq/falcon
diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile
new file mode 100644
index 0000000..e9c7455
--- /dev/null
+++ b/arch/mips/lantiq/falcon/Makefile
@@ -0,0 +1 @@
+obj-y := clk.o prom.o reset.o sysctrl.o devices.o
diff --git a/arch/mips/lantiq/falcon/clk.c b/arch/mips/lantiq/falcon/clk.c
new file mode 100644
index 0000000..afe1b52
--- /dev/null
+++ b/arch/mips/lantiq/falcon/clk.c
@@ -0,0 +1,44 @@
@ -585,9 +562,6 @@ index 0000000..afe1b52
+ return CLOCK_100M;
+}
+EXPORT_SYMBOL(ltq_get_fpi_hz);
diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c
new file mode 100644
index 0000000..c4606f2
--- /dev/null
+++ b/arch/mips/lantiq/falcon/devices.c
@@ -0,0 +1,87 @@
@ -678,9 +652,6 @@ index 0000000..c4606f2
+{
+ platform_device_register(&ltq_flash_nand);
+}
diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h
new file mode 100644
index 0000000..e802a7c
--- /dev/null
+++ b/arch/mips/lantiq/falcon/devices.h
@@ -0,0 +1,18 @@
@ -702,9 +673,6 @@ index 0000000..e802a7c
+extern void falcon_register_nand(void);
+
+#endif
diff --git a/arch/mips/lantiq/falcon/prom.c b/arch/mips/lantiq/falcon/prom.c
new file mode 100644
index 0000000..b50d6f9
--- /dev/null
+++ b/arch/mips/lantiq/falcon/prom.c
@@ -0,0 +1,93 @@
@ -801,9 +769,6 @@ index 0000000..b50d6f9
+ break;
+ }
+}
diff --git a/arch/mips/lantiq/falcon/reset.c b/arch/mips/lantiq/falcon/reset.c
new file mode 100644
index 0000000..cbcadc5
--- /dev/null
+++ b/arch/mips/lantiq/falcon/reset.c
@@ -0,0 +1,87 @@
@ -894,9 +859,6 @@ index 0000000..cbcadc5
+}
+
+arch_initcall(mips_reboot_setup);
diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
new file mode 100644
index 0000000..905a142
--- /dev/null
+++ b/arch/mips/lantiq/falcon/sysctrl.c
@@ -0,0 +1,183 @@
@ -1083,6 +1045,3 @@ index 0000000..905a142
+
+ ltq_gpe_enable();
+}
--
1.7.9.1

View file

@ -16,15 +16,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
4 files changed, 443 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/lantiq/falcon/gpio.c
diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile
index e9c7455..de72209 100644
--- a/arch/mips/lantiq/falcon/Makefile
+++ b/arch/mips/lantiq/falcon/Makefile
@@ -1 +1 @@
-obj-y := clk.o prom.o reset.o sysctrl.o devices.o
+obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o
diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c
index c4606f2..4f47b44 100644
--- a/arch/mips/lantiq/falcon/devices.c
+++ b/arch/mips/lantiq/falcon/devices.c
@@ -9,6 +9,7 @@
@ -79,8 +75,6 @@ index c4606f2..4f47b44 100644
+ ltq_sysctl_activate(SYSCTL_SYS1,
+ ACTS_PADCTRL3 | ACTS_PADCTRL4 | ACTS_P3 | ACTS_P4);
+}
diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h
index e802a7c..18be8b6 100644
--- a/arch/mips/lantiq/falcon/devices.h
+++ b/arch/mips/lantiq/falcon/devices.h
@@ -14,5 +14,7 @@
@ -91,9 +85,6 @@ index e802a7c..18be8b6 100644
+extern void falcon_register_gpio_extra(void);
#endif
diff --git a/arch/mips/lantiq/falcon/gpio.c b/arch/mips/lantiq/falcon/gpio.c
new file mode 100644
index 0000000..28f8639
--- /dev/null
+++ b/arch/mips/lantiq/falcon/gpio.c
@@ -0,0 +1,399 @@
@ -496,6 +487,3 @@ index 0000000..28f8639
+}
+
+postcore_initcall(falcon_gpio_init);
--
1.7.9.1

View file

@ -17,9 +17,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/lantiq/falcon/Kconfig
create mode 100644 arch/mips/lantiq/falcon/mach-easy98000.c
diff --git a/arch/mips/lantiq/falcon/Kconfig b/arch/mips/lantiq/falcon/Kconfig
new file mode 100644
index 0000000..03e999d
--- /dev/null
+++ b/arch/mips/lantiq/falcon/Kconfig
@@ -0,0 +1,11 @@
@ -34,16 +31,11 @@ index 0000000..03e999d
+endmenu
+
+endif
diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile
index de72209..56b22eb 100644
--- a/arch/mips/lantiq/falcon/Makefile
+++ b/arch/mips/lantiq/falcon/Makefile
@@ -1 +1,2 @@
obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o
+obj-$(CONFIG_LANTIQ_MACH_EASY98000) += mach-easy98000.o
diff --git a/arch/mips/lantiq/falcon/mach-easy98000.c b/arch/mips/lantiq/falcon/mach-easy98000.c
new file mode 100644
index 0000000..361b8f0
--- /dev/null
+++ b/arch/mips/lantiq/falcon/mach-easy98000.c
@@ -0,0 +1,110 @@
@ -157,8 +149,6 @@ index 0000000..361b8f0
+ "EASY98000NAND",
+ "EASY98000 Eval Board (NAND Flash)",
+ easy98000nand_init);
diff --git a/arch/mips/lantiq/machtypes.h b/arch/mips/lantiq/machtypes.h
index 7e01b8c..dfc6af7 100644
--- a/arch/mips/lantiq/machtypes.h
+++ b/arch/mips/lantiq/machtypes.h
@@ -15,6 +15,11 @@ enum lantiq_mach_type {
@ -173,6 +163,3 @@ index 7e01b8c..dfc6af7 100644
};
#endif
--
1.7.9.1

View file

@ -14,8 +14,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/early_printk.c | 14 ++++++++------
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index 87f6d24..e31f52d 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -34,6 +34,12 @@
@ -31,8 +29,6 @@ index 87f6d24..e31f52d 100644
/* RCU - reset control unit */
#define LTQ_RCU_BASE_ADDR 0x1F203000
#define LTQ_RCU_SIZE 0x1000
diff --git a/arch/mips/lantiq/early_printk.c b/arch/mips/lantiq/early_printk.c
index 972e05f..5089075 100644
--- a/arch/mips/lantiq/early_printk.c
+++ b/arch/mips/lantiq/early_printk.c
@@ -12,11 +12,13 @@
@ -63,6 +59,3 @@ index 972e05f..5089075 100644
+ ltq_w8(c, LTQ_ASC_TBUF);
local_irq_restore(flags);
}
--
1.7.9.1

View file

@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/prom.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
index e3b1e25..acb8921 100644
--- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c
@@ -49,10 +49,12 @@ static void __init prom_init_cmdline(void)
@@ -49,10 +49,12 @@ static void __init prom_init_cmdline(voi
char **argv = (char **) KSEG1ADDR(fw_arg1);
int i;
@ -31,6 +29,3 @@ index e3b1e25..acb8921 100644
strlcat(arcs_cmdline, p, sizeof(arcs_cmdline));
strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline));
}
--
1.7.9.1

View file

@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/xway/gpio_stp.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
index 2c78660..cb6f170 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -35,6 +35,8 @@
@ -37,6 +35,3 @@ index 2c78660..cb6f170 100644
/* stp are update periodically by the FPI bus */
ltq_stp_w32_mask(LTQ_STP_UPD_MASK, LTQ_STP_UPD_FPI, LTQ_STP_CON1);
--
1.7.9.1

View file

@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/xway/gpio.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/mips/lantiq/xway/gpio.c b/arch/mips/lantiq/xway/gpio.c
index f204f6c..14ff7c7 100644
--- a/arch/mips/lantiq/xway/gpio.c
+++ b/arch/mips/lantiq/xway/gpio.c
@@ -21,6 +21,8 @@
@ -25,7 +23,7 @@ index f204f6c..14ff7c7 100644
#define PINS_PER_PORT 16
#define MAX_PORTS 3
@@ -106,6 +108,8 @@ static int ltq_gpio_direction_input(struct gpio_chip *chip, unsigned int offset)
@@ -106,6 +108,8 @@ static int ltq_gpio_direction_input(stru
ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_OD, offset);
ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_DIR, offset);
@ -34,7 +32,7 @@ index f204f6c..14ff7c7 100644
return 0;
}
@@ -117,6 +121,8 @@ static int ltq_gpio_direction_output(struct gpio_chip *chip,
@@ -117,6 +121,8 @@ static int ltq_gpio_direction_output(str
ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_OD, offset);
ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_DIR, offset);
@ -43,6 +41,3 @@ index f204f6c..14ff7c7 100644
ltq_gpio_set(chip, offset, value);
return 0;
--
1.7.9.1

View file

@ -19,9 +19,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/configs/falcon_defconfig
create mode 100644 arch/mips/configs/xway_defconfig
diff --git a/arch/mips/configs/ase_defconfig b/arch/mips/configs/ase_defconfig
new file mode 100644
index 0000000..5bb1d93
--- /dev/null
+++ b/arch/mips/configs/ase_defconfig
@@ -0,0 +1,67 @@
@ -92,9 +89,6 @@ index 0000000..5bb1d93
+CONFIG_SQUASHFS_XZ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_DEBUG_FS=y
diff --git a/arch/mips/configs/falcon_defconfig b/arch/mips/configs/falcon_defconfig
new file mode 100644
index 0000000..ce242a8
--- /dev/null
+++ b/arch/mips/configs/falcon_defconfig
@@ -0,0 +1,72 @@
@ -170,9 +164,6 @@ index 0000000..ce242a8
+CONFIG_SQUASHFS_XZ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_DEBUG_FS=y
diff --git a/arch/mips/configs/xway_defconfig b/arch/mips/configs/xway_defconfig
new file mode 100644
index 0000000..510a964
--- /dev/null
+++ b/arch/mips/configs/xway_defconfig
@@ -0,0 +1,66 @@
@ -242,6 +233,3 @@ index 0000000..510a964
+CONFIG_SQUASHFS_XZ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_DEBUG_FS=y
--
1.7.9.1

View file

@ -10,11 +10,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
MAINTAINERS | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 9c63a43..a2bf032 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4392,6 +4392,18 @@ S: Supported
@@ -4397,6 +4397,18 @@ S: Supported
F: Documentation/mips/
F: arch/mips/
@ -33,6 +31,3 @@ index 9c63a43..a2bf032 100644
MISCELLANEOUS MCA-SUPPORT
M: James Bottomley <James.Bottomley@HansenPartnership.com>
S: Maintained
--
1.7.9.1

View file

@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/irq.c | 5 +++++
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 5ab6e89..8ad52f4 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -229,6 +229,7 @@ config LANTIQ
@ -25,8 +23,6 @@ index 5ab6e89..8ad52f4 100644
select MIPS_MACHINE
config LASAT
diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
index f56bcce..ada3874 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -40,6 +40,9 @@
@ -48,6 +44,3 @@ index f56bcce..ada3874 100644
}
unsigned int __cpuinit get_c0_compare_int(void)
--
1.7.9.1

View file

@ -16,8 +16,6 @@ Cc: netdev@vger.kernel.org
drivers/net/ethernet/lantiq_etop.c | 171 ++++++++++++++++++--
4 files changed, 174 insertions(+), 40 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
index b4465a8..2a8d5ad 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
@@ -38,26 +38,8 @@
@ -49,8 +47,6 @@ index b4465a8..2a8d5ad 100644
#define LTQ_PPE_MBOX_INT (INT_NUM_IM2_IRL0 + 24)
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index e31f52d..6983d75 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -82,6 +82,7 @@
@ -72,7 +68,7 @@ index e31f52d..6983d75 100644
/* DMA */
#define LTQ_DMA_BASE_ADDR 0x1E104100
#define LTQ_DMA_SIZE 0x800
@@ -147,6 +152,11 @@ extern void ltq_pmu_enable(unsigned int module);
@@ -147,6 +152,11 @@ extern void ltq_pmu_enable(unsigned int
extern void ltq_pmu_disable(unsigned int module);
extern void ltq_cgu_enable(unsigned int clk);
@ -84,8 +80,6 @@ index e31f52d..6983d75 100644
static inline int ltq_is_ar9(void)
{
return (ltq_get_soc_type() == SOC_TYPE_AR9);
diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c
index f97e565..eab4644d 100644
--- a/arch/mips/lantiq/xway/devices.c
+++ b/arch/mips/lantiq/xway/devices.c
@@ -74,18 +74,23 @@ void __init ltq_register_ase_asc(void)
@ -115,18 +109,15 @@ index f97e565..eab4644d 100644
if (eth) {
ltq_etop.dev.platform_data = eth;
platform_device_register(&ltq_etop);
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index 85e2c6c..e799b88 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -71,10 +71,43 @@
#define ETOP_MII_REVERSE 0xe
#define ETOP_PLEN_UNDER 0x40
#define ETOP_CGEN 0x800
-
-/* use 2 static channels for TX/RX */
+#define ETOP_CFG_MII0 0x01
+
-/* use 2 static channels for TX/RX */
+#define LTQ_GBIT_MDIO_CTL 0xCC
+#define LTQ_GBIT_MDIO_DATA 0xd0
+#define LTQ_GBIT_GCTL0 0x68
@ -274,7 +265,7 @@ index 85e2c6c..e799b88 100644
struct ltq_etop_chan *ch = &priv->ch[i];
ch->idx = ch->dma.nr = i;
@@ -340,6 +422,39 @@ static const struct ethtool_ops ltq_etop_ethtool_ops = {
@@ -340,6 +422,39 @@ static const struct ethtool_ops ltq_etop
};
static int
@ -314,7 +305,7 @@ index 85e2c6c..e799b88 100644
ltq_etop_mdio_wr(struct mii_bus *bus, int phy_addr, int phy_reg, u16 phy_data)
{
u32 val = MDIO_REQUEST |
@@ -380,14 +495,11 @@ ltq_etop_mdio_probe(struct net_device *dev)
@@ -380,14 +495,11 @@ ltq_etop_mdio_probe(struct net_device *d
{
struct ltq_etop_priv *priv = netdev_priv(dev);
struct phy_device *phydev = NULL;
@ -333,7 +324,7 @@ index 85e2c6c..e799b88 100644
if (!phydev) {
netdev_err(dev, "no PHY found\n");
@@ -409,6 +521,9 @@ ltq_etop_mdio_probe(struct net_device *dev)
@@ -409,6 +521,9 @@ ltq_etop_mdio_probe(struct net_device *d
| SUPPORTED_Autoneg
| SUPPORTED_MII
| SUPPORTED_TP);
@ -343,7 +334,7 @@ index 85e2c6c..e799b88 100644
phydev->advertising = phydev->supported;
priv->phydev = phydev;
@@ -434,8 +549,13 @@ ltq_etop_mdio_init(struct net_device *dev)
@@ -434,8 +549,13 @@ ltq_etop_mdio_init(struct net_device *de
}
priv->mii_bus->priv = dev;
@ -359,7 +350,7 @@ index 85e2c6c..e799b88 100644
priv->mii_bus->name = "ltq_mii";
snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
priv->pdev->name, priv->pdev->id);
@@ -526,9 +646,9 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
@@ -526,9 +646,9 @@ ltq_etop_tx(struct sk_buff *skb, struct
struct ltq_etop_priv *priv = netdev_priv(dev);
struct ltq_etop_chan *ch = &priv->ch[(queue << 1) | 1];
struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc];
@ -370,7 +361,7 @@ index 85e2c6c..e799b88 100644
len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len;
@@ -702,7 +822,7 @@ ltq_etop_probe(struct platform_device *pdev)
@@ -702,7 +822,7 @@ ltq_etop_probe(struct platform_device *p
{
struct net_device *dev;
struct ltq_etop_priv *priv;
@ -379,7 +370,7 @@ index 85e2c6c..e799b88 100644
int err;
int i;
@@ -730,6 +850,23 @@ ltq_etop_probe(struct platform_device *pdev)
@@ -730,6 +850,23 @@ ltq_etop_probe(struct platform_device *p
goto err_out;
}
@ -403,6 +394,3 @@ index 85e2c6c..e799b88 100644
dev = alloc_etherdev_mq(sizeof(struct ltq_etop_priv), 4);
strcpy(dev->name, "eth%d");
dev->netdev_ops = &ltq_eth_netdev_ops;
--
1.7.9.1

View file

@ -16,8 +16,6 @@ Cc: netdev@vger.kernel.org
drivers/net/ethernet/lantiq_etop.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index e799b88..5a8ca89 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -614,7 +614,8 @@ ltq_etop_open(struct net_device *dev)
@ -54,7 +52,7 @@ index e799b88..5a8ca89 100644
return 0;
err_netdev:
@@ -870,7 +873,6 @@ ltq_etop_probe(struct platform_device *pdev)
@@ -870,7 +873,6 @@ ltq_etop_probe(struct platform_device *p
dev = alloc_etherdev_mq(sizeof(struct ltq_etop_priv), 4);
strcpy(dev->name, "eth%d");
dev->netdev_ops = &ltq_eth_netdev_ops;
@ -62,6 +60,3 @@ index e799b88..5a8ca89 100644
priv = netdev_priv(dev);
priv->res = res;
priv->pdev = pdev;
--
1.7.9.1

View file

@ -17,8 +17,6 @@ Cc: netdev@vger.kernel.org
drivers/net/ethernet/lantiq_etop.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index 5a8ca89..daba994 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -313,6 +313,7 @@ ltq_etop_hw_init(struct net_device *dev)
@ -66,6 +64,3 @@ index 5a8ca89..daba994 100644
}
static void
--
1.7.9.1

View file

@ -22,8 +22,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/tty/serial/lantiq.c | 12 ++++++++++++
10 files changed, 45 insertions(+), 33 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
index b074748..a5dc06a 100644
--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
@@ -126,9 +126,7 @@ extern __iomem void *ltq_sys1_membase;
@ -37,11 +35,9 @@ index b074748..a5dc06a 100644
extern int ltq_gpio_mux_set(unsigned int pin, unsigned int mux);
/* to keep the irq code generic we need to define these to 0 as falcon
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
index 188de0f..924b91a 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
@@ -37,6 +37,10 @@ extern unsigned int ltq_get_soc_type(void);
@@ -37,6 +37,10 @@ extern unsigned int ltq_get_soc_type(voi
/* spinlock all ebu i/o */
extern spinlock_t ebu_lock;
@ -52,8 +48,6 @@ index 188de0f..924b91a 100644
/* some irq helpers */
extern void ltq_disable_irq(struct irq_data *data);
extern void ltq_mask_and_ack_irq(struct irq_data *data);
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index 6983d75..6c5b705 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -145,9 +145,6 @@
@ -66,11 +60,9 @@ index 6983d75..6c5b705 100644
extern void ltq_pmu_enable(unsigned int module);
extern void ltq_pmu_disable(unsigned int module);
extern void ltq_cgu_enable(unsigned int clk);
diff --git a/arch/mips/lantiq/falcon/gpio.c b/arch/mips/lantiq/falcon/gpio.c
index 28f8639..a44f71b 100644
--- a/arch/mips/lantiq/falcon/gpio.c
+++ b/arch/mips/lantiq/falcon/gpio.c
@@ -97,7 +97,7 @@ int ltq_gpio_mux_set(unsigned int pin, unsigned int mux)
@@ -97,7 +97,7 @@ int ltq_gpio_mux_set(unsigned int pin, u
}
EXPORT_SYMBOL(ltq_gpio_mux_set);
@ -79,7 +71,7 @@ index 28f8639..a44f71b 100644
unsigned int dir, const char *name)
{
int port = pin / 100;
@@ -106,7 +106,7 @@ int ltq_gpio_request(unsigned int pin, unsigned int mux,
@@ -106,7 +106,7 @@ int ltq_gpio_request(unsigned int pin, u
if (offset >= PINS_PER_PORT || port >= MAX_PORTS)
return -EINVAL;
@ -88,8 +80,6 @@ index 28f8639..a44f71b 100644
pr_err("failed to setup lantiq gpio: %s\n", name);
return -EBUSY;
}
diff --git a/arch/mips/lantiq/falcon/prom.c b/arch/mips/lantiq/falcon/prom.c
index b50d6f9..f98b389 100644
--- a/arch/mips/lantiq/falcon/prom.c
+++ b/arch/mips/lantiq/falcon/prom.c
@@ -27,9 +27,6 @@
@ -113,8 +103,6 @@ index b50d6f9..f98b389 100644
ltq_sysctl_activate(SYSCTL_SYS1, ACTS_ASC1_ACT);
}
}
diff --git a/arch/mips/lantiq/xway/gpio.c b/arch/mips/lantiq/xway/gpio.c
index 14ff7c7..54ec6c9 100644
--- a/arch/mips/lantiq/xway/gpio.c
+++ b/arch/mips/lantiq/xway/gpio.c
@@ -50,14 +50,14 @@ int irq_to_gpio(unsigned int gpio)
@ -134,8 +122,6 @@ index 14ff7c7..54ec6c9 100644
pr_err("failed to setup lantiq gpio: %s\n", name);
return -EBUSY;
}
diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
index cb6f170..e6b4809 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -80,11 +80,6 @@ static struct gpio_chip ltq_stp_chip = {
@ -150,7 +136,7 @@ index cb6f170..e6b4809 100644
/* sane defaults */
ltq_stp_w32(0, LTQ_STP_AR);
ltq_stp_w32(0, LTQ_STP_CPU0);
@@ -133,6 +128,14 @@ static int __devinit ltq_stp_probe(struct platform_device *pdev)
@@ -133,6 +128,14 @@ static int __devinit ltq_stp_probe(struc
dev_err(&pdev->dev, "failed to remap STP memory\n");
return -ENOMEM;
}
@ -165,8 +151,6 @@ index cb6f170..e6b4809 100644
ret = gpiochip_add(&ltq_stp_chip);
if (!ret)
ret = ltq_stp_hw_init();
diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
index c001c5a..47b551c 100644
--- a/arch/mips/pci/pci-lantiq.c
+++ b/arch/mips/pci/pci-lantiq.c
@@ -150,24 +150,26 @@ static u32 ltq_calc_bar11mask(void)
@ -202,7 +186,7 @@ index c001c5a..47b551c 100644
/* set clock to 33Mhz */
if (ltq_is_ar9()) {
@@ -190,7 +192,7 @@ static int __devinit ltq_pci_startup(struct ltq_pci_data *conf)
@@ -190,7 +192,7 @@ static int __devinit ltq_pci_startup(str
}
/* setup pci clock and gpis used by pci */
@ -211,7 +195,7 @@ index c001c5a..47b551c 100644
/* enable auto-switching between PCI and EBU */
ltq_pci_w32(0xa, PCI_CR_CLK_CTRL);
@@ -275,7 +277,7 @@ static int __devinit ltq_pci_probe(struct platform_device *pdev)
@@ -275,7 +277,7 @@ static int __devinit ltq_pci_probe(struc
ioremap_nocache(LTQ_PCI_CFG_BASE, LTQ_PCI_CFG_BASE);
ltq_pci_controller.io_map_base =
(unsigned long)ioremap(LTQ_PCI_IO_BASE, LTQ_PCI_IO_SIZE - 1);
@ -220,8 +204,6 @@ index c001c5a..47b551c 100644
register_pci_controller(&ltq_pci_controller);
return 0;
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index daba994..ad0fa54 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -292,9 +292,6 @@ ltq_etop_gbit_init(void)
@ -234,7 +216,7 @@ index daba994..ad0fa54 100644
ltq_gbit_w32_mask(0, GCTL0_SE, LTQ_GBIT_GCTL0);
/** Disable MDIO auto polling mode */
ltq_gbit_w32_mask(0, PX_CTL_DMDIO, LTQ_GBIT_P0_CTL);
@@ -870,6 +867,12 @@ ltq_etop_probe(struct platform_device *pdev)
@@ -870,6 +867,12 @@ ltq_etop_probe(struct platform_device *p
err = -ENOMEM;
goto err_out;
}
@ -247,8 +229,6 @@ index daba994..ad0fa54 100644
}
dev = alloc_etherdev_mq(sizeof(struct ltq_etop_priv), 4);
diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
index 96c1cac..5d25828 100644
--- a/drivers/tty/serial/lantiq.c
+++ b/drivers/tty/serial/lantiq.c
@@ -107,6 +107,9 @@
@ -261,7 +241,7 @@ index 96c1cac..5d25828 100644
static void lqasc_tx_chars(struct uart_port *port);
static struct ltq_uart_port *lqasc_port[MAXPORTS];
static struct uart_driver lqasc_reg;
@@ -529,6 +532,15 @@ lqasc_request_port(struct uart_port *port)
@@ -529,6 +532,15 @@ lqasc_request_port(struct uart_port *por
if (port->membase == NULL)
return -ENOMEM;
}
@ -277,6 +257,3 @@ index 96c1cac..5d25828 100644
return 0;
}
--
1.7.9.1

View file

@ -13,9 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
1 files changed, 25 insertions(+), 0 deletions(-)
create mode 100644 arch/mips/include/asm/clkdev.h
diff --git a/arch/mips/include/asm/clkdev.h b/arch/mips/include/asm/clkdev.h
new file mode 100644
index 0000000..2624754
--- /dev/null
+++ b/arch/mips/include/asm/clkdev.h
@@ -0,0 +1,25 @@
@ -44,6 +41,3 @@ index 0000000..2624754
+}
+
+#endif
--
1.7.9.1

View file

@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
.../mips/include/asm/mach-lantiq/xway/lantiq_soc.h | 5 +++++
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
index a5dc06a..0aa1f16 100644
--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
@@ -134,8 +134,20 @@ extern int ltq_gpio_mux_set(unsigned int pin, unsigned int mux);
@@ -134,8 +134,20 @@ extern int ltq_gpio_mux_set(unsigned int
#define LTQ_EIU_BASE_ADDR 0
#define LTQ_EBU_PCC_ISTAT 0
@ -39,8 +37,6 @@ index a5dc06a..0aa1f16 100644
#endif /* CONFIG_SOC_FALCON */
#endif /* _LTQ_XWAY_H__ */
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index 6c5b705..45e480c 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -164,5 +164,10 @@ static inline int ltq_is_vr9(void)
@ -54,6 +50,3 @@ index 6c5b705..45e480c 100644
+
#endif /* CONFIG_SOC_TYPE_XWAY */
#endif /* _LTQ_XWAY_H__ */
--
1.7.9.1

View file

@ -17,8 +17,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/prom.c | 1 -
5 files changed, 111 insertions(+), 61 deletions(-)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 8ad52f4..df4e125 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -228,7 +228,8 @@ config LANTIQ
@ -31,8 +29,6 @@ index 8ad52f4..df4e125 100644
select HAVE_OPROFILE
select MIPS_MACHINE
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
index 924b91a..622847f 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
@@ -9,6 +9,7 @@
@ -62,7 +58,7 @@ index 924b91a..622847f 100644
/* spinlock all ebu i/o */
extern spinlock_t ebu_lock;
@@ -46,6 +35,13 @@ extern void ltq_disable_irq(struct irq_data *data);
@@ -46,6 +35,13 @@ extern void ltq_disable_irq(struct irq_d
extern void ltq_mask_and_ack_irq(struct irq_data *data);
extern void ltq_enable_irq(struct irq_data *data);
@ -76,8 +72,6 @@ index 924b91a..622847f 100644
/* find out what caused the last cpu reset */
extern int ltq_reset_cause(void);
diff --git a/arch/mips/lantiq/clk.c b/arch/mips/lantiq/clk.c
index 39eef7f..84a201e 100644
--- a/arch/mips/lantiq/clk.c
+++ b/arch/mips/lantiq/clk.c
@@ -12,6 +12,7 @@
@ -122,27 +116,26 @@ index 39eef7f..84a201e 100644
- .get_rate = ltq_get_io_region_clock,
- },
-};
-
-void clk_init(void)
+struct clk *clk_get_cpu(void)
+{
+ return &cpu_clk_generic[0];
+}
+
+struct clk *clk_get_fpi(void)
+{
+ return &cpu_clk_generic[1];
+}
-void clk_init(void)
+struct clk *clk_get_io(void)
{
- cpu_clk = cpu_clk_generic;
- cpu_clk_cnt = ARRAY_SIZE(cpu_clk_generic);
+ return &cpu_clk_generic[1];
+}
+
+struct clk *clk_get_io(void)
+{
+ return &cpu_clk_generic[2];
}
static inline int clk_good(struct clk *clk)
@@ -73,36 +70,49 @@ unsigned long clk_get_rate(struct clk *clk)
@@ -73,36 +70,49 @@ unsigned long clk_get_rate(struct clk *c
}
EXPORT_SYMBOL(clk_get_rate);
@ -152,15 +145,15 @@ index 39eef7f..84a201e 100644
- int i;
+ if (unlikely(!clk_good(clk)))
+ return -1;
+
+ if (clk->enable)
+ return clk->enable(clk);
- for (i = 0; i < cpu_clk_cnt; i++)
- if (!strcmp(id, cpu_clk[i].name))
- return &cpu_clk[i];
- BUG();
- return ERR_PTR(-ENOENT);
+ if (clk->enable)
+ return clk->enable(clk);
+
+ return -1;
}
-EXPORT_SYMBOL(clk_get);
@ -219,8 +212,6 @@ index 39eef7f..84a201e 100644
mips_hpt_frequency = clk_get_rate(clk) / ltq_get_counter_resolution();
write_c0_compare(read_c0_count());
pr_info("CPU Clock: %ldMHz\n", clk_get_rate(clk) / 1000000);
diff --git a/arch/mips/lantiq/clk.h b/arch/mips/lantiq/clk.h
index 3328925..d047768 100644
--- a/arch/mips/lantiq/clk.h
+++ b/arch/mips/lantiq/clk.h
@@ -9,10 +9,54 @@
@ -282,8 +273,6 @@ index 3328925..d047768 100644
+extern unsigned long ltq_vr9_io_region_clock(void);
#endif
diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
index acb8921..971554b 100644
--- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c
@@ -103,7 +103,6 @@ EXPORT_SYMBOL(ltq_remap_resource);
@ -294,6 +283,3 @@ index acb8921..971554b 100644
snprintf(soc_info.sys_type, LTQ_SYS_TYPE_LEN - 1, "%s rev %s",
soc_info.name, soc_info.rev_type);
soc_info.sys_type[LTQ_SYS_TYPE_LEN - 1] = '\0';
--
1.7.9.1

View file

@ -18,8 +18,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
delete mode 100644 arch/mips/lantiq/xway/clk-xway.c
create mode 100644 arch/mips/lantiq/xway/clk.c
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index 45e480c..e9d2dd4 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -81,15 +81,6 @@
@ -49,8 +47,6 @@ index 45e480c..e9d2dd4 100644
static inline int ltq_is_ase(void)
{
return (ltq_get_soc_type() == SOC_TYPE_AMAZON_SE);
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index 6678402..4dcb96f 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,7 +1,7 @@
@ -64,9 +60,6 @@ index 6678402..4dcb96f 100644
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
diff --git a/arch/mips/lantiq/xway/clk-ase.c b/arch/mips/lantiq/xway/clk-ase.c
deleted file mode 100644
index 6522583..0000000
--- a/arch/mips/lantiq/xway/clk-ase.c
+++ /dev/null
@@ -1,48 +0,0 @@
@ -118,9 +111,6 @@ index 6522583..0000000
- return CLOCK_133M;
-}
-EXPORT_SYMBOL(ltq_get_fpi_hz);
diff --git a/arch/mips/lantiq/xway/clk-xway.c b/arch/mips/lantiq/xway/clk-xway.c
deleted file mode 100644
index 696b1a3..0000000
--- a/arch/mips/lantiq/xway/clk-xway.c
+++ /dev/null
@@ -1,223 +0,0 @@
@ -347,9 +337,6 @@ index 696b1a3..0000000
- return ddr_clock;
-}
-EXPORT_SYMBOL(ltq_get_fpi_hz);
diff --git a/arch/mips/lantiq/xway/clk.c b/arch/mips/lantiq/xway/clk.c
new file mode 100644
index 0000000..f3b50fc
--- /dev/null
+++ b/arch/mips/lantiq/xway/clk.c
@@ -0,0 +1,227 @@
@ -580,8 +567,6 @@ index 0000000..f3b50fc
+ return ddr_clock >> 1;
+ return ddr_clock;
+}
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 8fd13a1..c5782b5 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -8,17 +8,48 @@
@ -639,18 +624,18 @@ index 8fd13a1..c5782b5 100644
-void ltq_cgu_enable(unsigned int clk)
+static int ltq_cgu_enable(struct clk *clk)
{
- ltq_cgu_w32(ltq_cgu_r32(LTQ_CGU_IFCCR) | clk, LTQ_CGU_IFCCR);
+{
+ ltq_cgu_w32(ltq_cgu_r32(LTQ_CGU_IFCCR) | clk->bits, LTQ_CGU_IFCCR);
+ return 0;
+}
+
+static void ltq_cgu_disable(struct clk *clk)
{
- ltq_cgu_w32(ltq_cgu_r32(LTQ_CGU_IFCCR) | clk, LTQ_CGU_IFCCR);
+ ltq_cgu_w32(ltq_cgu_r32(LTQ_CGU_IFCCR) & ~clk->bits, LTQ_CGU_IFCCR);
}
-void ltq_pmu_enable(unsigned int module)
+static void ltq_cgu_disable(struct clk *clk)
+{
+ ltq_cgu_w32(ltq_cgu_r32(LTQ_CGU_IFCCR) & ~clk->bits, LTQ_CGU_IFCCR);
+}
+
+static int ltq_pmu_enable(struct clk *clk)
{
int err = 1000000;
@ -665,13 +650,10 @@ index 8fd13a1..c5782b5 100644
panic("activating PMU module failed!\n");
+
+ return 0;
}
-EXPORT_SYMBOL(ltq_pmu_enable);
-void ltq_pmu_disable(unsigned int module)
+}
+
+static void ltq_pmu_disable(struct clk *clk)
{
- ltq_pmu_w32(ltq_pmu_r32(LTQ_PMU_PWDCR) | module, LTQ_PMU_PWDCR);
+{
+ ltq_pmu_w32(ltq_pmu_r32(LTQ_PMU_PWDCR) | clk->bits, LTQ_PMU_PWDCR);
+}
+
@ -688,11 +670,14 @@ index 8fd13a1..c5782b5 100644
+ clk->module = module;
+ clk->bits = bits;
+ clkdev_add(&clk->cl);
+}
+
}
-EXPORT_SYMBOL(ltq_pmu_enable);
-void ltq_pmu_disable(unsigned int module)
+static inline void clkdev_add_cgu(const char *dev, const char *con,
+ unsigned int bits)
+{
{
- ltq_pmu_w32(ltq_pmu_r32(LTQ_PMU_PWDCR) | module, LTQ_PMU_PWDCR);
+ struct clk *clk = kzalloc(sizeof(struct clk), GFP_KERNEL);
+
+ clk->cl.dev_id = dev;
@ -731,6 +716,3 @@ index 8fd13a1..c5782b5 100644
+ clkdev_add_pmu("ltq_etop", "switch", 0, PMU_SWITCH);
+ }
}
--
1.7.9.1

View file

@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/falcon/sysctrl.c | 129 ++++++++++++--------
3 files changed, 80 insertions(+), 59 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
index 0aa1f16..120c56c 100644
--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
@@ -95,6 +95,7 @@
@ -38,16 +36,12 @@ index 0aa1f16..120c56c 100644
/* global register ranges */
extern __iomem void *ltq_ebu_membase;
extern __iomem void *ltq_sys1_membase;
diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile
index 56b22eb..3634154 100644
--- a/arch/mips/lantiq/falcon/Makefile
+++ b/arch/mips/lantiq/falcon/Makefile
@@ -1,2 +1,2 @@
-obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o
+obj-y := prom.o reset.o sysctrl.o devices.o gpio.o
obj-$(CONFIG_LANTIQ_MACH_EASY98000) += mach-easy98000.o
diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
index 905a142..900f0e5 100644
--- a/arch/mips/lantiq/falcon/sysctrl.c
+++ b/arch/mips/lantiq/falcon/sysctrl.c
@@ -9,11 +9,13 @@
@ -99,15 +93,16 @@ index 905a142..900f0e5 100644
-void
-ltq_sysctl_activate(int module, unsigned int mask)
+static int
+ltq_sysctl_activate(struct clk *clk)
{
-{
- if (module > SYSCTL_SYSGPE)
- return;
-
- ltq_reg_w32(module, mask, LTQ_SYSCTL_CLKEN);
- ltq_reg_w32(module, mask, LTQ_SYSCTL_ACT);
- ltq_sysctl_wait(module, mask, mask, LTQ_SYSCTL_ACTS);
+static int
+ltq_sysctl_activate(struct clk *clk)
+{
+ ltq_reg_w32(clk->module, clk->bits, LTQ_SYSCTL_CLKEN);
+ ltq_reg_w32(clk->module, clk->bits, LTQ_SYSCTL_ACT);
+ ltq_sysctl_wait(clk, clk->bits, LTQ_SYSCTL_ACTS);
@ -169,7 +164,8 @@ index 905a142..900f0e5 100644
+ltq_sysctl_reboot(struct clk *clk)
{
unsigned int act;
-
+ unsigned int bits;
- if (module > SYSCTL_SYSGPE)
- return;
-
@ -178,8 +174,6 @@ index 905a142..900f0e5 100644
- ltq_sysctl_activate(module, ~act & mask);
- ltq_reg_w32(module, act & mask, LTQ_SYSCTL_RBT);
- ltq_sysctl_wait(module, mask, mask, LTQ_SYSCTL_ACTS);
+ unsigned int bits;
+
+ act = ltq_reg_r32(clk->module, LTQ_SYSCTL_ACT);
+ bits = ~act & clk->bits;
+ if (bits != 0) {
@ -239,6 +233,3 @@ index 905a142..900f0e5 100644
+ clkdev_add_sys("ltq_asc.1", SYSCTL_SYS1, ACTS_ASC1_ACT);
+ clkdev_add_sys("falcon_i2c", SYSCTL_SYS1, ACTS_I2C_ACT);
}
--
1.7.9.1

View file

@ -12,9 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
2 files changed, 16 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/lantiq/xway/Makefile.rej
diff --git a/arch/mips/lantiq/xway/Makefile.rej b/arch/mips/lantiq/xway/Makefile.rej
new file mode 100644
index 0000000..c0d5b52
--- /dev/null
+++ b/arch/mips/lantiq/xway/Makefile.rej
@@ -0,0 +1,11 @@
@ -29,8 +26,6 @@ index 0000000..c0d5b52
+
+ obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
+ obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c
index 6cf883b..ce86529 100644
--- a/arch/mips/lantiq/xway/dma.c
+++ b/arch/mips/lantiq/xway/dma.c
@@ -20,6 +20,7 @@
@ -60,6 +55,3 @@ index 6cf883b..ce86529 100644
ltq_dma_w32_mask(0, DMA_RESET, LTQ_DMA_CTRL);
/* disable all interrupts */
--
1.7.9.1

View file

@ -10,8 +10,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/xway/gpio_stp.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
index e6b4809..da91c5e 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -15,6 +15,8 @@
@ -46,7 +44,7 @@ index e6b4809..da91c5e 100644
return 0;
}
@@ -138,7 +144,7 @@ static int __devinit ltq_stp_probe(struct platform_device *pdev)
@@ -138,7 +144,7 @@ static int __devinit ltq_stp_probe(struc
}
ret = gpiochip_add(&ltq_stp_chip);
if (!ret)
@ -55,6 +53,3 @@ index e6b4809..da91c5e 100644
return ret;
}
--
1.7.9.1

View file

@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/falcon/gpio.c | 10 ++++++++++
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c
index 4f47b44..6cd7a88 100644
--- a/arch/mips/lantiq/falcon/devices.c
+++ b/arch/mips/lantiq/falcon/devices.c
@@ -111,9 +111,6 @@ falcon_register_gpio(void)
@ -33,8 +31,6 @@ index 4f47b44..6cd7a88 100644
- ltq_sysctl_activate(SYSCTL_SYS1,
- ACTS_PADCTRL3 | ACTS_PADCTRL4 | ACTS_P3 | ACTS_P4);
}
diff --git a/arch/mips/lantiq/falcon/gpio.c b/arch/mips/lantiq/falcon/gpio.c
index a44f71b..4147d61 100644
--- a/arch/mips/lantiq/falcon/gpio.c
+++ b/arch/mips/lantiq/falcon/gpio.c
@@ -11,6 +11,7 @@
@ -53,7 +49,7 @@ index a44f71b..4147d61 100644
};
static struct falcon_gpio_port ltq_gpio_port[MAX_PORTS];
@@ -332,6 +334,14 @@ falcon_gpio_probe(struct platform_device *pdev)
@@ -332,6 +334,14 @@ falcon_gpio_probe(struct platform_device
goto err;
}
@ -68,6 +64,3 @@ index a44f71b..4147d61 100644
if (irq > 0) {
/* irq_chip support */
gpio_port->gpio_chip.to_irq = falcon_gpio_to_irq;
--
1.7.9.1

View file

@ -12,11 +12,9 @@ Cc: linux-serial@vger.kernel.org
drivers/tty/serial/lantiq.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
index 5d25828..1542ad6 100644
--- a/drivers/tty/serial/lantiq.c
+++ b/drivers/tty/serial/lantiq.c
@@ -540,6 +540,10 @@ lqasc_request_port(struct uart_port *port)
@@ -540,6 +540,10 @@ lqasc_request_port(struct uart_port *por
if (ltq_gpio_request(&pdev->dev, MUXC_SIF_TX_PIN,
3, 1, "asc1-tx"))
return -EBUSY;
@ -27,7 +25,7 @@ index 5d25828..1542ad6 100644
}
return 0;
}
@@ -698,7 +702,7 @@ lqasc_probe(struct platform_device *pdev)
@@ -698,7 +702,7 @@ lqasc_probe(struct platform_device *pdev
if (lqasc_port[pdev->id] != NULL)
return -EBUSY;
@ -36,6 +34,3 @@ index 5d25828..1542ad6 100644
if (IS_ERR(clk)) {
pr_err("failed to get fpi clk\n");
return -ENOENT;
--
1.7.9.1

View file

@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/tty/serial/lantiq.c | 7 ++++---
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/arch/mips/lantiq/falcon/prom.c b/arch/mips/lantiq/falcon/prom.c
index f98b389..2a4eea17 100644
--- a/arch/mips/lantiq/falcon/prom.c
+++ b/arch/mips/lantiq/falcon/prom.c
@@ -43,10 +43,8 @@ ltq_soc_setup(void)
@ -29,8 +27,6 @@ index f98b389..2a4eea17 100644
}
void __init
diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
index 1542ad6..82956de 100644
--- a/drivers/tty/serial/lantiq.c
+++ b/drivers/tty/serial/lantiq.c
@@ -117,6 +117,7 @@ static DEFINE_SPINLOCK(ltq_asc_lock);
@ -50,7 +46,7 @@ index 1542ad6..82956de 100644
ltq_w32_mask(ASCCLC_DISS | ASCCLC_RMCMASK, (1 << ASCCLC_RMCOFFSET),
port->membase + LTQ_ASC_CLC);
@@ -646,7 +647,7 @@ lqasc_console_setup(struct console *co, char *options)
@@ -646,7 +647,7 @@ lqasc_console_setup(struct console *co,
port = &ltq_port->port;
@ -59,7 +55,7 @@ index 1542ad6..82956de 100644
if (options)
uart_parse_options(options, &baud, &parity, &bits, &flow);
@@ -731,7 +732,7 @@ lqasc_probe(struct platform_device *pdev)
@@ -731,7 +732,7 @@ lqasc_probe(struct platform_device *pdev
port->irq = tx_irq; /* unused, just to be backward-compatibe */
port->mapbase = mmres->start;
@ -68,6 +64,3 @@ index 1542ad6..82956de 100644
ltq_port->tx_irq = tx_irq;
ltq_port->rx_irq = rx_irq;
--
1.7.9.1

View file

@ -11,8 +11,6 @@ Cc: netdev@vger.kernel.org
drivers/net/ethernet/lantiq_etop.c | 49 ++++++++++++++++++++++++++++++-----
1 files changed, 42 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index ad0fa54..8fbb069 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -36,6 +36,7 @@
@ -93,7 +91,7 @@ index ad0fa54..8fbb069 100644
/* we need to write this magic to the internal phy to
make it work */
ltq_etop_mdio_wr(NULL, 0x8, 0x12, 0xC020);
@@ -883,6 +900,24 @@ ltq_etop_probe(struct platform_device *pdev)
@@ -883,6 +900,24 @@ ltq_etop_probe(struct platform_device *p
priv->pdev = pdev;
priv->pldata = dev_get_platdata(&pdev->dev);
priv->netdev = dev;
@ -118,6 +116,3 @@ index ad0fa54..8fbb069 100644
spin_lock_init(&priv->lock);
for (i = 0; i < MAX_DMA_CHAN; i++) {
--
1.7.9.1

View file

@ -12,11 +12,9 @@ Cc: linux-watchdog@vger.kernel.org
drivers/watchdog/lantiq_wdt.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/watchdog/lantiq_wdt.c b/drivers/watchdog/lantiq_wdt.c
index 9c8b10c..fa4866b 100644
--- a/drivers/watchdog/lantiq_wdt.c
+++ b/drivers/watchdog/lantiq_wdt.c
@@ -206,7 +206,7 @@ ltq_wdt_probe(struct platform_device *pdev)
@@ -206,7 +206,7 @@ ltq_wdt_probe(struct platform_device *pd
}
/* we do not need to enable the clock as it is always running */
@ -25,6 +23,3 @@ index 9c8b10c..fa4866b 100644
WARN_ON(!clk);
ltq_io_region_clk_rate = clk_get_rate(clk);
clk_put(clk);
--
1.7.9.1

View file

@ -18,8 +18,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
delete mode 100644 arch/mips/lantiq/xway/prom-xway.c
create mode 100644 arch/mips/lantiq/xway/prom.c
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index 4dcb96f..9d1a0a2 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,7 +1,4 @@
@ -31,9 +29,6 @@ index 4dcb96f..9d1a0a2 100644
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
diff --git a/arch/mips/lantiq/xway/Makefile.rej b/arch/mips/lantiq/xway/Makefile.rej
deleted file mode 100644
index c0d5b52..0000000
--- a/arch/mips/lantiq/xway/Makefile.rej
+++ /dev/null
@@ -1,11 +0,0 @@
@ -48,9 +43,6 @@ index c0d5b52..0000000
-
- obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
- obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
diff --git a/arch/mips/lantiq/xway/prom-ase.c b/arch/mips/lantiq/xway/prom-ase.c
deleted file mode 100644
index 3f86a3b..0000000
--- a/arch/mips/lantiq/xway/prom-ase.c
+++ /dev/null
@@ -1,48 +0,0 @@
@ -102,9 +94,6 @@ index 3f86a3b..0000000
- ltq_register_gpio();
- ltq_register_wdt();
-}
diff --git a/arch/mips/lantiq/xway/prom-xway.c b/arch/mips/lantiq/xway/prom-xway.c
deleted file mode 100644
index d823a92..0000000
--- a/arch/mips/lantiq/xway/prom-xway.c
+++ /dev/null
@@ -1,64 +0,0 @@
@ -172,9 +161,6 @@ index d823a92..0000000
- ltq_register_gpio();
- ltq_register_wdt();
-}
diff --git a/arch/mips/lantiq/xway/prom.c b/arch/mips/lantiq/xway/prom.c
new file mode 100644
index 0000000..0929acb
--- /dev/null
+++ b/arch/mips/lantiq/xway/prom.c
@@ -0,0 +1,79 @@
@ -257,6 +243,3 @@ index 0000000..0929acb
+ ltq_register_gpio();
+ ltq_register_wdt();
+}
--
1.7.9.1

View file

@ -15,8 +15,6 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
arch/mips/lantiq/xway/sysctrl.c | 12 +++-
4 files changed, 103 insertions(+), 1 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index e9d2dd4..5d11eb7 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -21,6 +21,9 @@
@ -29,8 +27,6 @@ index e9d2dd4..5d11eb7 100644
/* SoC Types */
#define SOC_TYPE_DANUBE 0x01
diff --git a/arch/mips/lantiq/xway/clk.c b/arch/mips/lantiq/xway/clk.c
index f3b50fc..3635c9f 100644
--- a/arch/mips/lantiq/xway/clk.c
+++ b/arch/mips/lantiq/xway/clk.c
@@ -225,3 +225,86 @@ unsigned long ltq_danube_fpi_hz(void)
@ -120,11 +116,9 @@ index f3b50fc..3635c9f 100644
+{
+ return ltq_vr9_fpi_hz();
+}
diff --git a/arch/mips/lantiq/xway/prom.c b/arch/mips/lantiq/xway/prom.c
index 0929acb..b6f56b7 100644
--- a/arch/mips/lantiq/xway/prom.c
+++ b/arch/mips/lantiq/xway/prom.c
@@ -60,6 +60,12 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
@@ -60,6 +60,12 @@ void __init ltq_soc_detect(struct ltq_so
#endif
break;
@ -137,8 +131,6 @@ index 0929acb..b6f56b7 100644
default:
unreachable();
break;
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index c5782b5..38f02f9 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -147,7 +147,8 @@ void __init ltq_soc_init(void)
@ -167,6 +159,3 @@ index c5782b5..38f02f9 100644
} else {
clkdev_add_static(ltq_danube_cpu_hz(), ltq_danube_fpi_hz(),
ltq_danube_io_region_clock());
--
1.7.9.1

View file

@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/prom.c | 5 ++++
2 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
index ada3874..f17caec 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -9,6 +9,7 @@
@ -105,8 +103,6 @@ index ada3874..f17caec 100644
#if !defined(CONFIG_MIPS_MT_SMP) && !defined(CONFIG_MIPS_MT_SMTC)
set_c0_status(IE_IRQ0 | IE_IRQ1 | IE_IRQ2 |
IE_IRQ3 | IE_IRQ4 | IE_IRQ5);
diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
index 971554b..00ad59c 100644
--- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c
@@ -108,4 +108,9 @@ void __init prom_init(void)
@ -119,6 +115,3 @@ index 971554b..00ad59c 100644
+ panic("failed to register_vsmp_smp_ops()");
+#endif
}
--
1.7.9.1

View file

@ -8,8 +8,6 @@ Subject: [PATCH 34/70] MIPS: lantiq: add additional soc ids
arch/mips/lantiq/xway/prom.c | 35 ++++++++++++++++--
2 files changed, 61 insertions(+), 12 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index 5d11eb7..3f22acb 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -17,20 +17,32 @@
@ -73,8 +71,6 @@ index 5d11eb7..3f22acb 100644
}
static inline int ltq_is_falcon(void)
diff --git a/arch/mips/lantiq/xway/prom.c b/arch/mips/lantiq/xway/prom.c
index b6f56b7..e3dcbbd 100644
--- a/arch/mips/lantiq/xway/prom.c
+++ b/arch/mips/lantiq/xway/prom.c
@@ -18,7 +18,9 @@
@ -95,7 +91,7 @@ index b6f56b7..e3dcbbd 100644
void __init ltq_soc_detect(struct ltq_soc_info *i)
{
@@ -46,13 +47,21 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
@@ -46,13 +47,21 @@ void __init ltq_soc_detect(struct ltq_so
break;
case SOC_ID_ARX188:
@ -119,7 +115,7 @@ index b6f56b7..e3dcbbd 100644
i->name = SOC_AMAZON_SE;
i->type = SOC_TYPE_AMAZON_SE;
#ifdef CONFIG_PCI
@@ -60,12 +69,30 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
@@ -60,12 +69,30 @@ void __init ltq_soc_detect(struct ltq_so
#endif
break;
@ -151,6 +147,3 @@ index b6f56b7..e3dcbbd 100644
default:
unreachable();
break;
--
1.7.9.1

View file

@ -20,8 +20,6 @@ Cc: spi-devel-general@lists.sourceforge.net
6 files changed, 532 insertions(+), 0 deletions(-)
create mode 100644 drivers/spi/spi-falcon.c
diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c
index 6cd7a88..92ec571 100644
--- a/arch/mips/lantiq/falcon/devices.c
+++ b/arch/mips/lantiq/falcon/devices.c
@@ -121,3 +121,16 @@ falcon_register_gpio_extra(void)
@ -41,8 +39,6 @@ index 6cd7a88..92ec571 100644
+ spi_register_board_info(data, 1);
+ platform_device_register(&ltq_spi);
+}
diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h
index 18be8b6..5e6f720 100644
--- a/arch/mips/lantiq/falcon/devices.h
+++ b/arch/mips/lantiq/falcon/devices.h
@@ -11,10 +11,14 @@
@ -60,11 +56,9 @@ index 18be8b6..5e6f720 100644
+extern void falcon_register_spi_flash(struct spi_board_info *data);
#endif
diff --git a/arch/mips/lantiq/falcon/mach-easy98000.c b/arch/mips/lantiq/falcon/mach-easy98000.c
index 361b8f0..1a7caad 100644
--- a/arch/mips/lantiq/falcon/mach-easy98000.c
+++ b/arch/mips/lantiq/falcon/mach-easy98000.c
@@ -40,6 +40,21 @@ struct physmap_flash_data easy98000_nor_flash_data = {
@@ -40,6 +40,21 @@ struct physmap_flash_data easy98000_nor_
.parts = easy98000_nor_partitions,
};
@ -112,11 +106,9 @@ index 361b8f0..1a7caad 100644
MIPS_MACHINE(LANTIQ_MACH_EASY98000NAND,
"EASY98000NAND",
"EASY98000 Eval Board (NAND Flash)",
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 8293658..41f8336 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -179,6 +179,10 @@ config SPI_MPC52xx
@@ -188,6 +188,10 @@ config SPI_MPC52xx
This drivers supports the MPC52xx SPI controller in master SPI
mode.
@ -127,11 +119,9 @@ index 8293658..41f8336 100644
config SPI_MPC52xx_PSC
tristate "Freescale MPC52xx PSC SPI controller"
depends on PPC_MPC52xx && EXPERIMENTAL
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
index 61c3261..570894c 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
@@ -25,6 +25,7 @@ obj-$(CONFIG_SPI_DW_MMIO) += spi-dw-mmio.o
@@ -25,6 +25,7 @@ obj-$(CONFIG_SPI_DW_MMIO) += spi-dw-mmi
obj-$(CONFIG_SPI_DW_PCI) += spi-dw-midpci.o
spi-dw-midpci-objs := spi-dw-pci.o spi-dw-mid.o
obj-$(CONFIG_SPI_EP93XX) += spi-ep93xx.o
@ -139,9 +129,6 @@ index 61c3261..570894c 100644
obj-$(CONFIG_SPI_FSL_LIB) += spi-fsl-lib.o
obj-$(CONFIG_SPI_FSL_ESPI) += spi-fsl-espi.o
obj-$(CONFIG_SPI_FSL_SPI) += spi-fsl-spi.o
diff --git a/drivers/spi/spi-falcon.c b/drivers/spi/spi-falcon.c
new file mode 100644
index 0000000..447bbaa
--- /dev/null
+++ b/drivers/spi/spi-falcon.c
@@ -0,0 +1,483 @@
@ -628,6 +615,3 @@ index 0000000..447bbaa
+
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Lantiq Falcon SPI controller driver");
--
1.7.9.1

View file

@ -21,8 +21,6 @@ Cc: linux-i2c@vger.kernel.org
delete mode 100644 arch/mips/lantiq/falcon/clk.c
create mode 100644 drivers/i2c/busses/i2c-falcon.c
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
index 120c56c..fff5ecd 100644
--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
@@ -72,6 +72,10 @@
@ -44,9 +42,6 @@ index 120c56c..fff5ecd 100644
/* global register ranges */
extern __iomem void *ltq_ebu_membase;
diff --git a/arch/mips/lantiq/falcon/clk.c b/arch/mips/lantiq/falcon/clk.c
deleted file mode 100644
index afe1b52..0000000
--- a/arch/mips/lantiq/falcon/clk.c
+++ /dev/null
@@ -1,44 +0,0 @@
@ -94,11 +89,9 @@ index afe1b52..0000000
- return CLOCK_100M;
-}
-EXPORT_SYMBOL(ltq_get_fpi_hz);
diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c
index 92ec571..e684ed4 100644
--- a/arch/mips/lantiq/falcon/devices.c
+++ b/arch/mips/lantiq/falcon/devices.c
@@ -134,3 +134,19 @@ falcon_register_spi_flash(struct spi_board_info *data)
@@ -134,3 +134,19 @@ falcon_register_spi_flash(struct spi_boa
spi_register_board_info(data, 1);
platform_device_register(&ltq_spi);
}
@ -118,8 +111,6 @@ index 92ec571..e684ed4 100644
+ platform_device_register_simple("i2c-falcon", 0,
+ falcon_i2c_resources, ARRAY_SIZE(falcon_i2c_resources));
+}
diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h
index 5e6f720..d81edbe 100644
--- a/arch/mips/lantiq/falcon/devices.h
+++ b/arch/mips/lantiq/falcon/devices.h
@@ -20,5 +20,6 @@ extern void falcon_register_nand(void);
@ -129,8 +120,6 @@ index 5e6f720..d81edbe 100644
+extern void falcon_register_i2c(void);
#endif
diff --git a/arch/mips/lantiq/falcon/mach-easy98000.c b/arch/mips/lantiq/falcon/mach-easy98000.c
index 1a7caad..fc5720d 100644
--- a/arch/mips/lantiq/falcon/mach-easy98000.c
+++ b/arch/mips/lantiq/falcon/mach-easy98000.c
@@ -98,6 +98,7 @@ easy98000_init_common(void)
@ -141,8 +130,6 @@ index 1a7caad..fc5720d 100644
}
static void __init
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index 3101dd5..e8d149d 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -369,6 +369,16 @@ config I2C_DESIGNWARE_PCI
@ -162,11 +149,9 @@ index 3101dd5..e8d149d 100644
config I2C_GPIO
tristate "GPIO-based bitbanging I2C"
depends on GENERIC_GPIO
diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
index fba6da6..36239c8 100644
--- a/drivers/i2c/busses/Makefile
+++ b/drivers/i2c/busses/Makefile
@@ -37,6 +37,7 @@ obj-$(CONFIG_I2C_DESIGNWARE_PLATFORM) += i2c-designware-platform.o
@@ -37,6 +37,7 @@ obj-$(CONFIG_I2C_DESIGNWARE_PLATFORM) +=
i2c-designware-platform-objs := i2c-designware-platdrv.o i2c-designware-core.o
obj-$(CONFIG_I2C_DESIGNWARE_PCI) += i2c-designware-pci.o
i2c-designware-pci-objs := i2c-designware-pcidrv.o i2c-designware-core.o
@ -174,9 +159,6 @@ index fba6da6..36239c8 100644
obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o
obj-$(CONFIG_I2C_HIGHLANDER) += i2c-highlander.o
obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o
diff --git a/drivers/i2c/busses/i2c-falcon.c b/drivers/i2c/busses/i2c-falcon.c
new file mode 100644
index 0000000..fc4f0eb
--- /dev/null
+++ b/drivers/i2c/busses/i2c-falcon.c
@@ -0,0 +1,1040 @@
@ -1220,6 +1202,3 @@ index 0000000..fc4f0eb
+MODULE_ALIAS("platform:" DRV_NAME);
+MODULE_LICENSE("GPL");
+MODULE_VERSION(DRV_VERSION);
--
1.7.9.1

View file

@ -25,8 +25,6 @@ TODO : memory ranges
6 files changed, 222 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/lantiq/xway/nand.c
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index 3f22acb..ab2d236 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -145,6 +145,8 @@
@ -38,8 +36,6 @@ index 3f22acb..ab2d236 100644
#define ltq_cgu_w32(x, y) ltq_w32((x), ltq_cgu_membase + (y))
#define ltq_cgu_r32(x) ltq_r32(ltq_cgu_membase + (x))
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index 9d1a0a2..277aa34 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,4 +1,4 @@
@ -48,8 +44,6 @@ index 9d1a0a2..277aa34 100644
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
diff --git a/arch/mips/lantiq/xway/devices.h b/arch/mips/lantiq/xway/devices.h
index e904934..d825cbd 100644
--- a/arch/mips/lantiq/xway/devices.h
+++ b/arch/mips/lantiq/xway/devices.h
@@ -16,5 +16,6 @@ extern void ltq_register_gpio(void);
@ -59,9 +53,6 @@ index e904934..d825cbd 100644
+extern void xway_register_nand(struct mtd_partition *parts, int count);
#endif
diff --git a/arch/mips/lantiq/xway/nand.c b/arch/mips/lantiq/xway/nand.c
new file mode 100644
index 0000000..9ab91d8
--- /dev/null
+++ b/arch/mips/lantiq/xway/nand.c
@@ -0,0 +1,216 @@
@ -281,11 +272,9 @@ index 0000000..9ab91d8
+ falcon_flash_nand_data.chip.nr_partitions = count;
+ platform_device_register(&ltq_flash_nand);
+}
diff --git a/drivers/mtd/nand/plat_nand.c b/drivers/mtd/nand/plat_nand.c
index 7f2da69..916a2ef 100644
--- a/drivers/mtd/nand/plat_nand.c
+++ b/drivers/mtd/nand/plat_nand.c
@@ -75,6 +75,7 @@ static int __devinit plat_nand_probe(struct platform_device *pdev)
@@ -75,6 +75,7 @@ static int __devinit plat_nand_probe(str
data->chip.select_chip = pdata->ctrl.select_chip;
data->chip.write_buf = pdata->ctrl.write_buf;
data->chip.read_buf = pdata->ctrl.read_buf;
@ -293,11 +282,9 @@ index 7f2da69..916a2ef 100644
data->chip.chip_delay = pdata->chip.chip_delay;
data->chip.options |= pdata->chip.options;
data->chip.bbt_options |= pdata->chip.bbt_options;
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index 63b5a8b..597f079 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -651,6 +651,7 @@ struct platform_nand_ctrl {
@@ -652,6 +652,7 @@ struct platform_nand_ctrl {
void (*cmd_ctrl)(struct mtd_info *mtd, int dat, unsigned int ctrl);
void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len);
void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len);
@ -305,6 +292,3 @@ index 63b5a8b..597f079 100644
void *priv;
};
--
1.7.9.1

View file

@ -12,8 +12,6 @@ Subject: [PATCH 38/70] SPI: MIPS: lantiq: adds spi xway
5 files changed, 1088 insertions(+), 0 deletions(-)
create mode 100644 drivers/spi/spi-xway.c
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_platform.h b/arch/mips/include/asm/mach-lantiq/lantiq_platform.h
index a305f1d..38ed938 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq_platform.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq_platform.h
@@ -50,4 +50,13 @@ struct ltq_eth_data {
@ -30,8 +28,6 @@ index a305f1d..38ed938 100644
+};
+
#endif
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
index 2a8d5ad..b7f10e6 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
@@ -27,6 +27,8 @@
@ -43,11 +39,9 @@ index 2a8d5ad..b7f10e6 100644
#define LTQ_SSC_EIR (INT_NUM_IM0_IRL0 + 16)
#define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM1_IRL0 + 21)
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 41f8336..f0eaeeb 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -382,6 +382,14 @@ config SPI_NUC900
@@ -391,6 +391,14 @@ config SPI_NUC900
help
SPI driver for Nuvoton NUC900 series ARM SoCs
@ -62,19 +56,14 @@ index 41f8336..f0eaeeb 100644
#
# Add new SPI master controllers in alphabetical order above this line
#
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
index 570894c..a465d9a 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
@@ -59,4 +59,5 @@ obj-$(CONFIG_SPI_TLE62X0) += spi-tle62x0.o
@@ -60,4 +60,5 @@ obj-$(CONFIG_SPI_TLE62X0) += spi-tle62x
obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-topcliff-pch.o
obj-$(CONFIG_SPI_TXX9) += spi-txx9.o
obj-$(CONFIG_SPI_XILINX) += spi-xilinx.o
+obj-$(CONFIG_SPI_XWAY) += spi-xway.o
diff --git a/drivers/spi/spi-xway.c b/drivers/spi/spi-xway.c
new file mode 100644
index 0000000..016a6d0
--- /dev/null
+++ b/drivers/spi/spi-xway.c
@@ -0,0 +1,1068 @@
@ -1146,6 +1135,3 @@ index 0000000..016a6d0
+MODULE_AUTHOR("Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:ltq-spi");
--
1.7.9.1

View file

@ -13,8 +13,6 @@ Subject: [PATCH 39/70] NET: adds driver for lantiq vr9 ethernet
6 files changed, 1387 insertions(+), 1 deletions(-)
create mode 100644 drivers/net/ethernet/lantiq_vrx200.c
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index ab2d236..d1b8cc8 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -102,7 +102,7 @@
@ -26,11 +24,9 @@ index ab2d236..d1b8cc8 100644
/* DMA */
#define LTQ_DMA_BASE_ADDR 0x1E104100
diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c
index eab4644d..5efa4f3 100644
--- a/arch/mips/lantiq/xway/devices.c
+++ b/arch/mips/lantiq/xway/devices.c
@@ -83,6 +83,7 @@ static struct platform_device ltq_etop = {
@@ -83,6 +83,7 @@ static struct platform_device ltq_etop =
.name = "ltq_etop",
.resource = ltq_etop_resources,
.num_resources = 1,
@ -38,7 +34,7 @@ index eab4644d..5efa4f3 100644
};
void __init
@@ -96,3 +97,22 @@ ltq_register_etop(struct ltq_eth_data *eth)
@@ -96,3 +97,22 @@ ltq_register_etop(struct ltq_eth_data *e
platform_device_register(&ltq_etop);
}
}
@ -61,8 +57,6 @@ index eab4644d..5efa4f3 100644
+ ltq_vrx200.dev.platform_data = eth;
+ platform_device_register(&ltq_vrx200);
+}
diff --git a/arch/mips/lantiq/xway/devices.h b/arch/mips/lantiq/xway/devices.h
index d825cbd..08befd9 100644
--- a/arch/mips/lantiq/xway/devices.h
+++ b/arch/mips/lantiq/xway/devices.h
@@ -17,5 +17,6 @@ extern void ltq_register_gpio_stp(void);
@ -72,8 +66,6 @@ index d825cbd..08befd9 100644
+extern void ltq_register_vrx200(struct ltq_eth_data *eth);
#endif
diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig
index 3474a61..e1caa1b 100644
--- a/drivers/net/ethernet/Kconfig
+++ b/drivers/net/ethernet/Kconfig
@@ -85,6 +85,12 @@ config LANTIQ_ETOP
@ -89,8 +81,6 @@ index 3474a61..e1caa1b 100644
source "drivers/net/ethernet/marvell/Kconfig"
source "drivers/net/ethernet/mellanox/Kconfig"
source "drivers/net/ethernet/micrel/Kconfig"
diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile
index 08d5f03..0c47dc5 100644
--- a/drivers/net/ethernet/Makefile
+++ b/drivers/net/ethernet/Makefile
@@ -36,6 +36,7 @@ obj-$(CONFIG_IP1000) += icplus/
@ -101,9 +91,6 @@ index 08d5f03..0c47dc5 100644
obj-$(CONFIG_NET_VENDOR_MARVELL) += marvell/
obj-$(CONFIG_NET_VENDOR_MELLANOX) += mellanox/
obj-$(CONFIG_NET_VENDOR_MICREL) += micrel/
diff --git a/drivers/net/ethernet/lantiq_vrx200.c b/drivers/net/ethernet/lantiq_vrx200.c
new file mode 100644
index 0000000..d79d380
--- /dev/null
+++ b/drivers/net/ethernet/lantiq_vrx200.c
@@ -0,0 +1,1358 @@
@ -1465,6 +1452,3 @@ index 0000000..d79d380
+MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
+MODULE_DESCRIPTION("Lantiq SoC ETOP");
+MODULE_LICENSE("GPL");
--
1.7.9.1

View file

@ -7,8 +7,6 @@ Subject: [PATCH 40/70] MIPS: NET: several fixes to etop driver
drivers/net/ethernet/lantiq_etop.c | 208 +++++++++++++++++++-----------------
1 files changed, 108 insertions(+), 100 deletions(-)
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index 8fbb069..97ddb09 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -103,15 +103,6 @@
@ -48,7 +46,7 @@ index 8fbb069..97ddb09 100644
spinlock_t lock;
@@ -207,8 +198,10 @@ ltq_etop_poll_rx(struct napi_struct *napi, int budget)
@@ -207,8 +198,10 @@ ltq_etop_poll_rx(struct napi_struct *nap
{
struct ltq_etop_chan *ch = container_of(napi,
struct ltq_etop_chan, napi);
@ -59,7 +57,7 @@ index 8fbb069..97ddb09 100644
while ((rx < budget) && !complete) {
struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc];
@@ -222,7 +215,9 @@ ltq_etop_poll_rx(struct napi_struct *napi, int budget)
@@ -222,7 +215,9 @@ ltq_etop_poll_rx(struct napi_struct *nap
}
if (complete || !rx) {
napi_complete(&ch->napi);
@ -69,7 +67,7 @@ index 8fbb069..97ddb09 100644
}
return rx;
}
@@ -234,7 +229,7 @@ ltq_etop_poll_tx(struct napi_struct *napi, int budget)
@@ -234,7 +229,7 @@ ltq_etop_poll_tx(struct napi_struct *nap
container_of(napi, struct ltq_etop_chan, napi);
struct ltq_etop_priv *priv = netdev_priv(ch->netdev);
struct netdev_queue *txq =
@ -78,7 +76,7 @@ index 8fbb069..97ddb09 100644
unsigned long flags;
spin_lock_irqsave(&priv->lock, flags);
@@ -252,7 +247,9 @@ ltq_etop_poll_tx(struct napi_struct *napi, int budget)
@@ -252,7 +247,9 @@ ltq_etop_poll_tx(struct napi_struct *nap
if (netif_tx_queue_stopped(txq))
netif_tx_start_queue(txq);
napi_complete(&ch->napi);
@ -102,7 +100,7 @@ index 8fbb069..97ddb09 100644
return IRQ_HANDLED;
}
@@ -274,7 +272,7 @@ ltq_etop_free_channel(struct net_device *dev, struct ltq_etop_chan *ch)
@@ -274,7 +272,7 @@ ltq_etop_free_channel(struct net_device
ltq_dma_free(&ch->dma);
if (ch->dma.irq)
free_irq(ch->dma.irq, priv);
@ -212,7 +210,7 @@ index 8fbb069..97ddb09 100644
return err;
}
@@ -411,7 +424,10 @@ ltq_etop_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
@@ -411,7 +424,10 @@ ltq_etop_get_settings(struct net_device
{
struct ltq_etop_priv *priv = netdev_priv(dev);
@ -224,7 +222,7 @@ index 8fbb069..97ddb09 100644
}
static int
@@ -419,7 +435,10 @@ ltq_etop_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
@@ -419,7 +435,10 @@ ltq_etop_set_settings(struct net_device
{
struct ltq_etop_priv *priv = netdev_priv(dev);
@ -236,7 +234,7 @@ index 8fbb069..97ddb09 100644
}
static int
@@ -427,7 +446,10 @@ ltq_etop_nway_reset(struct net_device *dev)
@@ -427,7 +446,10 @@ ltq_etop_nway_reset(struct net_device *d
{
struct ltq_etop_priv *priv = netdev_priv(dev);
@ -304,7 +302,7 @@ index 8fbb069..97ddb09 100644
return 0;
}
@@ -662,16 +685,16 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
@@ -662,16 +685,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
int queue = skb_get_queue_mapping(skb);
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
struct ltq_etop_priv *priv = netdev_priv(dev);
@ -325,7 +323,7 @@ index 8fbb069..97ddb09 100644
netdev_err(dev, "tx ring full\n");
netif_tx_stop_queue(txq);
return NETDEV_TX_BUSY;
@@ -679,7 +702,7 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
@@ -679,7 +702,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
/* dma needs to start on a 16 byte aligned address */
byte_offset = CPHYSADDR(skb->data) % 16;
@ -334,7 +332,7 @@ index 8fbb069..97ddb09 100644
dev->trans_start = jiffies;
@@ -689,11 +712,11 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
@@ -689,11 +712,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
wmb();
desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
LTQ_DMA_TX_OFFSET(byte_offset) | (len & LTQ_DMA_SIZE_MASK);
@ -360,7 +358,7 @@ index 8fbb069..97ddb09 100644
ltq_etop_change_mtu(dev, 1500);
memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr));
@@ -813,6 +840,9 @@ ltq_etop_tx_timeout(struct net_device *dev)
@@ -813,6 +840,9 @@ ltq_etop_tx_timeout(struct net_device *d
err = ltq_etop_hw_init(dev);
if (err)
goto err_hw;
@ -370,7 +368,7 @@ index 8fbb069..97ddb09 100644
dev->trans_start = jiffies;
netif_wake_queue(dev);
return;
@@ -836,14 +866,13 @@ static const struct net_device_ops ltq_eth_netdev_ops = {
@@ -836,14 +866,13 @@ static const struct net_device_ops ltq_e
.ndo_tx_timeout = ltq_etop_tx_timeout,
};
@ -386,7 +384,7 @@ index 8fbb069..97ddb09 100644
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res) {
@@ -920,15 +949,10 @@ ltq_etop_probe(struct platform_device *pdev)
@@ -920,15 +949,10 @@ ltq_etop_probe(struct platform_device *p
spin_lock_init(&priv->lock);
@ -406,7 +404,7 @@ index 8fbb069..97ddb09 100644
err = register_netdev(dev);
if (err)
@@ -958,6 +982,7 @@ ltq_etop_remove(struct platform_device *pdev)
@@ -958,6 +982,7 @@ ltq_etop_remove(struct platform_device *
}
static struct platform_driver ltq_mii_driver = {
@ -414,7 +412,7 @@ index 8fbb069..97ddb09 100644
.remove = __devexit_p(ltq_etop_remove),
.driver = {
.name = "ltq_etop",
@@ -965,24 +990,7 @@ static struct platform_driver ltq_mii_driver = {
@@ -965,24 +990,7 @@ static struct platform_driver ltq_mii_dr
},
};
@ -440,6 +438,3 @@ index 8fbb069..97ddb09 100644
MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
MODULE_DESCRIPTION("Lantiq SoC ETOP");
--
1.7.9.1

View file

@ -12,11 +12,9 @@ Cc: linux-mtd@lists.infradead.org
drivers/mtd/maps/lantiq-flash.c | 22 +++-------------------
1 files changed, 3 insertions(+), 19 deletions(-)
diff --git a/drivers/mtd/maps/lantiq-flash.c b/drivers/mtd/maps/lantiq-flash.c
index cf7a3cd..ccc6954 100644
--- a/drivers/mtd/maps/lantiq-flash.c
+++ b/drivers/mtd/maps/lantiq-flash.c
@@ -108,7 +108,7 @@ ltq_copy_to(struct map_info *map, unsigned long to,
@@ -108,7 +108,7 @@ ltq_copy_to(struct map_info *map, unsign
spin_unlock_irqrestore(&ebu_lock, flags);
}
@ -25,7 +23,7 @@ index cf7a3cd..ccc6954 100644
ltq_mtd_probe(struct platform_device *pdev)
{
struct physmap_flash_data *ltq_mtd_data = dev_get_platdata(&pdev->dev);
@@ -204,6 +204,7 @@ ltq_mtd_remove(struct platform_device *pdev)
@@ -204,6 +204,7 @@ ltq_mtd_remove(struct platform_device *p
}
static struct platform_driver ltq_mtd_driver = {
@ -33,7 +31,7 @@ index cf7a3cd..ccc6954 100644
.remove = __devexit_p(ltq_mtd_remove),
.driver = {
.name = "ltq_nor",
@@ -211,24 +212,7 @@ static struct platform_driver ltq_mtd_driver = {
@@ -211,24 +212,7 @@ static struct platform_driver ltq_mtd_dr
},
};
@ -59,6 +57,3 @@ index cf7a3cd..ccc6954 100644
MODULE_LICENSE("GPL");
MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
--
1.7.9.1

View file

@ -12,11 +12,9 @@ Cc: linux-watchdog@vger.kernel.org
drivers/watchdog/lantiq_wdt.c | 19 +++----------------
1 files changed, 3 insertions(+), 16 deletions(-)
diff --git a/drivers/watchdog/lantiq_wdt.c b/drivers/watchdog/lantiq_wdt.c
index fa4866b..70127b3 100644
--- a/drivers/watchdog/lantiq_wdt.c
+++ b/drivers/watchdog/lantiq_wdt.c
@@ -182,7 +182,7 @@ static struct miscdevice ltq_wdt_miscdev = {
@@ -182,7 +182,7 @@ static struct miscdevice ltq_wdt_miscdev
.fops = &ltq_wdt_fops,
};
@ -25,7 +23,7 @@ index fa4866b..70127b3 100644
ltq_wdt_probe(struct platform_device *pdev)
{
struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -227,6 +227,7 @@ ltq_wdt_remove(struct platform_device *pdev)
@@ -227,6 +227,7 @@ ltq_wdt_remove(struct platform_device *p
static struct platform_driver ltq_wdt_driver = {
@ -33,7 +31,7 @@ index fa4866b..70127b3 100644
.remove = __devexit_p(ltq_wdt_remove),
.driver = {
.name = "ltq_wdt",
@@ -234,21 +235,7 @@ static struct platform_driver ltq_wdt_driver = {
@@ -234,21 +235,7 @@ static struct platform_driver ltq_wdt_dr
},
};
@ -56,6 +54,3 @@ index fa4866b..70127b3 100644
module_param(nowayout, int, 0);
MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started");
--
1.7.9.1

View file

@ -12,9 +12,6 @@ Subject: [PATCH 43/70] MIPS: lantiq: adds GPTU driver
create mode 100644 arch/mips/include/asm/mach-lantiq/lantiq_timer.h
create mode 100644 arch/mips/lantiq/xway/timer.c
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_timer.h b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h
new file mode 100644
index 0000000..ef564ab
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h
@@ -0,0 +1,155 @@
@ -173,8 +170,6 @@ index 0000000..ef564ab
+ u32 reload, unsigned long arg1, unsigned long arg2);
+
+#endif /* __DANUBE_GPTU_DEV_H__2005_07_26__10_19__ */
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index 277aa34..4c3106f 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,4 +1,4 @@
@ -183,8 +178,6 @@ index 277aa34..4c3106f 100644
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 38f02f9..1a2e2d4 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -147,6 +147,7 @@ void __init ltq_soc_init(void)
@ -195,9 +188,6 @@ index 38f02f9..1a2e2d4 100644
if (!ltq_is_vr9())
clkdev_add_pmu("ltq_etop", NULL, 0, PMU_PPE);
if (ltq_is_ase()) {
diff --git a/arch/mips/lantiq/xway/timer.c b/arch/mips/lantiq/xway/timer.c
new file mode 100644
index 0000000..9794c87
--- /dev/null
+++ b/arch/mips/lantiq/xway/timer.c
@@ -0,0 +1,846 @@
@ -1047,6 +1037,3 @@ index 0000000..9794c87
+
+module_init(lq_gptu_init);
+module_exit(lq_gptu_exit);
--
1.7.9.1

View file

@ -45,8 +45,6 @@ Subject: [PATCH 44/70] MIPS: lantiq: adds dwc_otg
create mode 100644 drivers/usb/dwc_otg/dwc_otg_plat.h
create mode 100644 drivers/usb/dwc_otg/dwc_otg_regs.h
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 75823a1..8469e23 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -130,6 +130,8 @@ source "drivers/usb/wusbcore/Kconfig"
@ -58,8 +56,6 @@ index 75823a1..8469e23 100644
source "drivers/usb/musb/Kconfig"
source "drivers/usb/renesas_usbhs/Kconfig"
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
index 53a7bc0..d46b792 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -32,6 +32,8 @@ obj-$(CONFIG_USB_C67X00_HCD) += c67x00/
@ -71,11 +67,9 @@ index 53a7bc0..d46b792 100644
obj-$(CONFIG_USB_ACM) += class/
obj-$(CONFIG_USB_PRINTER) += class/
obj-$(CONFIG_USB_WDM) += class/
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 265c2f6..5d39022 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -2938,11 +2938,11 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1,
@@ -2938,11 +2938,11 @@ hub_port_init (struct usb_hub *hub, stru
udev->ttport = hdev->ttport;
} else if (udev->speed != USB_SPEED_HIGH
&& hdev->speed == USB_SPEED_HIGH) {
@ -89,9 +83,6 @@ index 265c2f6..5d39022 100644
udev->tt = &hub->tt;
udev->ttport = port1;
}
diff --git a/drivers/usb/dwc_otg/Kconfig b/drivers/usb/dwc_otg/Kconfig
new file mode 100644
index 0000000..e018490
--- /dev/null
+++ b/drivers/usb/dwc_otg/Kconfig
@@ -0,0 +1,37 @@
@ -132,9 +123,6 @@ index 0000000..e018490
+config DWC_OTG_DEBUG
+ bool "Enable debug mode"
+ depends on DWC_OTG
diff --git a/drivers/usb/dwc_otg/Makefile b/drivers/usb/dwc_otg/Makefile
new file mode 100644
index 0000000..d4d2355
--- /dev/null
+++ b/drivers/usb/dwc_otg/Makefile
@@ -0,0 +1,39 @@
@ -177,9 +165,6 @@ index 0000000..d4d2355
+
+#obj-$(CONFIG_DWC_OTG_IFX) := dwc_otg_ifx.o
+#dwc_otg_ifx-objs := dwc_otg_ifx.o
diff --git a/drivers/usb/dwc_otg/dwc_otg_attr.c b/drivers/usb/dwc_otg/dwc_otg_attr.c
new file mode 100644
index 0000000..4675a5c
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_attr.c
@@ -0,0 +1,802 @@
@ -985,9 +970,6 @@ index 0000000..4675a5c
+ device_remove_file(_dev, &dev_attr_rd_reg_test);
+ device_remove_file(_dev, &dev_attr_wr_reg_test);
+}
diff --git a/drivers/usb/dwc_otg/dwc_otg_attr.h b/drivers/usb/dwc_otg/dwc_otg_attr.h
new file mode 100644
index 0000000..4bbf7df0
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_attr.h
@@ -0,0 +1,67 @@
@ -1058,9 +1040,6 @@ index 0000000..4bbf7df0
+void dwc_otg_attr_remove (struct device *_dev);
+
+#endif
diff --git a/drivers/usb/dwc_otg/dwc_otg_cil.c b/drivers/usb/dwc_otg/dwc_otg_cil.c
new file mode 100644
index 0000000..42c69eb
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil.c
@@ -0,0 +1,3025 @@
@ -4089,9 +4068,6 @@ index 0000000..42c69eb
+ _cb->p = _p;
+}
+
diff --git a/drivers/usb/dwc_otg/dwc_otg_cil.h b/drivers/usb/dwc_otg/dwc_otg_cil.h
new file mode 100644
index 0000000..bbb9516
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil.h
@@ -0,0 +1,911 @@
@ -5006,9 +4982,6 @@ index 0000000..bbb9516
+
+
+#endif
diff --git a/drivers/usb/dwc_otg/dwc_otg_cil_ifx.h b/drivers/usb/dwc_otg/dwc_otg_cil_ifx.h
new file mode 100644
index 0000000..b0298ec
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil_ifx.h
@@ -0,0 +1,58 @@
@ -5070,9 +5043,6 @@ index 0000000..b0298ec
+
+#endif // __DWC_OTG_CIL_IFX_H__
+
diff --git a/drivers/usb/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/dwc_otg/dwc_otg_cil_intr.c
new file mode 100644
index 0000000..d469ab4
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil_intr.c
@@ -0,0 +1,708 @@
@ -5784,9 +5754,6 @@ index 0000000..d469ab4
+ }
+ return retval;
+}
diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.c b/drivers/usb/dwc_otg/dwc_otg_driver.c
new file mode 100644
index 0000000..1b0daab
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_driver.c
@@ -0,0 +1,1274 @@
@ -7064,9 +7031,6 @@ index 0000000..1b0daab
+ </td></tr>
+
+*/
diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.h b/drivers/usb/dwc_otg/dwc_otg_driver.h
new file mode 100644
index 0000000..7e6940d
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_driver.h
@@ -0,0 +1,84 @@
@ -7154,9 +7118,6 @@ index 0000000..7e6940d
+//#define dev_dbg(fake, format, arg...) printk(KERN_CRIT __FILE__ ":%d: " format "\n" , __LINE__, ## arg)
+
+#endif
diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd.c b/drivers/usb/dwc_otg/dwc_otg_hcd.c
new file mode 100644
index 0000000..ad6bc72
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd.c
@@ -0,0 +1,2870 @@
@ -10030,9 +9991,6 @@ index 0000000..ad6bc72
+#endif
+}
+#endif /* DWC_DEVICE_ONLY */
diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd.h b/drivers/usb/dwc_otg/dwc_otg_hcd.h
new file mode 100644
index 0000000..8a20dff
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd.h
@@ -0,0 +1,676 @@
@ -10712,9 +10670,6 @@ index 0000000..8a20dff
+#endif // DEBUG
+#endif // __DWC_HCD_H__
+#endif /* DWC_DEVICE_ONLY */
diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
new file mode 100644
index 0000000..834b5e0
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
@@ -0,0 +1,1841 @@
@ -12559,9 +12514,6 @@ index 0000000..834b5e0
+}
+
+#endif /* DWC_DEVICE_ONLY */
diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c
new file mode 100644
index 0000000..fcb5ce6
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c
@@ -0,0 +1,794 @@
@ -13359,9 +13311,6 @@ index 0000000..fcb5ce6
+}
+
+#endif /* DWC_DEVICE_ONLY */
diff --git a/drivers/usb/dwc_otg/dwc_otg_ifx.c b/drivers/usb/dwc_otg/dwc_otg_ifx.c
new file mode 100644
index 0000000..0a4c209
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_ifx.c
@@ -0,0 +1,100 @@
@ -13465,9 +13414,6 @@ index 0000000..0a4c209
+void ifx_usb_hc_remove(void)
+{
+}
diff --git a/drivers/usb/dwc_otg/dwc_otg_ifx.h b/drivers/usb/dwc_otg/dwc_otg_ifx.h
new file mode 100644
index 0000000..402d7a6
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_ifx.h
@@ -0,0 +1,85 @@
@ -13556,9 +13502,6 @@ index 0000000..402d7a6
+ ltq_mask_and_ack_irq(&d);
+}
+#endif //__DWC_OTG_IFX_H__
diff --git a/drivers/usb/dwc_otg/dwc_otg_plat.h b/drivers/usb/dwc_otg/dwc_otg_plat.h
new file mode 100644
index 0000000..727d0c4
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_plat.h
@@ -0,0 +1,269 @@
@ -13831,9 +13774,6 @@ index 0000000..727d0c4
+
+#endif
+
diff --git a/drivers/usb/dwc_otg/dwc_otg_regs.h b/drivers/usb/dwc_otg/dwc_otg_regs.h
new file mode 100644
index 0000000..397a954
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_regs.h
@@ -0,0 +1,1797 @@
@ -15634,6 +15574,3 @@ index 0000000..397a954
+} dwc_otg_host_if_t;
+
+#endif
--
1.7.9.1

View file

@ -8,11 +8,9 @@ https://lists.openwrt.org/pipermail/openwrt-devel/2012-March/014524.html
drivers/usb/dwc_otg/dwc_otg_hcd_intr.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
index 834b5e0..f6f3f3d 100644
--- a/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
@@ -1278,8 +1278,6 @@ static int32_t handle_hc_ack_intr(dwc_otg_hcd_t *_hcd,
@@ -1278,8 +1278,6 @@ static int32_t handle_hc_ack_intr(dwc_ot
* automatically executes the PING, then the transfer.
*/
halt_channel(_hcd, _hc, _qtd, DWC_OTG_HC_XFER_ACK, must_free);
@ -21,6 +19,3 @@ index 834b5e0..f6f3f3d 100644
}
}
--
1.7.9.1

View file

@ -48,8 +48,6 @@ Subject: [PATCH 46/70] MIPS: adds ifxhcd
create mode 100644 drivers/usb/ifxhcd/ifxusb_regs.h
create mode 100644 drivers/usb/ifxhcd/ifxusb_version.h
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index 4c3106f..c9baf91 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,4 +1,4 @@
@ -58,9 +56,6 @@ index 4c3106f..c9baf91 100644
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
diff --git a/arch/mips/lantiq/xway/dev-ifxhcd.c b/arch/mips/lantiq/xway/dev-ifxhcd.c
new file mode 100644
index 0000000..ea08a35
--- /dev/null
+++ b/arch/mips/lantiq/xway/dev-ifxhcd.c
@@ -0,0 +1,45 @@
@ -109,9 +104,6 @@ index 0000000..ea08a35
+ platform_dev.dev.platform_data = pins;
+ return platform_device_register(&platform_dev);
+}
diff --git a/arch/mips/lantiq/xway/dev-ifxhcd.h b/arch/mips/lantiq/xway/dev-ifxhcd.h
new file mode 100644
index 0000000..18b3d2d
--- /dev/null
+++ b/arch/mips/lantiq/xway/dev-ifxhcd.h
@@ -0,0 +1,17 @@
@ -132,8 +124,6 @@ index 0000000..18b3d2d
+extern void __init xway_register_hcd(int *pin);
+
+#endif
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 1a2e2d4..ac7383f 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -166,6 +166,8 @@ void __init ltq_soc_init(void)
@ -145,8 +135,6 @@ index 1a2e2d4..ac7383f 100644
} else {
clkdev_add_static(ltq_danube_cpu_hz(), ltq_danube_fpi_hz(),
ltq_danube_io_region_clock());
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 8469e23..f69cc4a 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -184,4 +184,6 @@ source "drivers/usb/gadget/Kconfig"
@ -156,19 +144,14 @@ index 8469e23..f69cc4a 100644
+source "drivers/usb/ifxhcd/Kconfig"
+
endif # USB_SUPPORT
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
index d46b792..7068e99 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -58,3 +58,5 @@ obj-$(CONFIG_USB_RENESAS_USBHS) += renesas_usbhs/
@@ -58,3 +58,5 @@ obj-$(CONFIG_USB_RENESAS_USBHS) += renes
obj-$(CONFIG_USB_GADGET) += gadget/
obj-$(CONFIG_USB_COMMON) += usb-common.o
+
+obj-$(CONFIG_USB_HOST_IFX) += ifxhcd/
diff --git a/drivers/usb/ifxhcd/Kconfig b/drivers/usb/ifxhcd/Kconfig
new file mode 100644
index 0000000..7eb8ceb
--- /dev/null
+++ b/drivers/usb/ifxhcd/Kconfig
@@ -0,0 +1,58 @@
@ -230,9 +213,6 @@ index 0000000..7eb8ceb
+#config USB_HOST_IFX_UNALIGNED_NONE
+
+
diff --git a/drivers/usb/ifxhcd/Makefile b/drivers/usb/ifxhcd/Makefile
new file mode 100644
index 0000000..0a2ac99
--- /dev/null
+++ b/drivers/usb/ifxhcd/Makefile
@@ -0,0 +1,85 @@
@ -321,9 +301,6 @@ index 0000000..0a2ac99
+
+obj-$(CONFIG_USB_HOST_IFX) += ifxusb_host.o
+
diff --git a/drivers/usb/ifxhcd/TagHistory b/drivers/usb/ifxhcd/TagHistory
new file mode 100644
index 0000000..3820d70
--- /dev/null
+++ b/drivers/usb/ifxhcd/TagHistory
@@ -0,0 +1,171 @@
@ -498,9 +475,6 @@ index 0000000..3820d70
+
+Bekanntes Problem: Stick and Surf funktioniert nur sporadisch, weil CONTROL_IRQ manchmal ausbleibt.
+
diff --git a/drivers/usb/ifxhcd/ifxhcd.c b/drivers/usb/ifxhcd/ifxhcd.c
new file mode 100644
index 0000000..d2ae125
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxhcd.c
@@ -0,0 +1,2523 @@
@ -3027,9 +3001,6 @@ index 0000000..d2ae125
+ }
+#endif //__ENABLE_DUMP__
+
diff --git a/drivers/usb/ifxhcd/ifxhcd.h b/drivers/usb/ifxhcd/ifxhcd.h
new file mode 100644
index 0000000..3a40851
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxhcd.h
@@ -0,0 +1,628 @@
@ -3661,9 +3632,6 @@ index 0000000..3a40851
+/*@}*//*IFXUSB_HCD*/
+
+#endif // __IFXHCD_H__
diff --git a/drivers/usb/ifxhcd/ifxhcd_es.c b/drivers/usb/ifxhcd/ifxhcd_es.c
new file mode 100644
index 0000000..ef9e8c0
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxhcd_es.c
@@ -0,0 +1,549 @@
@ -4216,9 +4184,6 @@ index 0000000..ef9e8c0
+ }
+#endif //__WITH_HS_ELECT_TST__
+
diff --git a/drivers/usb/ifxhcd/ifxhcd_intr.c b/drivers/usb/ifxhcd/ifxhcd_intr.c
new file mode 100644
index 0000000..76fe602
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxhcd_intr.c
@@ -0,0 +1,3742 @@
@ -7964,9 +7929,6 @@ index 0000000..76fe602
+ }
+ return retval;
+}
diff --git a/drivers/usb/ifxhcd/ifxhcd_queue.c b/drivers/usb/ifxhcd/ifxhcd_queue.c
new file mode 100644
index 0000000..8f9dd25
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxhcd_queue.c
@@ -0,0 +1,418 @@
@ -8388,9 +8350,6 @@ index 0000000..8f9dd25
+ return retval;
+}
+
diff --git a/drivers/usb/ifxhcd/ifxusb_cif.c b/drivers/usb/ifxhcd/ifxusb_cif.c
new file mode 100644
index 0000000..10b1292
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_cif.c
@@ -0,0 +1,1458 @@
@ -9852,9 +9811,6 @@ index 0000000..10b1292
+ return;
+}
+
diff --git a/drivers/usb/ifxhcd/ifxusb_cif.h b/drivers/usb/ifxhcd/ifxusb_cif.h
new file mode 100644
index 0000000..191781f
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_cif.h
@@ -0,0 +1,665 @@
@ -10523,9 +10479,6 @@ index 0000000..191781f
+#endif // !defined(__IFXUSB_CIF_H__)
+
+
diff --git a/drivers/usb/ifxhcd/ifxusb_cif_d.c b/drivers/usb/ifxhcd/ifxusb_cif_d.c
new file mode 100644
index 0000000..36ab0e7
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_cif_d.c
@@ -0,0 +1,458 @@
@ -10987,9 +10940,6 @@ index 0000000..36ab0e7
+ }
+}
+
diff --git a/drivers/usb/ifxhcd/ifxusb_cif_h.c b/drivers/usb/ifxhcd/ifxusb_cif_h.c
new file mode 100644
index 0000000..0f47ecd
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_cif_h.c
@@ -0,0 +1,846 @@
@ -11839,9 +11789,6 @@ index 0000000..0f47ecd
+#endif //defined(__UEIP__)
+
+
diff --git a/drivers/usb/ifxhcd/ifxusb_ctl.c b/drivers/usb/ifxhcd/ifxusb_ctl.c
new file mode 100644
index 0000000..ade8e13
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_ctl.c
@@ -0,0 +1,1385 @@
@ -13230,9 +13177,6 @@ index 0000000..ade8e13
+}
+
+
diff --git a/drivers/usb/ifxhcd/ifxusb_driver.c b/drivers/usb/ifxhcd/ifxusb_driver.c
new file mode 100644
index 0000000..2334905
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_driver.c
@@ -0,0 +1,970 @@
@ -14206,9 +14150,6 @@ index 0000000..2334905
+MODULE_PARM_DESC(timeout_cal_fs, "Timeout Cal for FS");
+
+
diff --git a/drivers/usb/ifxhcd/ifxusb_plat.h b/drivers/usb/ifxhcd/ifxusb_plat.h
new file mode 100644
index 0000000..a50294f
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_plat.h
@@ -0,0 +1,1018 @@
@ -15230,9 +15171,6 @@ index 0000000..a50294f
+
+#endif //__IFXUSB_PLAT_H__
+
diff --git a/drivers/usb/ifxhcd/ifxusb_regs.h b/drivers/usb/ifxhcd/ifxusb_regs.h
new file mode 100644
index 0000000..014c6db
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_regs.h
@@ -0,0 +1,1420 @@
@ -16656,9 +16594,6 @@ index 0000000..014c6db
+/****************************************************************************/
+
+#endif //__IFXUSB_REGS_H__
diff --git a/drivers/usb/ifxhcd/ifxusb_version.h b/drivers/usb/ifxhcd/ifxusb_version.h
new file mode 100644
index 0000000..2dff735
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_version.h
@@ -0,0 +1,5 @@
@ -16667,6 +16602,3 @@ index 0000000..2dff735
+#define IFXUSB_VERSION "3.0alpha B100312"
+#endif
+
--
1.7.9.1

View file

@ -8,9 +8,6 @@ Subject: [PATCH 47/70] MIPS: adds gptu driver
1 files changed, 176 insertions(+), 0 deletions(-)
create mode 100644 arch/mips/lantiq/xway/gptu.c
diff --git a/arch/mips/lantiq/xway/gptu.c b/arch/mips/lantiq/xway/gptu.c
new file mode 100644
index 0000000..ac82c37
--- /dev/null
+++ b/arch/mips/lantiq/xway/gptu.c
@@ -0,0 +1,176 @@
@ -190,6 +187,3 @@ index 0000000..ac82c37
+}
+
+arch_initcall(gptu_setup);
--
1.7.9.1

View file

@ -10,11 +10,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: pci: rename variable inside
arch/mips/pci/pci-lantiq.h | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/mips/pci/ops-lantiq.c b/arch/mips/pci/ops-lantiq.c
index 1f2afb5..5cbb0cf 100644
--- a/arch/mips/pci/ops-lantiq.c
+++ b/arch/mips/pci/ops-lantiq.c
@@ -41,7 +41,7 @@ static int ltq_pci_config_access(unsigned char access_type, struct pci_bus *bus,
@@ -41,7 +41,7 @@ static int ltq_pci_config_access(unsigne
spin_lock_irqsave(&ebu_lock, flags);
@ -23,7 +21,7 @@ index 1f2afb5..5cbb0cf 100644
cfg_base |= (bus->number << LTQ_PCI_CFG_BUSNUM_SHF) | (devfn <<
LTQ_PCI_CFG_FUNNUM_SHF) | (where & ~0x3);
@@ -55,11 +55,11 @@ static int ltq_pci_config_access(unsigned char access_type, struct pci_bus *bus,
@@ -55,11 +55,11 @@ static int ltq_pci_config_access(unsigne
wmb();
/* clean possible Master abort */
@ -37,8 +35,6 @@ index 1f2afb5..5cbb0cf 100644
cfg_base |= (0x68 << LTQ_PCI_CFG_FUNNUM_SHF) + 4;
ltq_w32(temp, ((u32 *)cfg_base));
diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
index 47b551c..efcdd45 100644
--- a/arch/mips/pci/pci-lantiq.c
+++ b/arch/mips/pci/pci-lantiq.c
@@ -65,8 +65,8 @@
@ -52,7 +48,7 @@ index 47b551c..efcdd45 100644
struct ltq_pci_gpio_map {
int pin;
@@ -273,7 +273,7 @@ static int __devinit ltq_pci_probe(struct platform_device *pdev)
@@ -273,7 +273,7 @@ static int __devinit ltq_pci_probe(struc
pci_probe_only = 0;
ltq_pci_irq_map = ltq_pci_data->irq;
ltq_pci_membase = ioremap_nocache(PCI_CR_BASE_ADDR, PCI_CR_SIZE);
@ -61,8 +57,6 @@ index 47b551c..efcdd45 100644
ioremap_nocache(LTQ_PCI_CFG_BASE, LTQ_PCI_CFG_BASE);
ltq_pci_controller.io_map_base =
(unsigned long)ioremap(LTQ_PCI_IO_BASE, LTQ_PCI_IO_SIZE - 1);
diff --git a/arch/mips/pci/pci-lantiq.h b/arch/mips/pci/pci-lantiq.h
index 66bf6cd..c4721b4 100644
--- a/arch/mips/pci/pci-lantiq.h
+++ b/arch/mips/pci/pci-lantiq.h
@@ -9,7 +9,7 @@
@ -74,6 +68,3 @@ index 66bf6cd..c4721b4 100644
extern int ltq_pci_read_config_dword(struct pci_bus *bus,
unsigned int devfn, int where, int size, u32 *val);
extern int ltq_pci_write_config_dword(struct pci_bus *bus,
--
1.7.9.1

View file

@ -9,8 +9,6 @@ Subject: [PATCH 49/70] MIPS: lantiq: pci: give xway pci support its own
arch/mips/pci/Makefile | 2 +-
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
index cb6b39f..dde9fc6 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -19,8 +19,13 @@ config SOC_XWAY
@ -27,11 +25,9 @@ index cb6b39f..dde9fc6 100644
source "arch/mips/lantiq/xway/Kconfig"
source "arch/mips/lantiq/falcon/Kconfig"
diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
index c3ac4b0..1f07a58 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
@@ -41,7 +41,7 @@ obj-$(CONFIG_SIBYTE_SB1250) += fixup-sb1250.o pci-sb1250.o
@@ -41,7 +41,7 @@ obj-$(CONFIG_SIBYTE_SB1250) += fixup-sb1
obj-$(CONFIG_SIBYTE_BCM112X) += fixup-sb1250.o pci-sb1250.o
obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
@ -40,6 +36,3 @@ index c3ac4b0..1f07a58 100644
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
obj-$(CONFIG_TANBAC_TB0287) += fixup-tb0287.o
--
1.7.9.1

View file

@ -11,11 +11,9 @@ Subject: [PATCH 50/70] MIPS: lantiq: pci: move pcibios code into
3 files changed, 45 insertions(+), 22 deletions(-)
create mode 100644 arch/mips/pci/fixup-lantiq.c
diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
index 1f07a58..499a019 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
@@ -41,6 +41,7 @@ obj-$(CONFIG_SIBYTE_SB1250) += fixup-sb1250.o pci-sb1250.o
@@ -41,6 +41,7 @@ obj-$(CONFIG_SIBYTE_SB1250) += fixup-sb1
obj-$(CONFIG_SIBYTE_BCM112X) += fixup-sb1250.o pci-sb1250.o
obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
@ -23,9 +21,6 @@ index 1f07a58..499a019 100644
obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o ops-lantiq.o
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
diff --git a/arch/mips/pci/fixup-lantiq.c b/arch/mips/pci/fixup-lantiq.c
new file mode 100644
index 0000000..daf5ae9
--- /dev/null
+++ b/arch/mips/pci/fixup-lantiq.c
@@ -0,0 +1,42 @@
@ -71,11 +66,9 @@ index 0000000..daf5ae9
+}
+
+
diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
index efcdd45..7a29738 100644
--- a/arch/mips/pci/pci-lantiq.c
+++ b/arch/mips/pci/pci-lantiq.c
@@ -93,16 +93,14 @@ static struct ltq_pci_gpio_map ltq_pci_gpio_map[] = {
@@ -93,16 +93,14 @@ static struct ltq_pci_gpio_map ltq_pci_g
{ 37, 2, 0, "pci-req4" },
};
@ -94,7 +87,7 @@ index efcdd45..7a29738 100644
struct pci_ops ltq_pci_ops = {
.read = ltq_pci_read_config_dword,
@@ -131,14 +129,6 @@ static struct pci_controller ltq_pci_controller = {
@@ -131,14 +129,6 @@ static struct pci_controller ltq_pci_con
.io_offset = 0x00000000UL,
};
@ -109,7 +102,7 @@ index efcdd45..7a29738 100644
static u32 ltq_calc_bar11mask(void)
{
u32 mem, bar11mask;
@@ -256,16 +246,6 @@ static int __devinit ltq_pci_startup(struct device *dev)
@@ -256,16 +246,6 @@ static int __devinit ltq_pci_startup(str
return 0;
}
@ -126,6 +119,3 @@ index efcdd45..7a29738 100644
static int __devinit ltq_pci_probe(struct platform_device *pdev)
{
struct ltq_pci_data *ltq_pci_data =
--
1.7.9.1

View file

@ -21,11 +21,9 @@ Subject: [PATCH 51/70] MIPS: lantiq: pcie: add pcie driver
create mode 100644 arch/mips/pci/pcie-lantiq.c
create mode 100644 arch/mips/pci/pcie-lantiq.h
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index df4e125..0dd8ae3 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -2369,6 +2369,7 @@ config PCI_DOMAINS
@@ -2393,6 +2393,7 @@ config PCI_DOMAINS
bool
source "drivers/pci/Kconfig"
@ -33,8 +31,6 @@ index df4e125..0dd8ae3 100644
#
# ISA support is now enabled via select. Too many systems still have the one
diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
index dde9fc6..d21d9d4 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -22,10 +22,6 @@ config SOC_FALCON
@ -48,8 +44,6 @@ index dde9fc6..d21d9d4 100644
source "arch/mips/lantiq/xway/Kconfig"
source "arch/mips/lantiq/falcon/Kconfig"
diff --git a/arch/mips/lantiq/xway/Kconfig b/arch/mips/lantiq/xway/Kconfig
index 2b857de..54a51ff 100644
--- a/arch/mips/lantiq/xway/Kconfig
+++ b/arch/mips/lantiq/xway/Kconfig
@@ -8,6 +8,27 @@ config LANTIQ_MACH_EASY50712
@ -80,11 +74,9 @@ index 2b857de..54a51ff 100644
endif
if SOC_AMAZON_SE
diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
index 499a019..31e70c5 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
@@ -43,6 +43,8 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
@@ -43,6 +43,8 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1
obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
obj-$(CONFIG_LANTIQ) += fixup-lantiq.o
obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o ops-lantiq.o
@ -93,9 +85,6 @@ index 499a019..31e70c5 100644
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
obj-$(CONFIG_TANBAC_TB0287) += fixup-tb0287.o
diff --git a/arch/mips/pci/fixup-lantiq-pcie.c b/arch/mips/pci/fixup-lantiq-pcie.c
new file mode 100644
index 0000000..84517df
--- /dev/null
+++ b/arch/mips/pci/fixup-lantiq-pcie.c
@@ -0,0 +1,81 @@
@ -180,8 +169,6 @@ index 0000000..84517df
+
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LANTIQ, PCI_DEVICE_ID_LANTIQ_PCIE,
+ ifx_pcie_rc_class_early_fixup);
diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c
index 1552150..cd034a9 100644
--- a/arch/mips/pci/pci.c
+++ b/arch/mips/pci/pci.c
@@ -201,6 +201,31 @@ static int __init pcibios_init(void)
@ -216,9 +203,6 @@ index 1552150..cd034a9 100644
static int pcibios_enable_resources(struct pci_dev *dev, int mask)
{
u16 cmd, old_cmd;
diff --git a/arch/mips/pci/pcie-lantiq-msi.c b/arch/mips/pci/pcie-lantiq-msi.c
new file mode 100644
index 0000000..9cbf639
--- /dev/null
+++ b/arch/mips/pci/pcie-lantiq-msi.c
@@ -0,0 +1,399 @@
@ -621,9 +605,6 @@ index 0000000..9cbf639
+MODULE_SUPPORTED_DEVICE("Infineon PCIe IP builtin MSI PIC module");
+MODULE_DESCRIPTION("Infineon PCIe IP builtin MSI PIC driver");
+
diff --git a/arch/mips/pci/pcie-lantiq-phy.c b/arch/mips/pci/pcie-lantiq-phy.c
new file mode 100644
index 0000000..9f5027d
--- /dev/null
+++ b/arch/mips/pci/pcie-lantiq-phy.c
@@ -0,0 +1,408 @@
@ -1035,9 +1016,6 @@ index 0000000..9f5027d
+#endif
+}
+
diff --git a/arch/mips/pci/pcie-lantiq.c b/arch/mips/pci/pcie-lantiq.c
new file mode 100644
index 0000000..1df55b5
--- /dev/null
+++ b/arch/mips/pci/pcie-lantiq.c
@@ -0,0 +1,1146 @@
@ -2187,9 +2165,6 @@ index 0000000..1df55b5
+}
+
+arch_initcall(pciebios_init);
diff --git a/arch/mips/pci/pcie-lantiq.h b/arch/mips/pci/pcie-lantiq.h
new file mode 100644
index 0000000..d877c23
--- /dev/null
+++ b/arch/mips/pci/pcie-lantiq.h
@@ -0,0 +1,1305 @@
@ -3498,6 +3473,3 @@ index 0000000..d877c23
+
+#endif /* IFXMIPS_PCIE_VR9_H */
+
--
1.7.9.1

View file

@ -18,8 +18,6 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
arch/mips/lantiq/xway/gpio_stp.c | 3 +-
5 files changed, 75 insertions(+), 20 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index d1b8cc8..bfdeb16 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -126,7 +126,9 @@
@ -32,11 +30,9 @@ index d1b8cc8..bfdeb16 100644
/* SSC */
#define LTQ_SSC_BASE_ADDR 0x1e100800
diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c
index 5efa4f3..e6d45bc 100644
--- a/arch/mips/lantiq/xway/devices.c
+++ b/arch/mips/lantiq/xway/devices.c
@@ -34,6 +34,7 @@ static struct resource ltq_gpio_resource[] = {
@@ -34,6 +34,7 @@ static struct resource ltq_gpio_resource
MEM_RES("gpio0", LTQ_GPIO0_BASE_ADDR, LTQ_GPIO_SIZE),
MEM_RES("gpio1", LTQ_GPIO1_BASE_ADDR, LTQ_GPIO_SIZE),
MEM_RES("gpio2", LTQ_GPIO2_BASE_ADDR, LTQ_GPIO_SIZE),
@ -53,8 +49,6 @@ index 5efa4f3..e6d45bc 100644
}
}
diff --git a/arch/mips/lantiq/xway/gpio.c b/arch/mips/lantiq/xway/gpio.c
index 54ec6c9..375329b 100644
--- a/arch/mips/lantiq/xway/gpio.c
+++ b/arch/mips/lantiq/xway/gpio.c
@@ -23,9 +23,17 @@
@ -76,7 +70,7 @@ index 54ec6c9..375329b 100644
#define ltq_gpio_getbit(m, r, p) (!!(ltq_r32(m + r) & (1 << p)))
#define ltq_gpio_setbit(m, r, p) ltq_w32_mask(0, (1 << p), m + r)
@@ -55,7 +63,7 @@ int ltq_gpio_request(struct device *dev, unsigned int pin, unsigned int mux,
@@ -55,7 +63,7 @@ int ltq_gpio_request(struct device *dev,
{
int id = 0;
@ -85,7 +79,7 @@ index 54ec6c9..375329b 100644
return -EINVAL;
if (devm_gpio_request(dev, pin, name)) {
pr_err("failed to setup lantiq gpio: %s\n", name);
@@ -75,12 +83,21 @@ int ltq_gpio_request(struct device *dev, unsigned int pin, unsigned int mux,
@@ -75,12 +83,21 @@ int ltq_gpio_request(struct device *dev,
else
ltq_gpio_clearbit(ltq_gpio_port[id].membase,
LTQ_GPIO_ALTSEL0, pin);
@ -113,7 +107,7 @@ index 54ec6c9..375329b 100644
return 0;
}
EXPORT_SYMBOL(ltq_gpio_request);
@@ -106,10 +123,19 @@ static int ltq_gpio_direction_input(struct gpio_chip *chip, unsigned int offset)
@@ -106,10 +123,19 @@ static int ltq_gpio_direction_input(stru
{
struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
@ -136,7 +130,7 @@ index 54ec6c9..375329b 100644
return 0;
}
@@ -119,10 +145,19 @@ static int ltq_gpio_direction_output(struct gpio_chip *chip,
@@ -119,10 +145,19 @@ static int ltq_gpio_direction_output(str
{
struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
@ -159,7 +153,7 @@ index 54ec6c9..375329b 100644
ltq_gpio_set(chip, offset, value);
return 0;
@@ -133,7 +168,11 @@ static int ltq_gpio_req(struct gpio_chip *chip, unsigned offset)
@@ -133,7 +168,11 @@ static int ltq_gpio_req(struct gpio_chip
struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_ALTSEL0, offset);
@ -172,7 +166,7 @@ index 54ec6c9..375329b 100644
return 0;
}
@@ -146,6 +185,16 @@ static int ltq_gpio_probe(struct platform_device *pdev)
@@ -146,6 +185,16 @@ static int ltq_gpio_probe(struct platfor
pdev->id);
return -EINVAL;
}
@ -189,7 +183,7 @@ index 54ec6c9..375329b 100644
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res) {
dev_err(&pdev->dev, "failed to get memory for gpio port %d\n",
@@ -175,7 +224,10 @@ static int ltq_gpio_probe(struct platform_device *pdev)
@@ -175,7 +224,10 @@ static int ltq_gpio_probe(struct platfor
ltq_gpio_port[pdev->id].chip.set = ltq_gpio_set;
ltq_gpio_port[pdev->id].chip.request = ltq_gpio_req;
ltq_gpio_port[pdev->id].chip.base = PINS_PER_PORT * pdev->id;
@ -201,8 +195,6 @@ index 54ec6c9..375329b 100644
platform_set_drvdata(pdev, &ltq_gpio_port[pdev->id]);
return gpiochip_add(&ltq_gpio_port[pdev->id].chip);
}
diff --git a/arch/mips/lantiq/xway/gpio_ebu.c b/arch/mips/lantiq/xway/gpio_ebu.c
index b91c7f1..bc5696b 100644
--- a/arch/mips/lantiq/xway/gpio_ebu.c
+++ b/arch/mips/lantiq/xway/gpio_ebu.c
@@ -61,9 +61,8 @@ static struct gpio_chip ltq_ebu_chip = {
@ -216,8 +208,6 @@ index b91c7f1..bc5696b 100644
.owner = THIS_MODULE,
};
diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
index da91c5e..9610c10 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -74,9 +74,8 @@ static struct gpio_chip ltq_stp_chip = {
@ -231,6 +221,3 @@ index da91c5e..9610c10 100644
.owner = THIS_MODULE,
};
--
1.7.9.1

View file

@ -17,11 +17,9 @@ Subject: [PATCH 53/70] MIPS: lantiq: VPE extensions
create mode 100644 arch/mips/kernel/mtsched_proc.c
create mode 100644 arch/mips/kernel/perf_proc.c
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 0dd8ae3..4a36923 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1935,6 +1935,28 @@ config MIPS_VPE_LOADER
@@ -1947,6 +1947,28 @@ config MIPS_VPE_LOADER
Includes a loader for loading an elf relocatable object
onto another VPE and running it.
@ -50,8 +48,6 @@ index 0dd8ae3..4a36923 100644
config MIPS_MT_SMTC_IM_BACKSTOP
bool "Use per-TC register bits as backstop for inhibited IM bits"
depends on MIPS_MT_SMTC
diff --git a/arch/mips/include/asm/mipsmtregs.h b/arch/mips/include/asm/mipsmtregs.h
index c9420aa..04bfb4b 100644
--- a/arch/mips/include/asm/mipsmtregs.h
+++ b/arch/mips/include/asm/mipsmtregs.h
@@ -28,14 +28,34 @@
@ -161,11 +157,9 @@ index c9420aa..04bfb4b 100644
/* GPR */
#define read_tc_gpr_sp() mftgpr(29)
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index 0c6877e..4d75dd7 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -90,7 +90,8 @@ obj-$(CONFIG_MIPS32_O32) += binfmt_elfo32.o scall64-o32.o
@@ -90,7 +90,8 @@ obj-$(CONFIG_MIPS32_O32) += binfmt_elfo3
obj-$(CONFIG_KGDB) += kgdb.o
obj-$(CONFIG_PROC_FS) += proc.o
@ -175,8 +169,6 @@ index 0c6877e..4d75dd7 100644
obj-$(CONFIG_64BIT) += cpu-bugs64.o
obj-$(CONFIG_I8253) += i8253.o
diff --git a/arch/mips/kernel/mips-mt.c b/arch/mips/kernel/mips-mt.c
index c23d11f..11d6489 100644
--- a/arch/mips/kernel/mips-mt.c
+++ b/arch/mips/kernel/mips-mt.c
@@ -21,26 +21,96 @@
@ -281,7 +273,7 @@ index c23d11f..11d6489 100644
/*
* Dump new MIPS MT state for the core. Does not leave TCs halted.
@@ -78,18 +148,18 @@ void mips_mt_regdump(unsigned long mvpctl)
@@ -78,18 +148,18 @@ void mips_mt_regdump(unsigned long mvpct
if ((read_tc_c0_tcbind() & TCBIND_CURVPE) == i) {
printk(" VPE %d\n", i);
printk(" VPEControl : %08lx\n",
@ -317,9 +309,6 @@ index c23d11f..11d6489 100644
}
/*
diff --git a/arch/mips/kernel/mtsched_proc.c b/arch/mips/kernel/mtsched_proc.c
new file mode 100644
index 0000000..4dafded
--- /dev/null
+++ b/arch/mips/kernel/mtsched_proc.c
@@ -0,0 +1,279 @@
@ -602,9 +591,6 @@ index 0000000..4dafded
+
+/* Automagically create the entry */
+module_init(init_mtsched_proc);
diff --git a/arch/mips/kernel/perf_proc.c b/arch/mips/kernel/perf_proc.c
new file mode 100644
index 0000000..7eec015
--- /dev/null
+++ b/arch/mips/kernel/perf_proc.c
@@ -0,0 +1,191 @@
@ -799,8 +785,6 @@ index 0000000..7eec015
+
+/* Automagically create the entry */
+module_init(init_perf_proc);
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
index e309665..2de204f 100644
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -7,6 +7,7 @@
@ -811,7 +795,7 @@ index e309665..2de204f 100644
#include <asm/bootinfo.h>
#include <asm/cpu.h>
#include <asm/cpu-features.h>
@@ -110,3 +111,19 @@ const struct seq_operations cpuinfo_op = {
@@ -110,3 +111,19 @@ const struct seq_operations cpuinfo_op =
.stop = c_stop,
.show = show_cpuinfo,
};
@ -831,11 +815,9 @@ index e309665..2de204f 100644
+ mips_proc = proc_mkdir("mips", NULL);
+ return(mips_proc);
+}
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
index 0a42ff3..41f5258 100644
--- a/arch/mips/kernel/smtc.c
+++ b/arch/mips/kernel/smtc.c
@@ -1334,6 +1334,13 @@ void smtc_get_new_mmu_context(struct mm_struct *mm, unsigned long cpu)
@@ -1334,6 +1334,13 @@ void smtc_get_new_mmu_context(struct mm_
asid = asid_cache(cpu);
do {
@ -849,11 +831,9 @@ index 0a42ff3..41f5258 100644
if (!((asid += ASID_INC) & ASID_MASK) ) {
if (cpu_has_vtag_icache)
flush_icache_all();
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
index bfa12a4..e338ba5 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
@@ -75,6 +75,58 @@ static struct kspd_notifications kspd_events;
@@ -75,6 +75,58 @@ static struct kspd_notifications kspd_ev
static int kspd_events_reqd;
#endif
@ -912,7 +892,7 @@ index bfa12a4..e338ba5 100644
/* grab the likely amount of memory we will need. */
#ifdef CONFIG_MIPS_VPE_LOADER_TOM
#define P_SIZE (2 * 1024 * 1024)
@@ -267,6 +319,13 @@ static void *alloc_progmem(unsigned long len)
@@ -267,6 +319,13 @@ static void *alloc_progmem(unsigned long
void *addr;
#ifdef CONFIG_MIPS_VPE_LOADER_TOM
@ -960,7 +940,7 @@ index bfa12a4..e338ba5 100644
/*
* The sde-kit passes 'memsize' to __start in $a3, so set something
* here... Or set $a3 to zero and define DFLT_STACK_SIZE and
@@ -832,6 +911,9 @@ static int find_vpe_symbols(struct vpe * v, Elf_Shdr * sechdrs,
@@ -832,6 +911,9 @@ static int find_vpe_symbols(struct vpe *
if ( (v->__start == 0) || (v->shared_ptr == NULL))
return -1;
@ -986,7 +966,7 @@ index bfa12a4..e338ba5 100644
if (v->__start == 0) {
printk(KERN_WARNING "VPE loader: program does not contain "
"a __start symbol\n");
@@ -1063,6 +1154,9 @@ static int vpe_open(struct inode *inode, struct file *filp)
@@ -1063,6 +1154,9 @@ static int vpe_open(struct inode *inode,
struct vpe_notifications *not;
struct vpe *v;
int ret;
@ -996,7 +976,7 @@ index bfa12a4..e338ba5 100644
if (minor != iminor(inode)) {
/* assume only 1 device at the moment. */
@@ -1088,7 +1182,12 @@ static int vpe_open(struct inode *inode, struct file *filp)
@@ -1088,7 +1182,12 @@ static int vpe_open(struct inode *inode,
release_progmem(v->load_addr);
cleanup_tc(get_tc(tclimit));
}
@ -1010,7 +990,7 @@ index bfa12a4..e338ba5 100644
/* this of-course trashes what was there before... */
v->pbuffer = vmalloc(P_SIZE);
if (!v->pbuffer) {
@@ -1096,11 +1195,14 @@ static int vpe_open(struct inode *inode, struct file *filp)
@@ -1096,11 +1195,14 @@ static int vpe_open(struct inode *inode,
return -ENOMEM;
}
v->plen = P_SIZE;
@ -1216,6 +1196,3 @@ index bfa12a4..e338ba5 100644
evpe(vpflags);
emt(mtflags);
--
1.7.9.1

View file

@ -10,9 +10,6 @@ Subject: [PATCH 54/70] MIPS: lantiq: falcon VPE softdog
create mode 100644 arch/mips/include/asm/mach-lantiq/falcon/vpe.h
create mode 100644 arch/mips/lantiq/falcon/softdog_vpe.c
diff --git a/arch/mips/include/asm/mach-lantiq/falcon/vpe.h b/arch/mips/include/asm/mach-lantiq/falcon/vpe.h
new file mode 100644
index 0000000..22a701b
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/falcon/vpe.h
@@ -0,0 +1,44 @@
@ -60,9 +57,6 @@ index 0000000..22a701b
+int32_t vpe1_sw_wdog_register_reset_handler(VPE_SW_WDOG_RESET reset_fn);
+
+#endif
diff --git a/arch/mips/lantiq/falcon/softdog_vpe.c b/arch/mips/lantiq/falcon/softdog_vpe.c
new file mode 100644
index 0000000..85d22a2
--- /dev/null
+++ b/arch/mips/lantiq/falcon/softdog_vpe.c
@@ -0,0 +1,109 @@
@ -175,6 +169,3 @@ index 0000000..85d22a2
+MODULE_AUTHOR("LXDB");
+MODULE_DESCRIPTION("Software Watchdog For VPE1");
+MODULE_LICENSE("GPL");
--
1.7.9.1

View file

@ -13,9 +13,6 @@ Subject: [PATCH 55/70] MIPS: lantiq: udp in-kernel redirect
create mode 100644 include/linux/udp_redirect.h
create mode 100644 net/ipv4/udp_redirect_symb.c
diff --git a/include/linux/udp_redirect.h b/include/linux/udp_redirect.h
new file mode 100644
index 0000000..de1e64f
--- /dev/null
+++ b/include/linux/udp_redirect.h
@@ -0,0 +1,57 @@
@ -76,8 +73,6 @@ index 0000000..de1e64f
+extern int udpredirect_getfrag(void *p, char * to, int offset,
+ int fraglen, int odd, struct sk_buff *skb);
+#endif
diff --git a/net/Kconfig b/net/Kconfig
index e07272d..2118693 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -72,6 +72,12 @@ config INET
@ -93,11 +88,9 @@ index e07272d..2118693 100644
if INET
source "net/ipv4/Kconfig"
source "net/ipv6/Kconfig"
diff --git a/net/ipv4/Makefile b/net/ipv4/Makefile
index ff75d3b..127edb9 100644
--- a/net/ipv4/Makefile
+++ b/net/ipv4/Makefile
@@ -14,6 +14,9 @@ obj-y := route.o inetpeer.o protocol.o \
@@ -14,6 +14,9 @@ obj-y := route.o inetpeer.o protocol
inet_fragment.o ping.o
obj-$(CONFIG_SYSCTL) += sysctl_net_ipv4.o
@ -107,8 +100,6 @@ index ff75d3b..127edb9 100644
obj-$(CONFIG_PROC_FS) += proc.o
obj-$(CONFIG_IP_MULTIPLE_TABLES) += fib_rules.o
obj-$(CONFIG_IP_MROUTE) += ipmr.o
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 5d075b5..a2ee1bf 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -108,6 +108,10 @@
@ -122,7 +113,7 @@ index 5d075b5..a2ee1bf 100644
struct udp_table udp_table __read_mostly;
EXPORT_SYMBOL(udp_table);
@@ -804,7 +808,7 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
@@ -804,7 +808,7 @@ int udp_sendmsg(struct kiocb *iocb, stru
u8 tos;
int err, is_udplite = IS_UDPLITE(sk);
int corkreq = up->corkflag || msg->msg_flags&MSG_MORE;
@ -131,7 +122,7 @@ index 5d075b5..a2ee1bf 100644
struct sk_buff *skb;
struct ip_options_data opt_copy;
@@ -821,7 +825,13 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
@@ -821,7 +825,13 @@ int udp_sendmsg(struct kiocb *iocb, stru
ipc.opt = NULL;
ipc.tx_flags = 0;
@ -146,7 +137,7 @@ index 5d075b5..a2ee1bf 100644
fl4 = &inet->cork.fl.u.ip4;
if (up->pending) {
@@ -1625,6 +1635,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
@@ -1625,6 +1635,7 @@ int __udp4_lib_rcv(struct sk_buff *skb,
struct rtable *rt = skb_rtable(skb);
__be32 saddr, daddr;
struct net *net = dev_net(skb->dev);
@ -154,7 +145,7 @@ index 5d075b5..a2ee1bf 100644
/*
* Validate the packet.
@@ -1657,7 +1668,16 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
@@ -1657,7 +1668,16 @@ int __udp4_lib_rcv(struct sk_buff *skb,
sk = __udp4_lib_lookup_skb(skb, uh->source, uh->dest, udptable);
if (sk != NULL) {
@ -181,9 +172,6 @@ index 5d075b5..a2ee1bf 100644
/* ------------------------------------------------------------------------ */
#ifdef CONFIG_PROC_FS
diff --git a/net/ipv4/udp_redirect_symb.c b/net/ipv4/udp_redirect_symb.c
new file mode 100644
index 0000000..5617e86
--- /dev/null
+++ b/net/ipv4/udp_redirect_symb.c
@@ -0,0 +1,186 @@
@ -373,6 +361,3 @@ index 0000000..5617e86
+EXPORT_SYMBOL(udp_do_redirect_fn);
+EXPORT_SYMBOL(udpredirect_getfrag_fn);
+#endif /* CONFIG_IFX_UDP_REDIRECT* */
--
1.7.9.1

View file

@ -9,11 +9,9 @@ Subject: [PATCH 56/70] MIPS: lantiq: cache split
arch/mips/mm/c-r4k.c | 172 ++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 260 insertions(+), 0 deletions(-)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 4a36923..df21d0d 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1942,6 +1942,28 @@ config IFX_VPE_EXT
@@ -1954,6 +1954,28 @@ config IFX_VPE_EXT
help
IFX included extensions in APRP
@ -42,11 +40,9 @@ index 4a36923..df21d0d 100644
config PERFCTRS
bool "34K Performance counters"
depends on MIPS_MT && PROC_FS
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
index e338ba5..0511d11 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
@@ -127,6 +127,13 @@ __setup("vpe1_wdog_timeout=", wdog_timeout);
@@ -127,6 +127,13 @@ __setup("vpe1_wdog_timeout=", wdog_timeo
EXPORT_SYMBOL(vpe1_wdog_timeout);
#endif
@ -126,11 +122,9 @@ index e338ba5..0511d11 100644
/* clear out any left overs from a previous program */
write_vpe_c0_status(0);
write_vpe_c0_cause(0);
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 4f9eb0b..9e9f925 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -1386,6 +1386,106 @@ static int __init setcoherentio(char *str)
@@ -1386,6 +1386,106 @@ static int __init setcoherentio(char *st
__setup("coherentio", setcoherentio);
#endif
@ -316,6 +310,3 @@ index 4f9eb0b..9e9f925 100644
probe_pcache();
setup_scache();
--
1.7.9.1

View file

@ -10,8 +10,6 @@ Subject: [PATCH 57/70] MIPS: clean up clock code
arch/mips/lantiq/xway/sysctrl.c | 166 ++++++++++++++++++++++++++++++---------
4 files changed, 143 insertions(+), 39 deletions(-)
diff --git a/arch/mips/lantiq/clk.c b/arch/mips/lantiq/clk.c
index 84a201e..5494b6e 100644
--- a/arch/mips/lantiq/clk.c
+++ b/arch/mips/lantiq/clk.c
@@ -44,6 +44,7 @@ struct clk *clk_get_fpi(void)
@ -22,7 +20,7 @@ index 84a201e..5494b6e 100644
struct clk *clk_get_io(void)
{
@@ -70,6 +71,16 @@ unsigned long clk_get_rate(struct clk *clk)
@@ -70,6 +71,16 @@ unsigned long clk_get_rate(struct clk *c
}
EXPORT_SYMBOL(clk_get_rate);
@ -39,8 +37,6 @@ index 84a201e..5494b6e 100644
int clk_enable(struct clk *clk)
{
if (unlikely(!clk_good(clk)))
diff --git a/arch/mips/lantiq/clk.h b/arch/mips/lantiq/clk.h
index d047768..b34e675 100644
--- a/arch/mips/lantiq/clk.h
+++ b/arch/mips/lantiq/clk.h
@@ -12,6 +12,7 @@
@ -62,11 +58,9 @@ index d047768..b34e675 100644
int (*enable) (struct clk *clk);
void (*disable) (struct clk *clk);
int (*activate) (struct clk *clk);
diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c
index e6d45bc..5d4650d 100644
--- a/arch/mips/lantiq/xway/devices.c
+++ b/arch/mips/lantiq/xway/devices.c
@@ -59,7 +59,7 @@ static struct resource ltq_stp_resource =
@@ -59,7 +59,7 @@ static struct resource ltq_stp_resource
void __init ltq_register_gpio_stp(void)
{
@ -75,8 +69,6 @@ index e6d45bc..5d4650d 100644
}
/* asc ports - amazon se has its own serial mapping */
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index ac7383f..9df048c 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -16,40 +16,57 @@
@ -184,15 +176,15 @@ index ac7383f..9df048c 100644
}
static int ltq_pmu_enable(struct clk *clk)
@@ -94,9 +111,49 @@ static int ltq_pmu_enable(struct clk *clk)
@@ -94,9 +111,49 @@ static int ltq_pmu_enable(struct clk *cl
static void ltq_pmu_disable(struct clk *clk)
{
- ltq_pmu_w32(ltq_pmu_r32(LTQ_PMU_PWDCR) | clk->bits, LTQ_PMU_PWDCR);
+ ltq_pmu_w32(ltq_pmu_r32(PWDCR(clk->module)) | clk->bits,
+ PWDCR(clk->module));
+}
+
}
+static int ltq_pci_enable(struct clk *clk)
+{
+ unsigned int ifccr = ltq_cgu_r32(CGU_IFCCR);
@ -229,13 +221,13 @@ index ac7383f..9df048c 100644
+ ltq_cgu_w32(ltq_cgu_r32(CGU_IFCCR) | (1 << 16),
+ CGU_IFCCR);
+ ltq_cgu_w32((1 << 31) | (1 << 30), CGU_PCICR);
}
+}
+
+/* manage the clock gates via PMU */
static inline void clkdev_add_pmu(const char *dev, const char *con,
unsigned int module, unsigned int bits)
{
@@ -112,6 +169,7 @@ static inline void clkdev_add_pmu(const char *dev, const char *con,
@@ -112,6 +169,7 @@ static inline void clkdev_add_pmu(const
clkdev_add(&clk->cl);
}
@ -243,7 +235,7 @@ index ac7383f..9df048c 100644
static inline void clkdev_add_cgu(const char *dev, const char *con,
unsigned int bits)
{
@@ -126,6 +184,33 @@ static inline void clkdev_add_cgu(const char *dev, const char *con,
@@ -126,6 +184,33 @@ static inline void clkdev_add_cgu(const
clkdev_add(&clk->cl);
}
@ -314,6 +306,3 @@ index ac7383f..9df048c 100644
if (ltq_is_ar9())
clkdev_add_pmu("ltq_etop", "switch", 0, PMU_SWITCH);
}
--
1.7.9.1

View file

@ -7,8 +7,6 @@ Subject: [PATCH 58/70] MIPS: cleanup reset code
arch/mips/lantiq/xway/reset.c | 59 ++++++++++++++++++++++++++++++++++------
1 files changed, 50 insertions(+), 9 deletions(-)
diff --git a/arch/mips/lantiq/xway/reset.c b/arch/mips/lantiq/xway/reset.c
index c705bbf..abdf9b1 100644
--- a/arch/mips/lantiq/xway/reset.c
+++ b/arch/mips/lantiq/xway/reset.c
@@ -11,6 +11,7 @@
@ -98,6 +96,3 @@ index c705bbf..abdf9b1 100644
unreachable();
}
--
1.7.9.1

View file

@ -9,11 +9,9 @@ Subject: [PATCH 59/70] MIPS: lantiq: fixes ar9/vr9 clock
arch/mips/lantiq/xway/sysctrl.c | 13 ++++++++-----
3 files changed, 35 insertions(+), 11 deletions(-)
diff --git a/arch/mips/lantiq/clk.h b/arch/mips/lantiq/clk.h
index b34e675..010dfa7 100644
--- a/arch/mips/lantiq/clk.h
+++ b/arch/mips/lantiq/clk.h
@@ -56,8 +56,10 @@ extern unsigned long ltq_danube_cpu_hz(void);
@@ -56,8 +56,10 @@ extern unsigned long ltq_danube_cpu_hz(v
extern unsigned long ltq_danube_fpi_hz(void);
extern unsigned long ltq_danube_io_region_clock(void);
@ -25,8 +23,6 @@ index b34e675..010dfa7 100644
-extern unsigned long ltq_vr9_io_region_clock(void);
#endif
diff --git a/arch/mips/lantiq/xway/clk.c b/arch/mips/lantiq/xway/clk.c
index 3635c9f..2bafc04 100644
--- a/arch/mips/lantiq/xway/clk.c
+++ b/arch/mips/lantiq/xway/clk.c
@@ -217,6 +217,30 @@ unsigned long ltq_danube_cpu_hz(void)
@ -72,8 +68,6 @@ index 3635c9f..2bafc04 100644
unsigned long ltq_vr9_fpi_bus_clock(int fpi)
{
return ltq_vr9_fpi_hz();
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 9df048c..6771a7e 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -237,6 +237,8 @@ void __init ltq_soc_init(void)
@ -111,6 +105,3 @@ index 9df048c..6771a7e 100644
+ ltq_danube_io_region_clock());
}
}
--
1.7.9.1

View file

@ -7,11 +7,9 @@ Subject: [PATCH 60/70] MIPS: lantiq: fixes danube clock
arch/mips/lantiq/xway/clk.c | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/arch/mips/lantiq/xway/clk.c b/arch/mips/lantiq/xway/clk.c
index 2bafc04..5d850dc 100644
--- a/arch/mips/lantiq/xway/clk.c
+++ b/arch/mips/lantiq/xway/clk.c
@@ -181,7 +181,7 @@ unsigned long ltq_danube_io_region_clock(void)
@@ -181,7 +181,7 @@ unsigned long ltq_danube_io_region_clock
{
unsigned int ret = ltq_get_pll0_fosc();
@ -20,7 +18,7 @@ index 2bafc04..5d850dc 100644
default:
case 0:
return (ret + 1) / 2;
@@ -203,6 +203,15 @@ unsigned long ltq_danube_fpi_bus_clock(int fpi)
@@ -203,6 +203,15 @@ unsigned long ltq_danube_fpi_bus_clock(i
return ret;
}
@ -52,6 +50,3 @@ index 2bafc04..5d850dc 100644
unsigned long ltq_vr9_cpu_hz(void)
{
unsigned int cpu_sel;
--
1.7.9.1

View file

@ -7,8 +7,6 @@ Subject: [PATCH 61/70] MIPS: adds dsl clocks
arch/mips/lantiq/xway/sysctrl.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 6771a7e..3672fc6 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -41,8 +41,9 @@
@ -22,7 +20,7 @@ index 6771a7e..3672fc6 100644
#define PMU_EBU BIT(10)
#define PMU_STP BIT(11)
#define PMU_GPT BIT(12)
@@ -147,7 +148,7 @@ static int ltq_pci_ext_enable(struct clk *clk)
@@ -147,7 +148,7 @@ static int ltq_pci_ext_enable(struct clk
static void ltq_pci_ext_disable(struct clk *clk)
{
@ -61,6 +59,3 @@ index 6771a7e..3672fc6 100644
+ PMU_PPE_QSB | PMU_AHBS | PMU_DFE);
}
}
--
1.7.9.1

View file

@ -7,11 +7,9 @@ Subject: [PATCH 62/70] MIPS: lantiq: dont always register asc0
arch/mips/lantiq/xway/prom.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/mips/lantiq/xway/prom.c b/arch/mips/lantiq/xway/prom.c
index e3dcbbd..f776d5a 100644
--- a/arch/mips/lantiq/xway/prom.c
+++ b/arch/mips/lantiq/xway/prom.c
@@ -101,12 +101,10 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
@@ -101,12 +101,10 @@ void __init ltq_soc_detect(struct ltq_so
void __init ltq_soc_setup(void)
{
@ -26,6 +24,3 @@ index e3dcbbd..f776d5a 100644
ltq_register_gpio();
ltq_register_wdt();
}
--
1.7.9.1

View file

@ -7,8 +7,6 @@ Subject: [PATCH 63/70] MIPS: lantiq: irqs were not cleared properly on boot
arch/mips/lantiq/irq.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
index f17caec..7224231 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -326,12 +326,12 @@ void __init arch_init_irq(void)
@ -29,6 +27,3 @@ index f17caec..7224231 100644
mips_cpu_irq_init();
--
1.7.9.1

View file

@ -8,8 +8,6 @@ Subject: [PATCH 64/70] MIPS: lantiq: adds bootsel helper
arch/mips/lantiq/xway/reset.c | 12 +++++++++++-
2 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index bfdeb16..1ec8f2a 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -144,6 +144,18 @@
@ -31,8 +29,6 @@ index bfdeb16..1ec8f2a 100644
/* register access macros for EBU and CGU */
#define ltq_ebu_w32(x, y) ltq_w32((x), ltq_ebu_membase + (y))
#define ltq_ebu_r32(x) ltq_r32(ltq_ebu_membase + (x))
diff --git a/arch/mips/lantiq/xway/reset.c b/arch/mips/lantiq/xway/reset.c
index abdf9b1..970ca17 100644
--- a/arch/mips/lantiq/xway/reset.c
+++ b/arch/mips/lantiq/xway/reset.c
@@ -27,7 +27,11 @@
@ -61,6 +57,3 @@ index abdf9b1..970ca17 100644
void ltq_reset_once(unsigned int module, ulong usec)
{
ltq_rcu_w32(ltq_rcu_r32(RCU_RST_REQ) | module, RCU_RST_REQ);
--
1.7.9.1

View file

@ -7,8 +7,6 @@ Subject: [PATCH 65/70] MIPS: lantiq: adds USB_ARCH_HAS_HCD to CONFIG_LANTIQ
arch/mips/Kconfig | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index df21d0d..8d3b920 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -232,6 +232,7 @@ config LANTIQ
@ -19,6 +17,3 @@ index df21d0d..8d3b920 100644
config LASAT
bool "LASAT Networks platforms"
--
1.7.9.1

View file

@ -7,8 +7,6 @@ Subject: [PATCH 66/70] MIPS: lantiq: fixes bad PMU_USB0(0) define
arch/mips/lantiq/xway/sysctrl.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 3672fc6..5807456 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -40,7 +40,7 @@
@ -20,6 +18,3 @@ index 3672fc6..5807456 100644
#define PMU_EPHY BIT(7) /* ase */
#define PMU_SPI BIT(8)
#define PMU_DFE BIT(9)
--
1.7.9.1

View file

@ -13,8 +13,6 @@ Signed-off-by: Conor O'Gorman <i@conorogorman.net>
drivers/usb/dwc_otg/dwc_otg_ifx.c | 5 ++++-
3 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
index b7f10e6..d9c892b 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
@@ -36,6 +36,7 @@
@ -25,8 +23,6 @@ index b7f10e6..d9c892b 100644
#define LTQ_USB_OC_INT (INT_NUM_IM4_IRL0 + 23)
#define MIPS_CPU_TIMER_IRQ 7
diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.c b/drivers/usb/dwc_otg/dwc_otg_driver.c
index 1b0daab..5c64ebb 100644
--- a/drivers/usb/dwc_otg/dwc_otg_driver.c
+++ b/drivers/usb/dwc_otg/dwc_otg_driver.c
@@ -860,6 +860,9 @@ static int __init dwc_otg_init(void)
@ -39,8 +35,6 @@ index 1b0daab..5c64ebb 100644
// ifxmips setup
retval = ifx_usb_hc_init(dwc_iomem_base, dwc_irq);
if (retval < 0)
diff --git a/drivers/usb/dwc_otg/dwc_otg_ifx.c b/drivers/usb/dwc_otg/dwc_otg_ifx.c
index 0a4c209..e45da85 100644
--- a/drivers/usb/dwc_otg/dwc_otg_ifx.c
+++ b/drivers/usb/dwc_otg/dwc_otg_ifx.c
@@ -61,7 +61,10 @@ void dwc_otg_power_on (void)
@ -55,6 +49,3 @@ index 0a4c209..e45da85 100644
// set power
writel(readl(DANUBE_PMU_PWDCR) & ~0x1, DANUBE_PMU_PWDCR);
writel(readl(DANUBE_PMU_PWDCR) & ~0x40, DANUBE_PMU_PWDCR);
--
1.7.9.1

View file

@ -15,8 +15,6 @@ Signed-off-by: Conor O'Gorman <i@conorogorman.net>
arch/mips/lantiq/xway/gpio_stp.c | 22 +++++++++++++---------
1 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
index 9610c10..791beeb 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -27,6 +27,7 @@
@ -27,7 +25,7 @@ index 9610c10..791beeb 100644
#define LTQ_STP_2HZ 0
#define LTQ_STP_4HZ (1 << 23)
#define LTQ_STP_8HZ (2 << 23)
@@ -60,6 +61,12 @@ static void ltq_stp_set(struct gpio_chip *chip, unsigned offset, int value)
@@ -60,6 +61,12 @@ static void ltq_stp_set(struct gpio_chip
else
ltq_stp_shadow &= ~(1 << offset);
ltq_stp_w32(ltq_stp_shadow, LTQ_STP_CPU0);
@ -48,7 +46,7 @@ index 9610c10..791beeb 100644
.base = 200,
.ngpio = 24,
.owner = THIS_MODULE,
@@ -97,12 +105,6 @@ static int ltq_stp_hw_init(struct device *dev)
@@ -97,12 +105,6 @@ static int ltq_stp_hw_init(struct device
ltq_stp_w32_mask(0, LTQ_STP_GROUP0 | LTQ_STP_GROUP1 | LTQ_STP_GROUP2,
LTQ_STP_CON1);
@ -61,7 +59,7 @@ index 9610c10..791beeb 100644
/* tell the hardware that pin (led) 0 and 1 are controlled
* by the dsl arc
*/
@@ -118,6 +120,7 @@ static int __devinit ltq_stp_probe(struct platform_device *pdev)
@@ -118,6 +120,7 @@ static int __devinit ltq_stp_probe(struc
{
struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
int ret = 0;
@ -69,7 +67,7 @@ index 9610c10..791beeb 100644
if (!res)
return -ENOENT;
@@ -135,9 +138,10 @@ static int __devinit ltq_stp_probe(struct platform_device *pdev)
@@ -135,9 +138,10 @@ static int __devinit ltq_stp_probe(struc
}
/* the 3 pins used to control the external stp */
@ -83,6 +81,3 @@ index 9610c10..791beeb 100644
dev_err(&pdev->dev, "failed to request needed gpios\n");
return -EBUSY;
}
--
1.7.9.1

View file

@ -16,8 +16,6 @@ Signed-off-by: Conor O'Gorman <i@conorogorman.net>
drivers/spi/spi-xway.c | 58 ++++++++++----------
3 files changed, 35 insertions(+), 29 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
index d9c892b..d86acdd 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
@@ -30,6 +30,10 @@
@ -31,8 +29,6 @@ index d9c892b..d86acdd 100644
#define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM1_IRL0 + 21)
#define LTQ_MEI_INT (INT_NUM_IM1_IRL0 + 23)
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 5807456..de4ce8f 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -233,7 +233,7 @@ void __init ltq_soc_init(void)
@ -44,8 +40,6 @@ index 5807456..de4ce8f 100644
clkdev_add_pmu("ltq_gptu", NULL, 0, PMU_GPT);
clkdev_add_pmu("ltq_ebu", NULL, 0, PMU_EBU);
if (!ltq_is_vr9())
diff --git a/drivers/spi/spi-xway.c b/drivers/spi/spi-xway.c
index 016a6d0..be5c25b 100644
--- a/drivers/spi/spi-xway.c
+++ b/drivers/spi/spi-xway.c
@@ -143,9 +143,9 @@
@ -61,7 +55,7 @@ index 016a6d0..be5c25b 100644
struct ltq_spi {
struct spi_bitbang bitbang;
@@ -229,7 +229,7 @@ static void ltq_spi_hw_enable(struct ltq_spi *hw)
@@ -229,7 +229,7 @@ static void ltq_spi_hw_enable(struct ltq
u32 clc;
/* Power-up mdule */
@ -70,7 +64,7 @@ index 016a6d0..be5c25b 100644
/*
* Set clock divider for run mode to 1 to
@@ -245,7 +245,7 @@ static void ltq_spi_hw_disable(struct ltq_spi *hw)
@@ -245,7 +245,7 @@ static void ltq_spi_hw_disable(struct lt
ltq_spi_reg_write(hw, LTQ_SPI_CLC_DISS, LTQ_SPI_CLC);
/* Power-down mdule */
@ -79,7 +73,7 @@ index 016a6d0..be5c25b 100644
}
static void ltq_spi_reset_fifos(struct ltq_spi *hw)
@@ -284,7 +284,7 @@ static inline int ltq_spi_wait_ready(struct ltq_spi *hw)
@@ -284,7 +284,7 @@ static inline int ltq_spi_wait_ready(str
cond_resched();
} while (!time_after_eq(jiffies, timeout));
@ -88,7 +82,7 @@ index 016a6d0..be5c25b 100644
return -ETIMEDOUT;
}
@@ -556,6 +556,12 @@ static const struct ltq_spi_cs_gpio_map ltq_spi_cs[] = {
@@ -556,6 +556,12 @@ static const struct ltq_spi_cs_gpio_map
{ 11, 3 },
};
@ -101,7 +95,7 @@ index 016a6d0..be5c25b 100644
static int ltq_spi_setup(struct spi_device *spi)
{
struct ltq_spi *hw = ltq_spi_to_hw(spi);
@@ -600,8 +606,10 @@ static int ltq_spi_setup(struct spi_device *spi)
@@ -600,8 +606,10 @@ static int ltq_spi_setup(struct spi_devi
cstate->cs_activate = ltq_spi_gpio_cs_activate;
cstate->cs_deactivate = ltq_spi_gpio_cs_deactivate;
} else {
@ -114,7 +108,7 @@ index 016a6d0..be5c25b 100644
1, "spi-cs");
if (ret)
return -EBUSY;
@@ -633,7 +641,8 @@ static void ltq_spi_cleanup(struct spi_device *spi)
@@ -633,7 +641,8 @@ static void ltq_spi_cleanup(struct spi_d
if (cdata && cdata->gpio)
gpio = cdata->gpio;
else
@ -124,7 +118,7 @@ index 016a6d0..be5c25b 100644
gpio_free(gpio);
kfree(cstate);
@@ -868,7 +877,8 @@ static const struct ltq_spi_irq_map ltq_spi_irqs[] = {
@@ -868,7 +877,8 @@ static const struct ltq_spi_irq_map ltq_
{ "spi_err", ltq_spi_err_irq },
};
@ -134,7 +128,7 @@ index 016a6d0..be5c25b 100644
{
struct spi_master *master;
struct resource *r;
@@ -910,14 +920,14 @@ static int __init ltq_spi_probe(struct platform_device *pdev)
@@ -910,14 +920,14 @@ static int __init ltq_spi_probe(struct p
hw->fpiclk = clk_get_fpi();
if (IS_ERR(hw->fpiclk)) {
@ -161,7 +155,7 @@ index 016a6d0..be5c25b 100644
{
struct ltq_spi *hw = platform_get_drvdata(pdev);
int ret, i;
@@ -1043,24 +1054,15 @@ static int __exit ltq_spi_remove(struct platform_device *pdev)
@@ -1043,24 +1054,15 @@ static int __exit ltq_spi_remove(struct
}
static struct platform_driver ltq_spi_driver = {
@ -192,6 +186,3 @@ index 016a6d0..be5c25b 100644
MODULE_DESCRIPTION("Lantiq SoC SPI controller driver");
MODULE_AUTHOR("Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>");
--
1.7.9.1