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 Original line Diff line number Diff line
@@ -561,7 +561,6 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
#
#
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_BAST_SIO=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTYS=y
+0 −1
Original line number Original line Diff line number Diff line
@@ -570,7 +570,6 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
#
#
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_BAST_SIO=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTYS=y
+37 −0
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@
 *     14-Mar-2006 BJD  Updated for __iomem changes
 *     14-Mar-2006 BJD  Updated for __iomem changes
 *     22-Jun-2006 BJD  Added DM9000 platform information
 *     22-Jun-2006 BJD  Added DM9000 platform information
 *     28-Jun-2006 BJD  Moved pm functionality out to common code
 *     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>
#include <linux/kernel.h>
@@ -64,6 +65,8 @@
#include <linux/mtd/nand_ecc.h>
#include <linux/mtd/nand_ecc.h>
#include <linux/mtd/partitions.h>
#include <linux/mtd/partitions.h>


#include <linux/serial_8250.h>

#include "clock.h"
#include "clock.h"
#include "devs.h"
#include "devs.h"
#include "cpu.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 */
/* Standard BAST devices */


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


static struct clk *bast_clocks[] = {
static struct clk *bast_clocks[] = {
+31 −20
Original line number Original line 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;
 *     - 10x cards have control registers in IO and/or memory space;
 *     - 20x cards have control registers in standard PCI configuration 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.
 * 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_2_921600,
	pbn_b0_4_921600,
	pbn_b0_4_921600,


	pbn_b0_4_1152000,

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


	[pbn_b0_bt_1_115200] = {
	[pbn_b0_bt_1_115200] = {
		.flags		= FL_BASE0|FL_BASE_BARS,
		.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)
static void __devexit pciserial_remove_one(struct pci_dev *dev)
{
{
	struct serial_private *priv = pci_get_drvdata(dev);
	struct serial_private *priv = pci_get_drvdata(dev);

	pci_set_drvdata(dev, NULL);

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


	pci_set_drvdata(dev, NULL);

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


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


	kfree(priv);
	kfree(priv);
}
}
}


static int pciserial_suspend_one(struct pci_dev *dev, pm_message_t state)
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_DEVICE_ID_OXSEMI_16PCI954,
		PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, 0, 0,
		PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, 0, 0,
		pbn_b0_4_921600 },
		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_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
		pbn_b0_4_115200 },
		pbn_b0_4_115200 },
+0 −7
Original line number Original line 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
	  your boot loader about how to pass options to the kernel at
	  boot time.)
	  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
config SERIAL_DZ
	bool "DECstation DZ serial driver"
	bool "DECstation DZ serial driver"
	depends on MACH_DECSTATION && MIPS32
	depends on MACH_DECSTATION && MIPS32
Loading