From 3f8afe492fffd7259e754b335df4839b4f0b2d41 Mon Sep 17 00:00:00 2001 From: Mike Turquette Date: Wed, 26 Aug 2009 10:55:02 -0500 Subject: linux-omap3-pm: refresh patches and remove some sed magic to boot zoom2 Signed-off-by: Mike Turquette --- .../0004-serial-8250-add-IRQ-trigger-support.patch | 143 --------------------- 1 file changed, 143 deletions(-) delete mode 100644 meta/packages/linux/linux-omap3-pm-git/zoom2/0004-serial-8250-add-IRQ-trigger-support.patch (limited to 'meta/packages/linux/linux-omap3-pm-git/zoom2/0004-serial-8250-add-IRQ-trigger-support.patch') diff --git a/meta/packages/linux/linux-omap3-pm-git/zoom2/0004-serial-8250-add-IRQ-trigger-support.patch b/meta/packages/linux/linux-omap3-pm-git/zoom2/0004-serial-8250-add-IRQ-trigger-support.patch deleted file mode 100644 index 05ca90512..000000000 --- a/meta/packages/linux/linux-omap3-pm-git/zoom2/0004-serial-8250-add-IRQ-trigger-support.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 3f819713f3c7ccfd56146f4c007155bc47a170ac Mon Sep 17 00:00:00 2001 -From: Vikram Pandita -Date: Mon, 22 Jun 2009 17:58:47 -0500 -Subject: [PATCH 4/8] serial: 8250: add IRQ trigger support - -There is currently no provision for passing IRQ trigger flags for -serial IRQs with triggering requirements (such as GPIO IRQs) - -This patch adds irqflags to plat_serial8250_port that can be passed -from board file to reqest_irq() of 8250 driver - -Changes are backward compatible with boards passing UPF_SHARE_IRQ flag - -Tested on Zoom2 board that has IRQF_TRIGGER_RISING requirement for 8250 irq - -Signed-off-by: Vikram Pandita ---- - drivers/serial/8250.c | 14 +++++++++----- - drivers/serial/8250.h | 1 + - include/linux/serial_8250.h | 1 + - include/linux/serial_core.h | 1 + - 4 files changed, 12 insertions(+), 5 deletions(-) - -diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c -index 606fabb..6474fe4 100644 ---- a/drivers/serial/8250.c -+++ b/drivers/serial/8250.c -@@ -1681,7 +1681,7 @@ static int serial_link_irq_chain(struct uart_8250_port *up) - INIT_LIST_HEAD(&up->list); - i->head = &up->list; - spin_unlock_irq(&i->lock); -- -+ irq_flags |= up->port.irqflags; - ret = request_irq(up->port.irq, serial8250_interrupt, - irq_flags, "serial", i); - if (ret < 0) -@@ -2030,7 +2030,7 @@ static int serial8250_startup(struct uart_port *port) - * allow register changes to become visible. - */ - spin_lock_irqsave(&up->port.lock, flags); -- if (up->port.flags & UPF_SHARE_IRQ) -+ if (up->port.irqflags & IRQF_SHARED) - disable_irq_nosync(up->port.irq); - - wait_for_xmitr(up, UART_LSR_THRE); -@@ -2043,7 +2043,7 @@ static int serial8250_startup(struct uart_port *port) - iir = serial_in(up, UART_IIR); - serial_out(up, UART_IER, 0); - -- if (up->port.flags & UPF_SHARE_IRQ) -+ if (up->port.irqflags & IRQF_SHARED) - enable_irq(up->port.irq); - spin_unlock_irqrestore(&up->port.lock, flags); - -@@ -2688,6 +2688,7 @@ static void __init serial8250_isa_init_ports(void) - i++, up++) { - up->port.iobase = old_serial_port[i].port; - up->port.irq = irq_canonicalize(old_serial_port[i].irq); -+ up->port.irqflags = old_serial_port[i].irqflags; - up->port.uartclk = old_serial_port[i].baud_base * 16; - up->port.flags = old_serial_port[i].flags; - up->port.hub6 = old_serial_port[i].hub6; -@@ -2696,7 +2697,7 @@ static void __init serial8250_isa_init_ports(void) - up->port.regshift = old_serial_port[i].iomem_reg_shift; - set_io_from_upio(&up->port); - if (share_irqs) -- up->port.flags |= UPF_SHARE_IRQ; -+ up->port.irqflags |= IRQF_SHARED; - } - } - -@@ -2886,6 +2887,7 @@ int __init early_serial_setup(struct uart_port *port) - p->iobase = port->iobase; - p->membase = port->membase; - p->irq = port->irq; -+ p->irqflags = port->irqflags; - p->uartclk = port->uartclk; - p->fifosize = port->fifosize; - p->regshift = port->regshift; -@@ -2959,6 +2961,7 @@ static int __devinit serial8250_probe(struct platform_device *dev) - port.iobase = p->iobase; - port.membase = p->membase; - port.irq = p->irq; -+ port.irqflags = p->irqflags; - port.uartclk = p->uartclk; - port.regshift = p->regshift; - port.iotype = p->iotype; -@@ -2971,7 +2974,7 @@ static int __devinit serial8250_probe(struct platform_device *dev) - port.serial_out = p->serial_out; - port.dev = &dev->dev; - if (share_irqs) -- port.flags |= UPF_SHARE_IRQ; -+ port.irqflags |= IRQF_SHARED; - ret = serial8250_register_port(&port); - if (ret < 0) { - dev_err(&dev->dev, "unable to register port at index %d " -@@ -3113,6 +3116,7 @@ int serial8250_register_port(struct uart_port *port) - uart->port.iobase = port->iobase; - uart->port.membase = port->membase; - uart->port.irq = port->irq; -+ uart->port.irqflags = port->irqflags; - uart->port.uartclk = port->uartclk; - uart->port.fifosize = port->fifosize; - uart->port.regshift = port->regshift; -diff --git a/drivers/serial/8250.h b/drivers/serial/8250.h -index 5202603..9b34b04 100644 ---- a/drivers/serial/8250.h -+++ b/drivers/serial/8250.h -@@ -20,6 +20,7 @@ struct old_serial_port { - unsigned int baud_base; - unsigned int port; - unsigned int irq; -+ unsigned long irqflags; - unsigned int flags; - unsigned char hub6; - unsigned char io_type; -diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h -index d4d2a78..fb46aba 100644 ---- a/include/linux/serial_8250.h -+++ b/include/linux/serial_8250.h -@@ -22,6 +22,7 @@ struct plat_serial8250_port { - void __iomem *membase; /* ioremap cookie or NULL */ - resource_size_t mapbase; /* resource base */ - unsigned int irq; /* interrupt number */ -+ unsigned long irqflags; /* request_irq flags */ - unsigned int uartclk; /* UART clock rate */ - void *private_data; - unsigned char regshift; /* register shift */ -diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h -index 23d2fb0..3cd255f 100644 ---- a/include/linux/serial_core.h -+++ b/include/linux/serial_core.h -@@ -265,6 +265,7 @@ struct uart_port { - unsigned int (*serial_in)(struct uart_port *, int); - void (*serial_out)(struct uart_port *, int, int); - unsigned int irq; /* irq number */ -+ unsigned long irqflags; /* irq flags */ - unsigned int uartclk; /* base uart clock */ - unsigned int fifosize; /* tx fifo size */ - unsigned char x_char; /* xon/xoff char */ --- -1.6.3.2 - -- cgit v1.2.3