Commit Graph

194 Commits

Author SHA1 Message Date
Sascha Hauer 0f302dc354 [ARM] 2866/1: add i.MX set_mctrl / get_mctrl functions
Patch from Sascha Hauer

This patch adds support for setting and getting RTS / CTS via
set_mtctrl / get_mctrl functions.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-08-31 21:48:47 +01:00
Russell King b129a8ccd5 [SERIAL] Clean up and fix tty transmission start/stoping
The start_tx and stop_tx methods were passed a flag to indicate
whether the start/stop was from the tty start/stop callbacks, and
some drivers used this flag to decide whether to ask the UART to
immediately stop transmission (where the UART supports such a
feature.)

There are other cases when we wish this to occur - when CTS is
lowered, or if we change from soft to hard flow control and CTS
is inactive.  In these cases, this flag was false, and we would
allow the transmitter to drain before stopping.

There is really only one case where we want to let the transmitter
drain before disabling, and that's when we run out of characters
to send.

Hence, re-jig the start_tx and stop_tx methods to eliminate this
flag, and introduce new functions for the special "disable and
allow transmitter to drain" case.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-08-31 10:12:14 +01:00
Len Brown 27a639a92d Auto-update from upstream 2005-08-29 17:02:17 -04:00
Linus Torvalds 975f957dc4 Merge HEAD from master.kernel.org:/home/rmk/linux-2.6-serial.git 2005-08-29 10:34:59 -07:00
Len Brown 09d4a80e66 Merge HEAD from ../from-linus 2005-08-25 12:45:49 -04:00
Len Brown 76f5858482 [ACPI] delete CONFIG_ACPI_BUS
it is a synonym for CONFIG_ACPI

Signed-off-by: Len Brown <len.brown@intel.com>
2005-08-24 12:11:34 -04:00
Len Brown 84ffa74752 Merge from-linus to-akpm 2005-08-23 22:12:23 -04:00
Al Viro a828b8e4e6 [PATCH] m32r_sio gcc4 fixes
extern declaration followed by static in drivers/serial/m32r_sio.c

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:44 -07:00
Al Viro 84b6a2323a [PATCH] Kconfig fix (amba on arm/versatile)
AMBA_PL010 is broken on arm/versatile; marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:42 -07:00
Al Viro 9ff658589b [PATCH] Kconfig fix (M32R_PLDSIO dependecies)
M32R_PLDSIO depends on subarchitecture providing PLD_ESIO0CR and
friends.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:42 -07:00
Keith Owens 71841b8fe7 [IA64] Initialize some spinlocks
Some IA64 spinlocks are not being initialized, make it so.

Signed-off-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-08-16 15:33:26 -07:00
Len Brown 95f193aa4f Merge ../to-linus 2005-08-11 00:56:08 -04:00
Kumar Gala 36d2f5a182 [PATCH] cpm_uart: needs some love to compile with GCC4.0.1
Fixed problems so we can build with gcc-4.0.1

Signed-off-by: Peter Schaefer-Hutter <peter.schaefer-hutter@tfk-racoms.com>
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-09 12:08:22 -07:00
Kumar Gala 311c46273f [PATCH] cpm_uart: Fix dpram allocation and non-console uarts
* Makes dpram allocations work
* Makes non-console UART work on both 8xx and 82xx
* Fixed whitespace in files that were touched

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Pantelis Antoniou <panto@intracom.gr>
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-09 12:08:22 -07:00
Len Brown 1d492eb413 [ACPI] Merge acpi-2.6.12 branch into 2.6.13-rc3
Signed-off-by: Len Brown <len.brown@intel.com>
2005-08-05 00:31:42 -04:00
Kenji Kaneshige 58e0276245 [ACPI] 8250 driver now checks for acpi_register_gsi() errors
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
2005-08-04 22:22:18 -04:00
Bjorn Helgaas 655a0a7799 [PATCH] serial: add MMIO support to 8250_pnp
Add support for UARTs in MMIO space and clean up a little whitespace.

