mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
Merge linux-2.6 with linux-acpi-2.6
This commit is contained in:
commit
64e47488c9
1968 changed files with 57918 additions and 48538 deletions
|
|
@ -40,7 +40,6 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/segment.h>
|
||||
#include <asm/delay.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -2474,8 +2474,7 @@ static struct tty_operations rs_360_ops = {
|
|||
.tiocmset = rs_360_tiocmset,
|
||||
};
|
||||
|
||||
/* int __init rs_360_init(void) */
|
||||
int rs_360_init(void)
|
||||
static int __init rs_360_init(void)
|
||||
{
|
||||
struct serial_state * state;
|
||||
ser_info_t *info;
|
||||
|
|
@ -2827,10 +2826,7 @@ int rs_360_init(void)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
module_init(rs_360_init);
|
||||
|
||||
/* This must always be called before the rs_360_init() function, otherwise
|
||||
* it blows away the port control information.
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ config SERIAL_S3C2410_CONSOLE
|
|||
|
||||
config SERIAL_DZ
|
||||
bool "DECstation DZ serial driver"
|
||||
depends on MACH_DECSTATION && MIPS32
|
||||
depends on MACH_DECSTATION && 32BIT
|
||||
select SERIAL_CORE
|
||||
help
|
||||
DZ11-family serial controllers for VAXstations, including the
|
||||
|
|
|
|||
|
|
@ -403,10 +403,8 @@ static int cpm_uart_startup(struct uart_port *port)
|
|||
|
||||
inline void cpm_uart_wait_until_send(struct uart_cpm_port *pinfo)
|
||||
{
|
||||
unsigned long target_jiffies = jiffies + pinfo->wait_closing;
|
||||
|
||||
while (!time_after(jiffies, target_jiffies))
|
||||
schedule();
|
||||
set_current_state(TASK_UNINTERRUPTIBLE);
|
||||
schedule_timeout(pinfo->wait_closing);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -425,9 +423,12 @@ static void cpm_uart_shutdown(struct uart_port *port)
|
|||
/* If the port is not the console, disable Rx and Tx. */
|
||||
if (!(pinfo->flags & FLAG_CONSOLE)) {
|
||||
/* Wait for all the BDs marked sent */
|
||||
while(!cpm_uart_tx_empty(port))
|
||||
while(!cpm_uart_tx_empty(port)) {
|
||||
set_current_state(TASK_UNINTERRUPTIBLE);
|
||||
schedule_timeout(2);
|
||||
if(pinfo->wait_closing)
|
||||
}
|
||||
|
||||
if (pinfo->wait_closing)
|
||||
cpm_uart_wait_until_send(pinfo);
|
||||
|
||||
/* Stop uarts */
|
||||
|
|
|
|||
|
|
@ -142,12 +142,21 @@ void scc2_lineif(struct uart_cpm_port *pinfo)
|
|||
* be supported in a sane fashion.
|
||||
*/
|
||||
#ifndef CONFIG_STX_GP3
|
||||
#ifdef CONFIG_MPC8560_ADS
|
||||
volatile iop_cpm2_t *io = &cpm2_immr->im_ioport;
|
||||
io->iop_ppard |= 0x00000018;
|
||||
io->iop_psord &= ~0x00000008; /* Rx */
|
||||
io->iop_psord &= ~0x00000010; /* Tx */
|
||||
io->iop_pdird &= ~0x00000008; /* Rx */
|
||||
io->iop_pdird |= 0x00000010; /* Tx */
|
||||
#else
|
||||
volatile iop_cpm2_t *io = &cpm2_immr->im_ioport;
|
||||
io->iop_pparb |= 0x008b0000;
|
||||
io->iop_pdirb |= 0x00880000;
|
||||
io->iop_psorb |= 0x00880000;
|
||||
io->iop_pdirb &= ~0x00030000;
|
||||
io->iop_psorb &= ~0x00030000;
|
||||
#endif
|
||||
#endif
|
||||
cpm2_immr->im_cpmux.cmx_scr &= 0xff00ffff;
|
||||
cpm2_immr->im_cpmux.cmx_scr |= 0x00090000;
|
||||
|
|
@ -257,6 +266,7 @@ int cpm_uart_init_portdesc(void)
|
|||
cpm_uart_ports[UART_SMC1].smcp = (smc_t *) & cpm2_immr->im_smc[0];
|
||||
cpm_uart_ports[UART_SMC1].smcup =
|
||||
(smc_uart_t *) & cpm2_immr->im_dprambase[PROFF_SMC1];
|
||||
*(u16 *)(&cpm2_immr->im_dprambase[PROFF_SMC1_BASE]) = PROFF_SMC1;
|
||||
cpm_uart_ports[UART_SMC1].port.mapbase =
|
||||
(unsigned long)&cpm2_immr->im_smc[0];
|
||||
cpm_uart_ports[UART_SMC1].smcp->smc_smcm |= (SMCM_RX | SMCM_TX);
|
||||
|
|
@ -269,6 +279,7 @@ int cpm_uart_init_portdesc(void)
|
|||
cpm_uart_ports[UART_SMC2].smcp = (smc_t *) & cpm2_immr->im_smc[1];
|
||||
cpm_uart_ports[UART_SMC2].smcup =
|
||||
(smc_uart_t *) & cpm2_immr->im_dprambase[PROFF_SMC2];
|
||||
*(u16 *)(&cpm2_immr->im_dprambase[PROFF_SMC2_BASE]) = PROFF_SMC2;
|
||||
cpm_uart_ports[UART_SMC2].port.mapbase =
|
||||
(unsigned long)&cpm2_immr->im_smc[1];
|
||||
cpm_uart_ports[UART_SMC2].smcp->smc_smcm |= (SMCM_RX | SMCM_TX);
|
||||
|
|
|
|||
|
|
@ -446,7 +446,6 @@ static char *serial_version = "$Revision: 1.25 $";
|
|||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/segment.h>
|
||||
#include <asm/bitops.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
|
|
@ -5041,17 +5040,3 @@ rs_init(void)
|
|||
/* this makes sure that rs_init is called during kernel boot */
|
||||
|
||||
module_init(rs_init);
|
||||
|
||||
/*
|
||||
* register_serial and unregister_serial allows for serial ports to be
|
||||
* configured at run-time, to support PCMCIA modems.
|
||||
*/
|
||||
int
|
||||
register_serial(struct serial_struct *req)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
void unregister_serial(int line)
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@
|
|||
#include <linux/bitops.h>
|
||||
|
||||
#include <asm/system.h>
|
||||
#include <asm/segment.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/segment.h>
|
||||
#include <asm/semaphore.h>
|
||||
#include <asm/delay.h>
|
||||
#include <asm/coldfire.h>
|
||||
|
|
|
|||
|
|
@ -1600,7 +1600,7 @@ static int pmz_suspend(struct macio_dev *mdev, pm_message_t pm_state)
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (pm_state == mdev->ofdev.dev.power.power_state || pm_state < 2)
|
||||
if (pm_state.event == mdev->ofdev.dev.power.power_state.event)
|
||||
return 0;
|
||||
|
||||
pmz_debug("suspend, switching to state %d\n", pm_state);
|
||||
|
|
@ -1660,7 +1660,7 @@ static int pmz_resume(struct macio_dev *mdev)
|
|||
if (uap == NULL)
|
||||
return 0;
|
||||
|
||||
if (mdev->ofdev.dev.power.power_state == 0)
|
||||
if (mdev->ofdev.dev.power.power_state.event == PM_EVENT_ON)
|
||||
return 0;
|
||||
|
||||
pmz_debug("resume, switching to state 0\n");
|
||||
|
|
@ -1713,7 +1713,7 @@ static int pmz_resume(struct macio_dev *mdev)
|
|||
|
||||
pmz_debug("resume, switching complete\n");
|
||||
|
||||
mdev->ofdev.dev.power.power_state = 0;
|
||||
mdev->ofdev.dev.power.power_state.event = PM_EVENT_ON;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1947,21 +1947,29 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *port)
|
|||
static inline void
|
||||
uart_report_port(struct uart_driver *drv, struct uart_port *port)
|
||||
{
|
||||
printk("%s%d", drv->dev_name, port->line);
|
||||
printk(" at ");
|
||||
char address[64];
|
||||
|
||||
switch (port->iotype) {
|
||||
case UPIO_PORT:
|
||||
printk("I/O 0x%x", port->iobase);
|
||||
snprintf(address, sizeof(address),
|
||||
"I/O 0x%x", port->iobase);
|
||||
break;
|
||||
case UPIO_HUB6:
|
||||
printk("I/O 0x%x offset 0x%x", port->iobase, port->hub6);
|
||||
snprintf(address, sizeof(address),
|
||||
"I/O 0x%x offset 0x%x", port->iobase, port->hub6);
|
||||
break;
|
||||
case UPIO_MEM:
|
||||
case UPIO_MEM32:
|
||||
printk("MMIO 0x%lx", port->mapbase);
|
||||
snprintf(address, sizeof(address),
|
||||
"MMIO 0x%lx", port->mapbase);
|
||||
break;
|
||||
default:
|
||||
strlcpy(address, "*unknown*", sizeof(address));
|
||||
break;
|
||||
}
|
||||
printk(" (irq = %d) is a %s\n", port->irq, uart_type(port));
|
||||
|
||||
printk(KERN_INFO "%s%d at %s (irq = %d) is a %s\n",
|
||||
drv->dev_name, port->line, address, port->irq, uart_type(port));
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@ static void lh7a40xuart_tx_chars (struct uart_port* port)
|
|||
return;
|
||||
}
|
||||
if (uart_circ_empty (xmit) || uart_tx_stopped (port)) {
|
||||
lh7a40xuart_stop_tx (port, 0);
|
||||
lh7a40xuart_stop_tx (port);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -229,7 +229,7 @@ static void lh7a40xuart_tx_chars (struct uart_port* port)
|
|||
uart_write_wakeup (port);
|
||||
|
||||
if (uart_circ_empty (xmit))
|
||||
lh7a40xuart_stop_tx (port, 0);
|
||||
lh7a40xuart_stop_tx (port);
|
||||
}
|
||||
|
||||
static void lh7a40xuart_modem_status (struct uart_port* port)
|
||||
|
|
|
|||
|
|
@ -269,7 +269,10 @@ static void sunsu_stop_tx(struct uart_port *port)
|
|||
|
||||
__stop_tx(up);
|
||||
|
||||
if (up->port.type == PORT_16C950 && tty_stop /*FIXME*/) {
|
||||
/*
|
||||
* We really want to stop the transmitter from sending.
|
||||
*/
|
||||
if (up->port.type == PORT_16C950) {
|
||||
up->acr |= UART_ACR_TXDIS;
|
||||
serial_icr_write(up, UART_ACR, up->acr);
|
||||
}
|
||||
|
|
@ -283,10 +286,11 @@ static void sunsu_start_tx(struct uart_port *port)
|
|||
up->ier |= UART_IER_THRI;
|
||||
serial_out(up, UART_IER, up->ier);
|
||||
}
|
||||
|
||||
/*
|
||||
* We only do this from uart_start
|
||||
* Re-enable the transmitter if we disabled it.
|
||||
*/
|
||||
if (tty_start && up->port.type == PORT_16C950 /*FIXME*/) {
|
||||
if (up->port.type == PORT_16C950 && up->acr & UART_ACR_TXDIS) {
|
||||
up->acr &= ~UART_ACR_TXDIS;
|
||||
serial_icr_write(up, UART_ACR, up->acr);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue