Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c2a68b8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-serial

parents c94c0d20 056a8763
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -561,7 +561,6 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
#
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_BAST_SIO=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
+0 −1
Original line number Diff line number Diff line
@@ -570,7 +570,6 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
#
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_BAST_SIO=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
+37 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
 *     14-Mar-2006 BJD  Updated for __iomem changes
 *     22-Jun-2006 BJD  Added DM9000 platform information
 *     28-Jun-2006 BJD  Moved pm functionality out to common code
 *     17-Jul-2006 BJD  Changed to platform device for SuperIO 16550s
*/

#include <linux/kernel.h>
@@ -64,6 +65,8 @@
#include <linux/mtd/nand_ecc.h>
#include <linux/mtd/partitions.h>

#include <linux/serial_8250.h>

#include "clock.h"
#include "devs.h"
#include "cpu.h"
@@ -351,6 +354,39 @@ static struct platform_device bast_device_dm9k = {
	}
};

/* serial devices */

#define SERIAL_BASE  (S3C2410_CS2 + BAST_PA_SUPERIO)
#define SERIAL_FLAGS (UPF_BOOT_AUTOCONF | UPF_IOREMAP | UPF_SHARE_IRQ)
#define SERIAL_CLK   (1843200)

static struct plat_serial8250_port bast_sio_data[] = {
	[0] = {
		.mapbase	= SERIAL_BASE + 0x2f8,
		.irq		= IRQ_PCSERIAL1,
		.flags		= SERIAL_FLAGS,
		.iotype		= UPIO_MEM,
		.regshift	= 0,
		.uartclk	= SERIAL_CLK,
	},
	[1] = {
		.mapbase	= SERIAL_BASE + 0x3f8,
		.irq		= IRQ_PCSERIAL2,
		.flags		= SERIAL_FLAGS,
		.iotype		= UPIO_MEM,
		.regshift	= 0,
		.uartclk	= SERIAL_CLK,
	},
	{ }
};

static struct platform_device bast_sio = {
	.name			= "serial8250",
	.id			= 0,
	.dev			= {
		.platform_data	= &bast_sio_data,
	},
};

/* Standard BAST devices */

@@ -364,6 +400,7 @@ static struct platform_device *bast_devices[] __initdata = {
	&s3c_device_nand,
	&bast_device_nor,
	&bast_device_dm9k,
	&bast_sio,
};

static struct clk *bast_clocks[] = {
+31 −20
Original line number Diff line number Diff line
@@ -389,6 +389,9 @@ static void __devexit sbs_exit(struct pci_dev *dev)
 *     - 10x cards have control registers in IO and/or memory space;
 *     - 20x cards have control registers in standard PCI configuration space.
 *
 * There are also Quartet Serial cards which use Oxford Semiconductor
 * 16954 quad UART PCI chip clocked by 18.432 MHz quartz.
 *
 * Note: some SIIG cards are probed by the parport_serial object.
 */

@@ -1026,6 +1029,8 @@ enum pci_board_num_t {
	pbn_b0_2_921600,
	pbn_b0_4_921600,

	pbn_b0_4_1152000,

	pbn_b0_bt_1_115200,
	pbn_b0_bt_2_115200,
	pbn_b0_bt_8_115200,
@@ -1158,6 +1163,12 @@ static struct pci_board pci_boards[] __devinitdata = {
		.base_baud	= 921600,
		.uart_offset	= 8,
	},
	[pbn_b0_4_1152000] = {
		.flags		= FL_BASE0,
		.num_ports	= 4,
		.base_baud	= 1152000,
		.uart_offset	= 8,
	},

	[pbn_b0_bt_1_115200] = {
		.flags		= FL_BASE0|FL_BASE_BARS,
@@ -1755,13 +1766,11 @@ pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent)
static void __devexit pciserial_remove_one(struct pci_dev *dev)
{
	struct serial_private *priv = pci_get_drvdata(dev);

	pci_set_drvdata(dev, NULL);

	if (priv) {
	struct pci_serial_quirk *quirk;
	int i;

	pci_set_drvdata(dev, NULL);

	for (i = 0; i < priv->nr; i++)
		serial8250_unregister_port(priv->line[i]);

@@ -1782,7 +1791,6 @@ static void __devexit pciserial_remove_one(struct pci_dev *dev)

	kfree(priv);
}
}

static int pciserial_suspend_one(struct pci_dev *dev, pm_message_t state)
{
@@ -1977,6 +1985,9 @@ static struct pci_device_id serial_pci_tbl[] = {
	{	PCI_VENDOR_ID_SPECIALIX, PCI_DEVICE_ID_OXSEMI_16PCI954,
		PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, 0, 0,
		pbn_b0_4_921600 },
	{	PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
		PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL, 0, 0,
		pbn_b0_4_1152000 },
	{	PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
		pbn_b0_4_115200 },
+0 −7
Original line number Diff line number Diff line
@@ -306,13 +306,6 @@ config SERIAL_S3C2410_CONSOLE
	  your boot loader about how to pass options to the kernel at
	  boot time.)

config SERIAL_BAST_SIO
	bool "Support for BAST SuperIO serial ports"
	depends on ARCH_BAST && SERIAL_8250=y
	help
	  Support for registerin the SuperIO chip on BAST board with
	  the 8250/16550 uart code.

config SERIAL_DZ
	bool "DECstation DZ serial driver"
	depends on MACH_DECSTATION && MIPS32
Loading