Changeset 34548
- Timestamp:
- 2012-12-06T23:39:43+01:00 (5 years ago)
- Location:
- trunk/target/linux
- Files:
-
- 2 added
- 2 deleted
- 6 edited
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/target/linux/adm8668/config-3.3
r34547 r34548 4 4 CONFIG_ARCH_HIBERNATION_POSSIBLE=y 5 5 CONFIG_ARCH_SUSPEND_POSSIBLE=y 6 CONFIG_ARM_AMBA=y 7 # CONFIG_ARM_SP805_WATCHDOG is not set 6 8 CONFIG_CEVT_R4K=y 7 9 CONFIG_CEVT_R4K_LIB=y … … 70 72 # CONFIG_PREEMPT_RCU is not set 71 73 # CONFIG_SCSI_DMA is not set 72 CONFIG_SERIAL_ADM8668=y 73 CONFIG_SERIAL_ADM8668_CONSOLE=y 74 # CONFIG_SERIAL_8250 is not set 75 CONFIG_SERIAL_AMBA_PL010=y 76 CONFIG_SERIAL_AMBA_PL010_CONSOLE=y 77 CONFIG_SERIAL_AMBA_PL010_NUMPORTS=2 78 CONFIG_SERIAL_AMBA_PL010_PORTNAME="ttyS" 79 # CONFIG_SERIAL_AMBA_PL011 is not set 74 80 CONFIG_SWAP_IO_SPACE=y 75 81 CONFIG_SYS_HAS_CPU_MIPS32_R1=y -
trunk/target/linux/adm8668/files/arch/mips/adm8668/Makefile
r34547 r34548 3 3 # 4 4 5 obj-y := irq.o pci.o prom.o platform.o serial.oproc.o \6 setup.o time.o early_printk.o \5 obj-y := irq.o pci.o prom.o platform.o proc.o \ 6 setup.o time.o early_printk.o clock.o \ 7 7 net_core.o net_intr.o -
trunk/target/linux/adm8668/files/arch/mips/adm8668/clock.c
r34547 r34548 1 1 /* 2 * ADM5120 minimal CLK API implementation2 * ADM8668 minimal clock support 3 3 * 4 * Copyright (C) 2007-2008 Gabor Juhos <juhosg@openwrt.org>4 * Copyright (C) 2012, Florian Fainelli <florian@openwrt.org> 5 5 * 6 * This file was based on the CLK API implementation in: 7 * arch/mips/tx4938/toshiba_rbtx4938/setup.c 8 * Copyright (C) 2000-2001 Toshiba Corporation 9 * 2003-2005 (c) MontaVista Software, Inc. 10 * 11 * This program is free software; you can redistribute it and/or modify it 12 * under the terms of the GNU General Public License version 2 as published 13 * by the Free Software Foundation. 14 * 6 * Licensed under the terms of the GPLv2 15 7 */ 16 8 17 9 #include <linux/kernel.h> 18 #include <linux/string.h>19 10 #include <linux/module.h> 11 #include <linux/device.h> 20 12 #include <linux/err.h> 21 13 #include <linux/clk.h> 22 #include <linux/device.h>23 14 24 #include <a sm/mach-adm5120/adm5120_defs.h>15 #include <adm8668.h> 25 16 26 17 struct clk { … … 29 20 30 21 static struct clk uart_clk = { 31 .rate = ADM5120_UART_CLOCK22 .rate = ADM8668_UARTCLK_FREQ, 32 23 }; 33 24 … … 36 27 const char *name = dev_name(dev); 37 28 38 if (!strcmp(name, "apb:uart0") || !strcmp(name, "apb:uart1"))29 if (!strcmp(name, "apb:uart0")) 39 30 return &uart_clk; 40 31 -
trunk/target/linux/adm8668/files/arch/mips/adm8668/platform.c
r34545 r34548 1 1 /* 2 2 * Copyright (C) 2010 Scott Nicholas <neutronscott@scottn.us> 3 * Copyright (C) 2012 Florian Fainelli <florian@openwrt.org> 3 4 * 4 5 * This file is subject to the terms and conditions of the GNU General Public … … 14 15 #include <linux/slab.h> 15 16 #include <linux/ioport.h> 17 #include <linux/amba/bus.h> 18 #include <linux/amba/serial.h> 19 16 20 #include <asm/reboot.h> 17 21 #include <asm/time.h> … … 21 25 #include <adm8668.h> 22 26 23 static struct resource uart_resources[] = { 24 { 27 static void adm8668_uart_set_mctrl(struct amba_device *dev, 28 void __iomem *base, 29 unsigned int mcrtl) 30 { 31 } 32 33 static struct amba_pl010_data adm8668_uart0_data = { 34 .set_mctrl = adm8668_uart_set_mctrl, 35 }; 36 37 static struct amba_device adm8668_uart0_device = { 38 .dev = { 39 .init_name = "apb:uart0", 40 .platform_data = &adm8668_uart0_data, 41 }, 42 .res = { 25 43 .start = ADM8668_UART0_BASE, 26 44 .end = ADM8668_UART0_BASE + 0xF, 27 45 .flags = IORESOURCE_MEM, 28 46 }, 29 {30 .start =INT_LVL_UART0,31 .flags = IORESOURCE_IRQ,47 .irq = { 48 INT_LVL_UART0, 49 -1 32 50 }, 33 }; 34 35 static struct platform_device adm8668_uart_device = { 36 .name = "adm8668_uart", 37 .id = 0, 38 .resource = uart_resources, 39 .num_resources = ARRAY_SIZE(uart_resources), 51 .periphid = 0x0041010, 40 52 }; 41 53 … … 79 91 80 92 static struct platform_device *adm8668_devs[] = { 81 &adm8668_uart_device,82 93 &adm8668_eth0_device, 83 94 &adm8668_eth1_device, … … 86 97 int __devinit adm8668_devs_register(void) 87 98 { 99 int ret; 100 101 ret = amba_device_register(&adm8668_uart0_device, &iomem_resource); 102 if (ret) 103 panic("failed to register AMBA UART"); 104 88 105 return platform_add_devices(adm8668_devs, ARRAY_SIZE(adm8668_devs)); 89 106 } -
trunk/target/linux/adm8668/patches-3.3/001-adm8668_arch.patch
r34547 r34548 11 11 --- a/arch/mips/Kconfig 12 12 +++ b/arch/mips/Kconfig 13 @@ -105,6 +105,2 7@@ config BCM47XX13 @@ -105,6 +105,25 @@ config BCM47XX 14 14 help 15 15 Support for BCM47XX based boards … … 29 29 + select DMA_NONCOHERENT 30 30 + select SWAP_IO_SPACE 31 + select SERIAL_ADM866832 + select SERIAL_ADM8668_CONSOLE33 31 + select SYS_HAS_EARLY_PRINTK 34 32 + help … … 39 37 bool "Broadcom BCM63XX based boards" 40 38 select CEVT_R4K 39 @@ -813,6 +833,7 @@ config NLM_XLP_BOARD 40 41 endchoice 42 43 +source "arch/mips/adm8668/Kconfig" 44 source "arch/mips/alchemy/Kconfig" 45 source "arch/mips/ath79/Kconfig" 46 source "arch/mips/bcm47xx/Kconfig" -
trunk/target/linux/adm8668/patches-3.3/200-amba_pl010_hacks.patch
r34547 r34548 1 1 --- a/drivers/tty/serial/amba-pl010.c 2 2 +++ b/drivers/tty/serial/amba-pl010.c 3 @@ -49,11 +49, 9@@3 @@ -49,11 +49,10 @@ 4 4 5 5 #include <asm/io.h> … … 11 11 -#define SERIAL_AMBA_NR UART_NR 12 12 +#define SERIAL_AMBA_NR CONFIG_SERIAL_AMBA_PL010_NUMPORTS 13 +#define SERIAL_AMBA_NAME CONFIG_SERIAL_AMBA_PL010_PORTNAME 13 14 14 15 #define AMBA_ISR_PASS_LIMIT 256 15 16 16 @@ -79,9 +7 7,9 @@ static void pl010_stop_tx(struct uart_po17 @@ -79,9 +78,9 @@ static void pl010_stop_tx(struct uart_po 17 18 struct uart_amba_port *uap = (struct uart_amba_port *)port; 18 19 unsigned int cr; … … 26 27 27 28 static void pl010_start_tx(struct uart_port *port) 28 @@ -89,9 +8 7,9 @@ static void pl010_start_tx(struct uart_p29 @@ -89,9 +88,9 @@ static void pl010_start_tx(struct uart_p 29 30 struct uart_amba_port *uap = (struct uart_amba_port *)port; 30 31 unsigned int cr; … … 38 39 39 40 static void pl010_stop_rx(struct uart_port *port) 40 @@ -99,9 +9 7,9 @@ static void pl010_stop_rx(struct uart_po41 @@ -99,9 +98,9 @@ static void pl010_stop_rx(struct uart_po 41 42 struct uart_amba_port *uap = (struct uart_amba_port *)port; 42 43 unsigned int cr; … … 50 51 51 52 static void pl010_enable_ms(struct uart_port *port) 52 @@ -109,9 +10 7,9 @@ static void pl010_enable_ms(struct uart_53 @@ -109,9 +108,9 @@ static void pl010_enable_ms(struct uart_ 53 54 struct uart_amba_port *uap = (struct uart_amba_port *)port; 54 55 unsigned int cr; … … 62 63 63 64 static void pl010_rx_chars(struct uart_amba_port *uap) 64 @@ -119,9 +11 7,9 @@ static void pl010_rx_chars(struct uart_a65 @@ -119,9 +118,9 @@ static void pl010_rx_chars(struct uart_a 65 66 struct tty_struct *tty = uap->port.state->port.tty; 66 67 unsigned int status, ch, flag, rsr, max_count = 256; … … 74 75 75 76 uap->port.icount.rx++; 76 @@ -130,9 +12 8,9 @@ static void pl010_rx_chars(struct uart_a77 @@ -130,9 +129,9 @@ static void pl010_rx_chars(struct uart_a 77 78 * Note that the error handling code is 78 79 * out of the main execution path … … 86 87 if (rsr & UART01x_RSR_BE) { 87 88 rsr &= ~(UART01x_RSR_FE | UART01x_RSR_PE); 88 @@ -162,7 +16 0,7 @@ static void pl010_rx_chars(struct uart_a89 @@ -162,7 +161,7 @@ static void pl010_rx_chars(struct uart_a 89 90 uart_insert_char(&uap->port, rsr, UART01x_RSR_OE, ch, flag); 90 91 … … 95 96 spin_unlock(&uap->port.lock); 96 97 tty_flip_buffer_push(tty); 97 @@ -175,7 +17 3,7 @@ static void pl010_tx_chars(struct uart_a98 @@ -175,7 +174,7 @@ static void pl010_tx_chars(struct uart_a 98 99 int count; 99 100 … … 104 105 uap->port.x_char = 0; 105 106 return; 106 @@ -187,7 +18 5,7 @@ static void pl010_tx_chars(struct uart_a107 @@ -187,7 +186,7 @@ static void pl010_tx_chars(struct uart_a 107 108 108 109 count = uap->port.fifosize >> 1; … … 113 114 uap->port.icount.tx++; 114 115 if (uart_circ_empty(xmit)) 115 @@ -205,9 +20 3,9 @@ static void pl010_modem_status(struct ua116 @@ -205,9 +204,9 @@ static void pl010_modem_status(struct ua 116 117 { 117 118 unsigned int status, delta; … … 125 126 delta = status ^ uap->old_status; 126 127 uap->old_status = status; 127 @@ -235,7 +23 3,7 @@ static irqreturn_t pl010_int(int irq, vo128 @@ -235,7 +234,7 @@ static irqreturn_t pl010_int(int irq, vo 128 129 129 130 spin_lock(&uap->port.lock); … … 134 135 do { 135 136 if (status & (UART010_IIR_RTIS | UART010_IIR_RIS)) 136 @@ -248,7 +24 6,7 @@ static irqreturn_t pl010_int(int irq, vo137 @@ -248,7 +247,7 @@ static irqreturn_t pl010_int(int irq, vo 137 138 if (pass_counter-- == 0) 138 139 break; … … 143 144 UART010_IIR_TIS)); 144 145 handled = 1; 145 @@ -262,7 +26 0,7 @@ static irqreturn_t pl010_int(int irq, vo146 @@ -262,7 +261,7 @@ static irqreturn_t pl010_int(int irq, vo 146 147 static unsigned int pl010_tx_empty(struct uart_port *port) 147 148 { … … 152 153 } 153 154 154 @@ -272,7 +27 0,7 @@ static unsigned int pl010_get_mctrl(stru155 @@ -272,7 +271,7 @@ static unsigned int pl010_get_mctrl(stru 155 156 unsigned int result = 0; 156 157 unsigned int status; … … 161 162 result |= TIOCM_CAR; 162 163 if (status & UART01x_FR_DSR) 163 @@ -298,12 +29 6,12 @@ static void pl010_break_ctl(struct uart_164 @@ -298,12 +297,12 @@ static void pl010_break_ctl(struct uart_ 164 165 unsigned int lcr_h; 165 166 … … 176 177 } 177 178 178 @@ -335,12 +33 3,12 @@ static int pl010_startup(struct uart_por179 @@ -335,12 +334,12 @@ static int pl010_startup(struct uart_por 179 180 /* 180 181 * initialise the old status of the modem signals … … 191 192 192 193 return 0; 193 @@ -365,10 +36 3,10 @@ static void pl010_shutdown(struct uart_p194 @@ -365,10 +364,10 @@ static void pl010_shutdown(struct uart_p 194 195 /* 195 196 * disable all interrupts, disable the port … … 204 205 uap->port.membase + UART010_LCRH); 205 206 206 @@ -391,7 +3 89,7 @@ pl010_set_termios(struct uart_port *port207 @@ -391,7 +390,7 @@ pl010_set_termios(struct uart_port *port 207 208 /* 208 209 * Ask the core to calculate the divisor for us. … … 213 214 214 215 switch (termios->c_cflag & CSIZE) { 215 @@ -454,25 +45 2,25 @@ pl010_set_termios(struct uart_port *port216 @@ -454,25 +453,25 @@ pl010_set_termios(struct uart_port *port 216 217 uap->port.ignore_status_mask |= UART_DUMMY_RSR_RX; 217 218 … … 245 246 spin_unlock_irqrestore(&uap->port.lock, flags); 246 247 } 247 @@ -554,7 +55 2,7 @@ static struct uart_ops amba_pl010_pops =248 @@ -554,7 +553,7 @@ static struct uart_ops amba_pl010_pops = 248 249 .verify_port = pl010_verify_port, 249 250 }; … … 254 255 #ifdef CONFIG_SERIAL_AMBA_PL010_CONSOLE 255 256 256 @@ -564,10 +56 2,10 @@ static void pl010_console_putchar(struct257 @@ -564,10 +563,10 @@ static void pl010_console_putchar(struct 257 258 unsigned int status; 258 259 … … 267 268 268 269 static void 269 @@ -581,8 +5 79,8 @@ pl010_console_write(struct console *co,270 @@ -581,8 +580,8 @@ pl010_console_write(struct console *co, 270 271 /* 271 272 * First save the CR then disable the interrupts … … 278 279 uart_console_write(&uap->port, s, count, pl010_console_putchar); 279 280 280 @@ -591,10 +5 89,10 @@ pl010_console_write(struct console *co,281 @@ -591,10 +590,10 @@ pl010_console_write(struct console *co, 281 282 * and restore the TCR 282 283 */ … … 291 292 clk_disable(uap->clk); 292 293 } 293 @@ -603,9 +60 1,9 @@ static void __init294 @@ -603,9 +602,9 @@ static void __init 294 295 pl010_console_get_options(struct uart_amba_port *uap, int *baud, 295 296 int *parity, int *bits) … … 303 304 *parity = 'n'; 304 305 if (lcr_h & UART01x_LCRH_PEN) { 305 @@ -620,8 +61 8,8 @@ pl010_console_get_options(struct uart_am306 @@ -620,8 +619,8 @@ pl010_console_get_options(struct uart_am 306 307 else 307 308 *bits = 8; … … 314 315 } 315 316 } 316 @@ -640,7 +63 8,7 @@ static int __init pl010_console_setup(st317 @@ -640,7 +639,7 @@ static int __init pl010_console_setup(st 317 318 * if so, search for the first available port that does have 318 319 * console support. … … 323 324 uap = amba_ports[co->index]; 324 325 if (!uap) 325 @@ -682,7 +680,7 @@ static struct uart_driver amba_reg = { 326 .dev_name = "ttyAM", 326 @@ -662,7 +661,7 @@ static int __init pl010_console_setup(st 327 328 static struct uart_driver amba_reg; 329 static struct console amba_console = { 330 - .name = "ttyAM", 331 + .name = SERIAL_AMBA_NAME, 332 .write = pl010_console_write, 333 .device = uart_console_device, 334 .setup = pl010_console_setup, 335 @@ -678,11 +677,11 @@ static struct console amba_console = { 336 337 static struct uart_driver amba_reg = { 338 .owner = THIS_MODULE, 339 - .driver_name = "ttyAM", 340 - .dev_name = "ttyAM", 341 + .driver_name = SERIAL_AMBA_NAME, 342 + .dev_name = SERIAL_AMBA_NAME, 327 343 .major = SERIAL_AMBA_MAJOR, 328 344 .minor = SERIAL_AMBA_MINOR, … … 334 350 --- a/drivers/tty/serial/Kconfig 335 351 +++ b/drivers/tty/serial/Kconfig 336 @@ -16,10 +16, 18@@ config SERIAL_AMBA_PL010352 @@ -16,10 +16,25 @@ config SERIAL_AMBA_PL010 337 353 help 338 354 This selects the ARM(R) AMBA(R) PrimeCell PL010 UART. If you have … … 351 367 + to support. 352 368 + 369 +config SERIAL_AMBA_PL010_PORTNAME 370 + string "Name of the AMBA PL010 serial ports" 371 + depends on SERIAL_AMBA_PL010 372 + default "ttyAM" 373 + ---help--- 374 + ::: To be written ::: 375 + 353 376 config SERIAL_AMBA_PL010_CONSOLE 354 377 bool "Support for console on AMBA serial port" -
trunk/target/linux/generic/patches-3.3/065-8139cp-fixes.patch
r34415 r34548 67 67 Signed-off-by: David S. Miller <davem@davemloft.net> 68 68 69 diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c70 index b01f83a..6cb96b4 10064471 69 --- a/drivers/net/ethernet/realtek/8139cp.c 72 70 +++ b/drivers/net/ethernet/realtek/8139cp.c 73 @@ -64 8,6 +648,7 @@ static void cp_tx (struct cp_private *cp)71 @@ -645,6 +645,7 @@ static void cp_tx (struct cp_private *cp 74 72 { 75 73 unsigned tx_head = cp->tx_head; … … 79 77 while (tx_tail != tx_head) { 80 78 struct cp_desc *txd = cp->tx_ring + tx_tail; 81 @@ -66 6,6 +667,9 @@ static void cp_tx (struct cp_private *cp)79 @@ -663,6 +664,9 @@ static void cp_tx (struct cp_private *cp 82 80 le32_to_cpu(txd->opts1) & 0xffff, 83 81 PCI_DMA_TODEVICE); … … 89 87 if (status & (TxError | TxFIFOUnder)) { 90 88 netif_dbg(cp, tx_err, cp->dev, 91 @@ -69 7,6 +701,7 @@ static void cp_tx (struct cp_private *cp)89 @@ -694,6 +698,7 @@ static void cp_tx (struct cp_private *cp 92 90 93 91 cp->tx_tail = tx_tail; … … 97 95 netif_wake_queue(cp->dev); 98 96 } 99 @@ -84 3,6 +848,8 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,97 @@ -840,6 +845,8 @@ static netdev_tx_t cp_start_xmit (struct 100 98 wmb(); 101 99 } … … 106 104 entry, skb->len); 107 105 if (TX_BUFFS_AVAIL(cp) <= (MAX_SKB_FRAGS + 1)) 108 @@ -93 7,6 +944,8 @@ static void cp_stop_hw (struct cp_private *cp)106 @@ -934,6 +941,8 @@ static void cp_stop_hw (struct cp_privat 109 107 110 108 cp->rx_tail = 0; … … 115 113 116 114 static void cp_reset_hw (struct cp_private *cp) 117 @@ -95 7,8 +966,38 @@ static void cp_reset_hw (struct cp_private *cp)115 @@ -954,8 +963,38 @@ static void cp_reset_hw (struct cp_priva 118 116 119 117 static inline void cp_start_hw (struct cp_private *cp) … … 154 152 155 153 static void cp_enable_irq(struct cp_private *cp) 156 @@ -96 9,7 +1008,6 @@ static void cp_enable_irq(struct cp_private *cp)154 @@ -966,7 +1005,6 @@ static void cp_enable_irq(struct cp_priv 157 155 static void cp_init_hw (struct cp_private *cp) 158 156 { … … 162 160 cp_reset_hw(cp); 163 161 164 @@ -9 92,17 +1030,6 @@ static void cp_init_hw (struct cp_private *cp)162 @@ -989,17 +1027,6 @@ static void cp_init_hw (struct cp_privat 165 163 166 164 cpw8(Config5, cpr8(Config5) & PMEStatus); … … 180 178 181 179 cpw8_f(Cfg9346, Cfg9346_Lock); 182 @@ -11 92,6 +1219,7 @@ static void cp_tx_timeout(struct net_device *dev)180 @@ -1188,6 +1215,7 @@ static void cp_tx_timeout(struct net_dev 183 181 cp_clean_rings(cp); 184 182 rc = cp_init_rings(cp); -
trunk/target/linux/generic/patches-3.3/080-prot-release-cb.patch
r34410 r34548 4 4 --- a/include/net/sock.h 5 5 +++ b/include/net/sock.h 6 @@ -8 58,6 +858,8 @@ struct proto {7 int (*backlog_rcv) (struct sock *sk, 6 @@ -810,6 +810,8 @@ struct proto { 7 int (*backlog_rcv) (struct sock *sk, 8 8 struct sk_buff *skb); 9 9 … … 15 15 --- a/net/core/sock.c 16 16 +++ b/net/core/sock.c 17 @@ -21 59,6 +2159,10 @@ void release_sock(struct sock *sk)17 @@ -2138,6 +2138,10 @@ void release_sock(struct sock *sk) 18 18 spin_lock_bh(&sk->sk_lock.slock); 19 19 if (sk->sk_backlog.tail)
Note: See TracChangeset
for help on using the changeset viewer.