HP legacy-free ia64 machines need this.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-29 15:01:13 -07:00
Komuro d277ad0eaa [PATCH] pcmcia: fix many device IDs
If the product-id-string contains the '+' , '&' ,'_', it was not converted
properly from the /etc/pcmcia/config(pcmcia-cs config file).

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-28 08:39:00 -07:00
Russell King 661299d9d0 Merge with Linus' 2.6 tree 2005-07-28 09:30:20 +01:00
Marcelo Tosatti 4e4b7952cd [PATCH] cpm_uart: use DPRAM for early console
m8xx_cpm_hostalloc() can't rely on using the coherent DMA allocator early
on boot because the VM is not fully up yet.  Change it to use the on-board
DPRAM instead.

The current code relies on the "bootmem_page" allocated by
m8xx_cpm_reset(), which must be killed.

This is done in v2.4 but has never been forward ported to v2.6.

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Cc: Pantelis Antoniou <panto@intracom.gr>
Cc: Kumar Gala <kumar.gala@freescale.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:18 -07:00
David Ranson db1de1595d [PATCH] serial: MRi MRI-PCIDS1 dual port serial card
Add support for the MRi PCIDS1 dual port serial card.  This card is a
little controversial since it is the subject of a PCI vendor/device ID
clash.  (See
http://www.ussg.iu.edu/hypermail/linux/kernel/0303.1/0516.html).  I have
for now just used the hex ID 0x950a.  The divisor was part calculated part
iterated, so may not be exactly correct (but works for me at all settings
between 300 - 115300 bps).

Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:53 -07:00
V. ANANDA KRISHNAN c223695634 [PATCH] jsm: warning fixes
- updates the version

- fix mixing of declarations and code.  The mixing of declarations and
  code displays warnings when used against RedHat RHEL4.0 distro (compiler
  version is 3.4.3-22.1) and hence I separated them out.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:52 -07:00
V. ANANDA KRISHNAN 9539c1d495 [PATCH] jsm: use dynamic major number allocation
The jsm driver uses a static number of 253.  The major number 253 is a
reserved for "LOCAL/EXPERIMENTAL USE" by both char and block devices.  So
take advantage of the dynamic allocation of major number by the kernel.

Signed-off-by: V. Ananda Krishnan <mansarov@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:52 -07:00
Russell King 05caac585f [SERIAL] Convert parport_serial to use new 8250_pci interfaces
Convert parport_serial to use the new 8250_pci interface, converting
the table to a pciserial_board table.  This also unuses the SPCI_*
definitions in serialP.h, which can now be removed.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-27 11:41:18 +01:00
Russell King 241fc4367b [SERIAL] Expose 8250_pci setup/removal/suspend/resume functions
Re-jig the setup/removal/suspend/resume of 8250 pci ports so that they
know slightly less about how they're attached to a PCI device.  Expose
this as the new interface for registering PCI serial ports, as well as
the pciserial_board structure and associated flag definitions.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-27 11:35:54 +01:00
Russell King 70db3d91a5 [SERIAL] Pass around serial_private instead of pci_dev
Pass the serial_private structure via the setup method instead of
the pci_dev.  We don't want to assume that the pci_dev's driver
data is a pointer to serial_private.  Instead, put the pci_dev
inside serial_private.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-27 11:34:27 +01:00
Russell King 67d74b8707 [SERIAL] Collapse the SIIG quirk entries
Collapse all the SIIG quirk entries into one.  SIIG10x cards all
have PCI device IDs of 0x10xx, SIIG20x cards all have PCI device
IDs of 0x20xx.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-27 11:33:03 +01:00
Russell King 72ce9a8333 [SERIAL] Factor out the common setup from the per-serial port loop.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-27 11:32:04 +01:00
Russell King 1c7c1fe516 [SERIAL] Rename pci_board to pciserial_board.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-27 11:31:19 +01:00
Eric W. Biederman 804ebf46d5 [PATCH] 68328serial: sysrq should use emergency_reboot
The 68328serial.c driver has a weird local reimplementation of
magic sysrq.  The code is architecture specific enough that calling
machine_restart() is probably ok.  But there is no reason not to call
emergency_restart() so do so.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 14:35:44 -07:00
Russell King 056a8763fc [PATCH] Serial: No need to check for priv != NULL in remove_one
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-22 10:15:04 +01:00
Andrey Panin fbc0dc0df5 [PATCH] Serial: Add support for SIIG Quartet serial card
Add support for SIIG Quartet Serial card.  This card has Oxford
Semiconducor 16954 quad UART which is clocked by 10x faster
(18.432 MHz) quartz.

Signed-off-by: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-18 11:38:09 +01:00
Ben Dooks 65cc3370ef [PATCH] ARM: 2818/1: BAST - Use platform device for SuperIO 16550s
Patch from Ben Dooks

Use platform device for the 16500 UARTs in the onboard
SuperIO controller.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-18 10:24:32 +01:00
Olaf Hering 6d283d2716 [PATCH] Serial: Remove linux/version.h
changing CONFIG_LOCALVERSION rebuilds too much, for no appearent reason.

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-16 09:59:00 +01:00
Dominik Brodowski 44670d2b50 [PATCH] pcmcia: remove references to pcmcia/version.h
As a follow-up, remove the inclusion of pcmcia/version.h in many files.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-07 18:24:07 -07:00
Dominik Brodowski 1e212f3645 [PATCH] pcmcia: move event handler
Move the "event handler" to struct pcmcia_driver -- the unified event handler
will disappear really soon, but switching it to struct pcmcia_driver in the
meantime allows for better "step-by-step" patches.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-07 18:24:05 -07:00
Jeff Mahoney 5e6557722e [PATCH] openfirmware: generate device table for userspace
This converts the usage of struct of_match to struct of_device_id,
similar to pci_device_id.  This allows a device table to be generated,
which can be parsed by depmod(8) to generate a map file for module
loading.

In order for hotplug to work with macio devices, patches to
module-init-tools and hotplug must be applied.  Those patches are
available at:

 ftp://ftp.suse.com/pub/people/jeffm/linux/macio-hotplug/

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-06 12:55:20 -07:00
Andrei Konovalov e6b6239f8e [PATCH] ppc32: add Freescale MPC885ADS board support
This patch adds the Freescale MPC86xADS board support.  The supported
devices are SMC UART and 10Mbit ethernet on SCC1.

The manual for the board says that it "is compatible with the MPC8xxFADS
for software point of view".  That's why this patch extends FADS instead of
introducing a new platform.

FEC is not supported as the "combined FCC/FEC ethernet driver" driver by
Pantelis Antoniou should replace the current FEC driver.

Signed-off-by: Gennadiy Kurtsman <gkurtsman@ru.mvista.com>
Signed-off-by: Andrei Konovalov <akonovalov@ru.mvista.com>
Acked-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-05 19:18:59 -07:00
Linus Torvalds 19f7241a3b Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-07-03 14:39:33 -07:00
Russell King 976ecd12b8 [PATCH] Serial: Fix console port spinlock initialisation
Initialise the spinlock for port being used by the console early, but
don't re-initialise it again later.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-03 21:05:45 +01:00
Ben Dooks 75f631dc45 [PATCH] ARM: 2785/1: S3C24XX - serial calls request_irq() with IRQs disabled
Patch from Ben Dooks

The request_irq() function is called by s3c24xx uart driver with
the local IRQs disabled. The request_irq() function can allocate
memory via kmalloc(), and this may sleep causing a warning about
sleeping in an invalid context.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-03 17:44:40 +01:00
Russell King 44454bcdb9 [PATCH] Serial: Fix small CONFIG_SERIAL_8250_NR_UARTS
If CONFIG_SERIAL_8250_NR_UARTS is smaller than the array size in
asm/serial.h, we trampled on memory which wasn't ours.  Take our
big boots away by limiting the number of ports initialised to the
smaller of ...NR_UARTS and the array size.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-30 22:41:22 +01:00
Russell King 026d02a236 [PATCH] Serial: Split 8250 port table (part 2)
Remove legacy ISA serial ports for Accent, Boca, Fourport, Hub6 and MCA
from the architecture specific serial.h include.

The only ports which remain in asm-*/serial.h are the platform specific
entries.  These should really be converted by platform maintainers to
use a platform device, such as can be found in
arch/arm/mach-footbridge/isa.c

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-29 18:45:19 +01:00
Russell King e763b90c41 [PATCH] Serial: Disable OX950 transmitter for flow control
Disable the transmitter whenever we want to prevent characters
being transmitted by flow control.  However, if we run out of
characters to send and want to only disable the TX interrupt,
allow that scenario.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-29 18:41:51 +01:00
Russell King 0dd7a1aed7 [PATCH] Serial: Check status of CTS when using flow control
Fix bugme #4712: read the CTS status and set hw_stopped if CTS
is not active when opening the port and/or enabling CRTSCTS

Thanks to Stefan Wolff for spotting this problem.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-29 18:40:53 +01:00
Russell King c5f4644e6c [PATCH] Serial: Adjust serial locking
This patch changes the way serial ports are locked when getting modem
status.  This change is necessary because we will need to atomically
read the modem status and take action depending on the CTS status.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-29 09:42:38 +01:00
Jun Komuro f4d7510d3d [PATCH] pcmcia: more IDs for TDK multifunction cards
Add new pcmcia id_table for fmvj18x_cs and serial_cs.
(TDK multi-function card (NetPartner9610 and MobileNetworker3200))

Signed-off-by: Jun Komuro <komurojun-mbn@nifty.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:17 -07:00
Dominik Brodowski 325aa29fe5 [PATCH] pcmcia: id_table for serial_cs
Add pcmcia_device_id table.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:08 -07:00
Russell King ec9f47cd6a [PATCH] Serial: Split 8250 port table
Add separate files for the different 8250 ISA-based serial boards.

Looking across all the various architectures, it seems reasonable that
we can key the availability of the configuration options for these
beasts to the bus-related symbols (iow, CONFIG_ISA).  We also standardise
the base baud/uart clock rate for these boards - I'm sure that isn't
architecture specific, but is solely dependent on the crystal fitted
on the board (which should be the same no matter what type of machine
its fitted into.)

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-27 11:12:54 +01:00
Russell King addcc4a10f [PATCH] Serial: Remove {un,}register_serial from 68328serial.c
68328serial.c does not make use of register_serial/unregister_serial,
which is traditionally used to register 8250-compatible UARTs with
the 8250-compatible serial driver.

Acked-by: David McCullough
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-27 10:29:26 +01:00
Nishanth Aravamudan 6a72c7ba2e [PATCH] serial/68328serial: replace schedule_timeout() with msleep_interruptible()
Use msleep_interruptible() instead of schedule_timeout() in send_break() to
guarantee the task delays as expected.  Change @duration's units to
milliseconds, and modify arguments in callers appropriately.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:10 -07:00
Nishanth Aravamudan 5d582b4ef6 [PATCH] serial/68360serial: replace schedule_timeout() with msleep_interruptible()
Use msleep_interruptible() instead of schedule_timeout() in send_break() to
guarantee the task delays as expected.  Change @duration's units to
milliseconds, and modify arguments in callers appropriately.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:10 -07:00
Domen Puncer a4bfde5abd [PATCH] serial/icom: Remove custom msescs_to_jiffies() macro
Remove the MSECS_TO_JIFFIES() macro because msescs_to_jiffies() from
jiffies.h should be used.  The macro isn't referenced anywhere anyway.

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:01 -07:00
Lee Nicks 4d0145a7de [PATCH] compilation errors in drivers/serial/mpsc.c
The following patch fix gcc 4 compilation errors in drivers/serial/mpsc.c

Signed-off-by: Lee Nicks <allinux@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:24:37 -07:00
William Lee Irwin III 3761657853 [SPARC]: sunzilog warning fixes
From: William Lee Irwin III <wli@holomorphy.com>

This small patch silences some iomem-related warnings in sunzilog.c by
declaring mapped_addr as void __iomem * and inserting a cast in one case.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-06-24 20:06:18 -07:00
Russell King 0a8b80c52f [PATCH] Serial: Eliminate magic numbers
Use the existing macros instead.

Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-24 19:48:22 +01:00
Linus Torvalds adb7ee3746 Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-06-23 17:19:56 -07:00
Linus Torvalds f46f6b20cb Merge master.kernel.org:/home/rmk/linux-2.6-serial 2005-06-23 16:58:55 -07:00
Russell King 67f7654ea1 [PATCH] Serial: Bugs are not capabilities
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-23 22:26:43 +01:00
Ben Dooks d9dc58049d [PATCH] ARM: 2728/1: S3C2410 - fix constant warning on serial device name
Patch from Ben Dooks

Remove warning of casting `const char *` to a `char *` type.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-23 21:56:46 +01:00
Pat Gefre 328007b70c [PATCH] Altix: shut off xmit intr if done xmitting
Small mod to shut off the xmit interrupt if we have nothing to transmit.

Signed-off-by: Patrick Gefre <pfg@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-23 09:45:27 -07:00
Russell King 55d3b282b9 [PATCH] Serial: Mobility's 16550A ports need a helping hand
The Mobility 16550A serial ports don't behave the same as standard
16550A ports, and need a helping hand to get them going once the
transmitter has drained and been disabled.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-23 15:05:41 +01:00
Russell King 4ba5e35daa [PATCH] Serial: Convert 8250 revision-based bug fixes to bug bitmask
For some 8250 port types, we used to check the type of the port, and
then determine whether the chip revision means the device is buggy.
Instead, introduce a bit array, and set the appropriate bit(s) when
we discover a buggy device.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-23 10:43:04 +01:00
Brent Casavant d4c477ca54 [PATCH] ioc4: PCI bus speed detection
Several hardware features of SGI's IOC4 I/O controller chip require
timing-related driver calculations dependent upon the PCI bus speed.  This
patch enables the core IOC4 driver code to detect the actual bus speed and
store a value that can later be used by the IOC4 subdrivers as needed.

Signed-off-by: Brent Casavant <bcasavan@sgi.com>
Acked-by: Pat Gefre <pfg@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-21 18:46:32 -07:00
Brent Casavant e5d310b349 [PATCH] ioc4: CONFIG split
The SGI IOC4 I/O controller chip drivers are currently all configured by
CONFIG_BLK_DEV_SGIIOC4.  This is undesirable as not all IOC4 hardware features
are needed by all systems.

This patch adds two configuration variables, CONFIG_SGI_IOC4 for core IOC4
driver support (see patch 1/3 in this series for further explanation) and
CONFIG_SERIAL_SGI_IOC4 to independently enable serial port support.

Signed-off-by: Brent Casavant <bcasavan@sgi.com>
Acked-by: Pat Gefre <pfg@sgi.com>
Acked-by: Jeremy Higdon <jeremy@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-21 18:46:32 -07:00
Brent Casavant 22329b511a [PATCH] ioc4: Core driver rewrite
This series of patches reworks the configuration and internal structure
of the SGI IOC4 I/O controller device drivers.

These changes are motivated by several factors:

- The IOC4 chip PCI resources are of mixed use between functions (i.e.
  multiple functions are handled in the same address range, sometimes
  within the same register), muddling resource ownership and initialization
  issues.  Centralizing this ownership in a core driver is desirable.

- The IOC4 chip implements multiple functions (serial, IDE, others not
  yet implemented in the mainline kernel) but is not a multifunction
  PCI device.  In order to properly handle device addition and removal
  as well as module insertion and deletion, an intermediary IOC4-specific
  driver layer is needed to handle these operations cleanly.

- All IOC4 drivers are currently enabled by a single CONFIG value.  As
  not all systems need all IOC4 functions, it is desireable to enable
  these drivers independently.

- The current IOC4 core driver will trigger loading of all function-level
  drivers, as it makes direct calls to them.  This situation should be
  reversed (i.e. function-level drivers cause loading of core driver)
  in order to maintain a clear and least-surprise driver loading model.

- IOC4 hardware design necessitates some driver-level dependency on
  the PCI bus clock speed.  Current code assumes a 66MHz bus, but the
  speed should be autodetected and appropriate compensation taken.

This patch series effects the above changes by a newly and better designed
IOC4 core driver with which the function-level drivers can register and
deregister themselves upon module insertion/removal.  By tracking these
modules, device addition/removal is also handled properly.  PCI resource
management and ownership issues are centralized in this core driver, and
IOC4-wide configuration actions such as bus speed detection are also
handled in this core driver.

This patch:

The SGI IOC4 I/O controller chip implements multiple functions, though it is
not a multi-function PCI device.  Additionally, various PCI resources of the
IOC4 are shared by multiple hardware functions, and thus resource ownership by
driver is not clearly delineated.  Due to the current driver design, all core
and subordinate drivers must be loaded, or none, which is undesirable if not
all IOC4 hardware features are being used.

This patch reorganizes the IOC4 drivers so that the core driver provides a
subdriver registration service.  Through appropriate callbacks the subdrivers
can now handle device addition and removal, as well as module insertion and
deletion (though the IOC4 IDE driver requires further work before module
deletion will work).  The core driver now takes care of allocating PCI
resources and data which must be shared between subdrivers, to clearly
delineate module ownership of these items.

Signed-off-by: Brent Casavant <bcasavan@sgi.com>
Acked-by: Pat Gefre <pfg@sgi.com
Acked-by: Jeremy Higdon <jeremy@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-21 18:46:32 -07:00
Stephen Rothwell 145d01e428 [PATCH] ppc64 iSeries: allow build with no PCI
This patch allows iSeries to build with CONFIG_PCI=n.  This is useful for
partitions that have only virtual I/O.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-21 18:46:31 -07:00
Matt Porter a1604f9121 [PATCH] cpm_uart: Route SCC2 pins for the STx GP3 board
Adds SCC2 pin routing specific to the GP3 board.

Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-21 18:46:23 -07:00
Russell King ff39bc772a [PATCH] Serial: remove unused variable in sa1100 driver
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-08 19:26:47 +01:00
Yoichi Yuasa eae936e21b [PATCH] serial: update NEC VR4100 series serial support
- Changed the return value of unknown type to NULL.

- Deleted the NULL check of dev_id in siu_interrupt().

- Deleted the NULL check of port->membase in siu_shutdown().

- Added the NULL check of port->membase to siu_startup().

- Removed early_uart_ops. Now using vr41xx_siu standerd one.

- Changed KSEG1ADDR() in siu_console_setup() to ioremap().

- When uart_add_one_port() failed, changed to set NULL to port->dev.

Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-04 17:13:01 -07:00
David Woodhouse 857dde2e79 When we detect that a 16550 was in fact part of a NatSemi SuperIO chip
with high-speed mode enabled, we switch it to high-speed mode so that
baud_base becomes 921600. However, we also need to multiply the baud
divisor by 8 at the same time, in case it's already in use as a console.

Signed-off-by: David Woodhouse
Acked-by: Tom Rini
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-05-21 15:52:23 +01:00
Linus Torvalds 66e60f9251 Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git/ 2005-05-19 15:31:18 -07:00
Petr Vandrovec f1fc3990e2 [PATCH] serial_cs device identification fix
serial_cs's vendor/device identification got broken by Yum Rayan's change
'[PATCH] serial_cs: Reduce stack usage in serial_event()' - it changed buf
type from u_short* to char*, breaking device manufacturer & card number
retrieval.  Due to this my modem stopped from being recognized as special
case.

Code will work much better if we'll rely on first_tuple's parser instead of
doing parse ourselves.  Code also looks simpler after change.

Signed-off-by: Petr Vandrovec <vandrove@vc.cvut.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-17 07:59:19 -07:00
David S. Miller e4fdee8e3b [SUNSAB]: Defer register updates until transmitter is idle.
The chip can emit garbage characters if we touch the
settings while characters are going out.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-11 11:34:32 -07:00
Russell King 05ab301463 [PATCH] Serial: Add uart_insert_char()
Add uart_insert_char(), which handles inserting characters into the
flip buffer.  This helper function handles the correct semantics
for handling overrun in addition to inserting normal characters.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
2005-05-09 23:21:59 +01:00
Russell King f1690f37a5 [PATCH] 8250_pci.c: add comment about enum sorting order
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
2005-05-06 10:19:09 +01:00
Adrian Bunk 408b664a7d [PATCH] make lots of things static
Another large rollup of various patches from Adrian which make things static
where they were needlessly exported.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01 08:59:29 -07:00
Patrick Gefre 5b052d8bb3 [PATCH] Altix ioc4 serial - Arm the read timeout timer before the first read
Arm the read timeout timer before the first read.

Signed-off-by: Patrick Gefre <pfg@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01 08:59:22 -07:00
Patrick Gefre 68985e486b [PATCH] Altix ioc4 serial - small uart setup mods
Small mods for setting up the uart - parity, flow control

Signed-off-by: Patrick Gefre <pfg@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01 08:59:21 -07:00
Patrick Gefre 6cb2875f8d [PATCH] Altix ioc4 serial - set a better timeout/threshold
Set the timeout and threshold to better values.

Signed-off-by: Patrick Gefre <pfg@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01 08:59:21 -07:00
Patrick Gefre 149733d4e2 [PATCH] Altix ioc4 serial - set hfc from ioctl
Allow hardware flow control to be set from an ioctl.

Signed-off-by: Patrick Gefre <pfg@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01 08:59:21 -07:00
Yum Rayan 16f31113a6 [PATCH] serial_cs: Reduce stack usage in serial_event()
This patch reduces the stack usage of the function serial_event() in
serial_cs from 2212 to 228.  I used a patched version of gcc 3.4.3 on i386
with -fno-unit-at-a-time disabled.

This patch is only compile tested.

Acked-by: Randy Dunlap <rddunlap@osdl.org>
Signed-off-by: Yum Rayan <yum.rayan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01 08:59:14 -07:00
Andreas Schwab 434498d532 [PATCH] sn_console: make sal_console_uart static again
Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01 08:59:12 -07:00
Sascha Hauer 587897f51f [PATCH] ARM: 2654/1: i.MX UART initialization sets and honors UFCR value
Patch from Sascha Hauer

This patch adds UCFR_RFDIV setting into i.MX serial driver.
This is required, if loader does not fully agree with Linux kernel
about UART setup manner. Linux only blindly expected some values until
now. This should enable to use even serial ports not recognized by
boot-loader as for example third UART found in the bluethoot module.
Patch also enables to detect original setup baudrate in more cases.

Signed-off-by: Pavel Pisa
Signed-off-by: Sascha Hauer
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-04-29 22:46:40 +01:00
Russell King 2b49abac58 [PATCH] Serial: Convert 8250_hp300 to use serial8250_{un,}register_port
Convert 8250_hp300 to use serial8250_register_port() and
serial8250_unregister_port().

Tested by Kars de Jong, 4/4/2005.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
2005-04-26 15:37:45 +01:00
Russell King 2a9604b863 [PATCH] Serial: Move error path processing inline
With unlikely() there's no need for the error path to
use gotos.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
2005-04-26 15:32:00 +01:00
Russell King 45849282bf [PATCH] Serial: Ensure error paths are marked with unlikely()
Ensure ARM serial driver error paths are marked with the
unlikely() compiler hint.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
2005-04-26 15:29:44 +01:00
Al Viro 2c6e759990 [PATCH] ppc annotations: mpsc
Usual iomem annotations + NULL noise removal.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-25 18:32:12 -07:00
David S. Miller b179fb8ca5 [SPARC64]: In sunsab driver, make sure to set the uart timeout.
This breaks serial consoles badly.  Thanks to Eric Brower
for tracking down the problem.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 22:18:03 -07:00
David S. Miller 623f41eb92 [SPARC64]: In sunsu driver, make sure to fully init chip for kbd/ms
We were forgetting to call sunsu_change_speed().  The reason
that replugging in the mouse cable "fixes things" is that
causes a BREAK interrupt which in turn caused a call to
sunsu_change_speed() which would get the chip setup properly.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21 22:06:13 -07:00
Russell King 23907eb8c2 [PATCH] serial: fix comments in 8250.c
Fix the formatting of some comments in 8250.c, and add a note that the
register_serial / unregister_serial shouldn't be used in new code.

We do this here in preference to adding to linux/serial.h, since that is used
by a number of non-8250 drivers which pretend to be 8250.  It is not known
whether it would be appropriate to do so.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16 15:26:39 -07:00
Christoph Hellwig 614a7d6a76 [PATCH] fix up newly added jsm driver
- plug various leaks and use after frees in the remove and
   initialization failure path (some still left)
 - remove useless global list of boards and use pci_set_drvdata instead
 - unobsfucate init path by merging functions together
 - kill various totally useless state variables
 - .. probably more I forgot

Note that the tty part still generates lots of sparse warnings and there's
still a totally useless layer of function pointer indirections, but maybe
someone else will fix that bit up.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16 15:25:44 -07:00
Pavel Machek 0370affeec [PATCH] fix u32 vs. pm_message_t in drivers/
-rc2-mm1 still contains few places where u32 and pm_message_t.  This fixes
drivers/serial [should change no code].

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16 15:25:35 -07:00
Linus Torvalds 1da177e4c3 Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
2005-04-16 15:20:36 -07:00