aboutsummaryrefslogtreecommitdiffstats
diff options
-rw-r--r--driver-core/add-packet-hub-driver-for-topcliff-platform-controller-hub.patch2
-rw-r--r--series2
-rw-r--r--tty/8250-pm-callback-for-platform-uarts.patch100
-rw-r--r--tty/alchemy-uart-pm-through-serial-framework.patch123
4 files changed, 1 insertions, 226 deletions
diff --git a/driver-core/add-packet-hub-driver-for-topcliff-platform-controller-hub.patch b/driver-core/add-packet-hub-driver-for-topcliff-platform-controller-hub.patch
index ba8985b5631623..5272e9a270c05c 100644
--- a/driver-core/add-packet-hub-driver-for-topcliff-platform-controller-hub.patch
+++ b/driver-core/add-packet-hub-driver-for-topcliff-platform-controller-hub.patch
@@ -72,7 +72,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+++ b/drivers/misc/Makefile
@@ -35,3 +35,4 @@ obj-y += eeprom/
obj-y += cb710/
- obj-$(CONFIG_VMWARE_BALLOON) += vmware_balloon.o
+ obj-$(CONFIG_VMWARE_BALLOON) += vmw_balloon.o
obj-$(CONFIG_ARM_CHARLCD) += arm-charlcd.o
+obj-$(CONFIG_PCH_PHUB) += pch_phub.o
--- /dev/null
diff --git a/series b/series
index 9787c87096d2b9..5237605f076e44 100644
--- a/series
+++ b/series
@@ -98,8 +98,6 @@ tty/tty-make-tiocgicount-a-handler.patch
tty/tty-convert-the-usb-drivers-to-the-new-icount-interface.patch
tty/tty-icount-changeover-for-other-main-devices.patch
tty/tty-fix-warning-left-over-from-tiocgicount-changes.patch
-tty/8250-pm-callback-for-platform-uarts.patch
-tty/alchemy-uart-pm-through-serial-framework.patch
tty/tty-add-a-new-file-proc-tty-consoles.patch
###################################
diff --git a/tty/8250-pm-callback-for-platform-uarts.patch b/tty/8250-pm-callback-for-platform-uarts.patch
deleted file mode 100644
index e1e14644b73e5c..00000000000000
--- a/tty/8250-pm-callback-for-platform-uarts.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From manuel.lauss@googlemail.com Fri Sep 24 09:43:36 2010
-From: Manuel Lauss <manuel.lauss@googlemail.com>
-To: linux-serial@vger.kernel.org
-Cc: Greg KH <greg@kroah.com>,
- Andrew Morton <akpm@linux-foundation.org>,
- Alan Cox <alan@lxorguk.ukuu.org.uk>,
- Manuel Lauss <manuel.lauss@googlemail.com>
-Subject: 8250: pm callback for platform uarts
-Date: Fri, 24 Sep 2010 18:13:28 +0200
-Message-Id: <1285344809-16839-1-git-send-email-manuel.lauss@googlemail.com>
-
-The 8250 driver provides in its uart_ops a pm callback which in turn
-handles 8250 pm and, if it exists, calls a private callback.
-However there's no way for platform 8250 devices to assign anything
-to this callback.
-
-This patch adds a new pm field to the plat_8250_port and uart_port
-structures and modifies the 8250 pm callback to call the platform
-method before powering up and after powering down (if the platform
-is capable of cutting power/clks to the block).
-
-Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
-Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/serial/8250.c | 15 +++++++--------
- include/linux/serial_8250.h | 2 ++
- include/linux/serial_core.h | 2 ++
- 3 files changed, 11 insertions(+), 8 deletions(-)
-
---- a/drivers/serial/8250.c
-+++ b/drivers/serial/8250.c
-@@ -154,12 +154,6 @@ struct uart_8250_port {
- unsigned char lsr_saved_flags;
- #define MSR_SAVE_FLAGS UART_MSR_ANY_DELTA
- unsigned char msr_saved_flags;
--
-- /*
-- * We provide a per-port pm hook.
-- */
-- void (*pm)(struct uart_port *port,
-- unsigned int state, unsigned int old);
- };
-
- struct irq_info {
-@@ -2446,10 +2440,13 @@ serial8250_pm(struct uart_port *port, un
- {
- struct uart_8250_port *p = (struct uart_8250_port *)port;
-
-+ if ((p->port.pm) && (state == 0)) /* power up: call platform first */
-+ p->port.pm(port, state, oldstate);
-+
- serial8250_set_sleep(p, state != 0);
-
-- if (p->pm)
-- p->pm(port, state, oldstate);
-+ if ((p->port.pm) && (state != 0)) /* power down */
-+ p->port.pm(port, state, oldstate);
- }
-
- static unsigned int serial8250_port_size(struct uart_8250_port *pt)
-@@ -3010,6 +3007,7 @@ static int __devinit serial8250_probe(st
- port.serial_in = p->serial_in;
- port.serial_out = p->serial_out;
- port.set_termios = p->set_termios;
-+ port.pm = p->pm;
- port.dev = &dev->dev;
- port.irqflags |= irqflag;
- ret = serial8250_register_port(&port);
-@@ -3161,6 +3159,7 @@ int serial8250_register_port(struct uart
- uart->port.flags = port->flags | UPF_BOOT_AUTOCONF;
- uart->port.mapbase = port->mapbase;
- uart->port.private_data = port->private_data;
-+ uart->port.pm = port->pm;
- if (port->dev)
- uart->port.dev = port->dev;
-
---- a/include/linux/serial_8250.h
-+++ b/include/linux/serial_8250.h
-@@ -35,6 +35,8 @@ struct plat_serial8250_port {
- void (*set_termios)(struct uart_port *,
- struct ktermios *new,
- struct ktermios *old);
-+ void (*pm)(struct uart_port *, unsigned int state,
-+ unsigned old);
- };
-
- /*
---- a/include/linux/serial_core.h
-+++ b/include/linux/serial_core.h
-@@ -289,6 +289,8 @@ struct uart_port {
- void (*set_termios)(struct uart_port *,
- struct ktermios *new,
- struct ktermios *old);
-+ void (*pm)(struct uart_port *, unsigned int state,
-+ unsigned int old);
- unsigned int irq; /* irq number */
- unsigned long irqflags; /* irq flags */
- unsigned int uartclk; /* base uart clock */
diff --git a/tty/alchemy-uart-pm-through-serial-framework.patch b/tty/alchemy-uart-pm-through-serial-framework.patch
deleted file mode 100644
index f7ef77c2e51c1e..00000000000000
--- a/tty/alchemy-uart-pm-through-serial-framework.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From manuel.lauss@googlemail.com Fri Sep 24 09:43:55 2010
-From: Manuel Lauss <manuel.lauss@googlemail.com>
-To: linux-serial@vger.kernel.org
-Cc: Greg KH <greg@kroah.com>,
- Andrew Morton <akpm@linux-foundation.org>,
- Alan Cox <alan@lxorguk.ukuu.org.uk>,
- Manuel Lauss <manuel.lauss@googlemail.com>
-Subject: Alchemy: UART PM through serial framework.
-Date: Fri, 24 Sep 2010 18:13:29 +0200
-Message-Id: <1285344809-16839-2-git-send-email-manuel.lauss@googlemail.com>
-
-Hook up the Alchemy on-chip uarts with the platform 8250 PM callback and
-enable/disable clocks to the uart blocks as needed. This also allows to
-get rid of the UART1 PM hack in the Alchemy PM code.
-
-Tested on Au1200.
-
-Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
-Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- arch/mips/alchemy/common/platform.c | 23 +++++++++++++++++++++++
- arch/mips/alchemy/common/power.c | 35 -----------------------------------
- 2 files changed, 23 insertions(+), 35 deletions(-)
-
---- a/arch/mips/alchemy/common/platform.c
-+++ b/arch/mips/alchemy/common/platform.c
-@@ -24,6 +24,28 @@
-
- #include <prom.h>
-
-+static void alchemy_8250_pm(struct uart_port *port, unsigned int state,
-+ unsigned int old_state)
-+{
-+ switch (state) {
-+ case 0:
-+ if ((__raw_readl(port->membase + UART_MOD_CNTRL) & 3) != 3) {
-+ /* power-on sequence as suggested in the databooks */
-+ __raw_writel(0, port->membase + UART_MOD_CNTRL);
-+ wmb();
-+ __raw_writel(1, port->membase + UART_MOD_CNTRL);
-+ wmb();
-+ }
-+ __raw_writel(3, port->membase + UART_MOD_CNTRL); /* full on */
-+ wmb();
-+ break;
-+ case 3: /* power off */
-+ __raw_writel(0, port->membase + UART_MOD_CNTRL);
-+ wmb();
-+ break;
-+ }
-+}
-+
- #define PORT(_base, _irq) \
- { \
- .mapbase = _base, \
-@@ -33,6 +55,7 @@
- .flags = UPF_SKIP_TEST | UPF_IOREMAP | \
- UPF_FIXED_TYPE, \
- .type = PORT_16550A, \
-+ .pm = alchemy_8250_pm, \
- }
-
- static struct plat_serial8250_port au1x00_uart_data[] = {
---- a/arch/mips/alchemy/common/power.c
-+++ b/arch/mips/alchemy/common/power.c
-@@ -49,11 +49,6 @@
- * We only have to save/restore registers that aren't otherwise
- * done as part of a driver pm_* function.
- */
--static unsigned int sleep_uart0_inten;
--static unsigned int sleep_uart0_fifoctl;
--static unsigned int sleep_uart0_linectl;
--static unsigned int sleep_uart0_clkdiv;
--static unsigned int sleep_uart0_enable;
- static unsigned int sleep_usb[2];
- static unsigned int sleep_sys_clocks[5];
- static unsigned int sleep_sys_pinfunc;
-@@ -62,22 +57,6 @@ static unsigned int sleep_static_memctlr
-
- static void save_core_regs(void)
- {
-- extern void save_au1xxx_intctl(void);
-- extern void pm_eth0_shutdown(void);
--
-- /*
-- * Do the serial ports.....these really should be a pm_*
-- * registered function by the driver......but of course the
-- * standard serial driver doesn't understand our Au1xxx
-- * unique registers.
-- */
-- sleep_uart0_inten = au_readl(UART0_ADDR + UART_IER);
-- sleep_uart0_fifoctl = au_readl(UART0_ADDR + UART_FCR);
-- sleep_uart0_linectl = au_readl(UART0_ADDR + UART_LCR);
-- sleep_uart0_clkdiv = au_readl(UART0_ADDR + UART_CLK);
-- sleep_uart0_enable = au_readl(UART0_ADDR + UART_MOD_CNTRL);
-- au_sync();
--
- #ifndef CONFIG_SOC_AU1200
- /* Shutdown USB host/device. */
- sleep_usb[0] = au_readl(USB_HOST_CONFIG);
-@@ -175,20 +154,6 @@ static void restore_core_regs(void)
- au_writel(sleep_static_memctlr[3][0], MEM_STCFG3);
- au_writel(sleep_static_memctlr[3][1], MEM_STTIME3);
- au_writel(sleep_static_memctlr[3][2], MEM_STADDR3);
--
-- /*
-- * Enable the UART if it was enabled before sleep.
-- * I guess I should define module control bits........
-- */
-- if (sleep_uart0_enable & 0x02) {
-- au_writel(0, UART0_ADDR + UART_MOD_CNTRL); au_sync();
-- au_writel(1, UART0_ADDR + UART_MOD_CNTRL); au_sync();
-- au_writel(3, UART0_ADDR + UART_MOD_CNTRL); au_sync();
-- au_writel(sleep_uart0_inten, UART0_ADDR + UART_IER); au_sync();
-- au_writel(sleep_uart0_fifoctl, UART0_ADDR + UART_FCR); au_sync();
-- au_writel(sleep_uart0_linectl, UART0_ADDR + UART_LCR); au_sync();
-- au_writel(sleep_uart0_clkdiv, UART0_ADDR + UART_CLK); au_sync();
-- }
- }
-
- void au_sleep(void)