2000-09-14    <tytso@valinux.com>

	* Release of serial driver 5.05

	* serial.c (receive_chars): Fix a bug which could cause us to
		overflow the flip buffer.  (Thanks to Russel King for
		pointing out this problem.)

	* serial_compat.h (del_timer_sync): Only define del_timer_sync for
		kernels older than 2.4.0.

	* serial.c (shutdown): Make sure the UART is taken out of enhanced
		mode after we put the UART to sleep, so we avoid
		accidentally triggering an unexpected UART feature.

	* serial.c (serial_init_one, probe_serial_pci): Applied (by hand)
		Jeff Garzik's patch to use the new PCI interface.  This
		should allow cardbus devices to work (at least when
		inserted); getting pulled out may be a different story.  :-)

	* serial_compat.h: Added new framework to deal with the new PCI
		interface on 2.2 kernels.
	
2000-09-12    <tytso@snap.thunk.org>

	* Release of serial driver 5.04

	* serial_compat.h: Add PCI device/vendor ID's for SGI IOC3 

	* serial.c: Synchronize with 2.4.0test8.  Added SGI device, and 
		cleaned up serial warnings around CONFIG_SERIAL_RSA.
		(register_serial): Only start scanning preferentially
		at /dev/ttyS4 for x86 architecture.

	* serial.c (receive_chars): Moved ignore_status_mask test outside
		of special parity/frame/overflow handling, since if CREAD
		is not set, all characters must be ignored (this is done
		by setting UART_LSR_DR).

2000-08-11    <tytso@snap.thunk.org>

	* Release of serial driver 5.03

	* serial_reg.h (UART_ICR): Fix stupid comment bug (reversed
		Transmitter and Receiver FIFO level)

	* serial.c (rs_init): Make rs_init not be static to avoid problems
		with 2.2 kernels.

	* serial.c, serial_compat.h: Add support for DCI_PCCOM8 board.
		(Courtesy of Craig Schlenter <craig@qualica.com>)

2000-08-09    <tytso@valinux.com>

	* Release of serial driver 5.02

	* serial.c: Move the SAK and Magic SysRQ check to before
		read_status_mask and ignore_status_mask are processed, so
		it doesn't get masked by them.  Revert the August 8th
		change which hacked info->read_status_mask.

	* serial.c (autoconfig_startech_uarts): Initialize ACR to zero
		before probing using serial_icr_read.

2000-08-08    <tytso@valinux.com>

	* serial.c (change_speed): Add UART_LSR_BI to info->read_status_mask
		under two additional circumstances (if the line is the
		serial console and magic sysrq is enabled, and if the
		secure attention key is enabled.)
		(pci_timedia_fn): Fix bug in timedia support which caused
		it not to work.

	* serial.c: Added module descriptions	

2000-07-26    <tytso@snap.thunk.org>

	* Release of serial driver 5.01

	* serial.c: Update to use the new connect-tech pci id's.

2000-07-26    <tytso@valinux.com>

	* serial.c: PLX_1076 and PLX_SPCOM800 are the same.  Remove usage
		of PLX_1076 in favor of PLX_SPCOM800.
	
	* serial.c (set_serial_info): Don't allow the IRQ to be negative.
		(do_autoconfig): Only override the IRQ if detect_uart_irq()
		returns a valid irq.
		(wait_for_xmitr, receive_chars): Save the LSR_BI in
		wait_for_xmitr since it gets cleared when LSR is read.

	* serial.c: Sync up with 2.4.0test5-pre5.  Added support for
		Timedia cards, but fixed up the support so that it doesn't
		cause a massive explosion in the size of the pci
		configuration table.

2000-07-20    <tytso@valinux.com>

	* serial.c (rs_timer, figure_IRQ_timeout): Move the calculation of
		subtracting 2 to figure_IRQ_timeout, and make sure that
		mod_timer is never sets the expire time to less than
		jiffies+1.

	* serial.c (serial_pci_guess_board): Fix a stupid bug in the
		hueristic code which counts how many I/O ports in the PCI
		port.

	* serial.h: Change ASYNC_AUTOPROBE to have a number in the
		external flag number space.

	* serial.c, serial_compat.h: Add various new ConnectTech boards,
		and eliminate some impossible hardware combinations that
		don't actually happen in nature.

	* serialP.h: Fix typo (missing space).

	* serial.c: Make sure the RSA array variables are always available.

	* serial_compat.h: Clean up the define of new-style CPU CONFIG
		defines. 

2000-07-19    <tytso@valinux.com>

	* serial.c: fix some returns on failure not using MOD_DEC_USE_COUNT.
		Arnaldo Carvalho de Melo <acme@conectiva.com.br>

	* serial.c, serial_compat.h: Synchronize with Linux-2.4.0test5-pre2.  
		Remove use of RS_TIMER and use fixed timers instead.  Use
		__exit for rs_fini to avoid use of #ifdef MODULE.  Fix
		port handling on 64 bit machines.
	
2000-06-14  Theodore Ts'o  <tytso@valinux.com>

	* serial.c, serial_compat.h (PCI_DEVICE_ID_PLX_1077,
		PCI_DEVICE_ID_PLX_1076): Add support for these PLX PCI
		serial boards.

	* serial.c: Synchronize with Linux-2.4.0test1-ac11.
		(Removed CONFIG_KDB code, and added SupraExpress 
		to the PNP table)
	
	* serial.c: (serial_pnp_guess_board): If a device has no PNP
		resources, fail gracefully instead of oops'ing.

2000-06-09    <tytso@snap.thunk.org>

	* serial.c: Add support for Linux 2.2.15 and above, which need
		support for tty->poll_wait.

2000-05-29  Theodore Ts'o  <tytso@valinux.com>

	* Release of serial driver 5.00

	* Makefile: Add support for 2.4 kernels in the serial.ver rule.

	* serial.c (pci_boards): Add support for the RAStel 2 port modem.

	* serial.c: Use a much more compact encoding of valid ISA PNP
		devices, and include a much larger list of ISA PNP modems,
		courtesy of dmitry@Flame-in-Night.taurussoft.org.ru.

	* serial.c (modem_names, check_name): Mark as initial data/code.

	* serial.c (check_compatible_id): New function which checks to see
		whether a device has a generic PNP ID defined.

	* serial.c (serial_pnp_guess_board): Change hueristics to require
		both a name which indicates a modem plus having a
		generic PNP ID modem.

	* serial.c (probe_serial_pnp): Changed to use the more compact
		encouding of valid PNP boards.  Also, change to skip
		devices which have already been activated.

	* serial.c (serial_console_setup): Fix compile bug if CONFIG_KDB
		is defined.

2000-05-21  Theodore Ts'o  <tytso@valinux.com>

	* Release of serial driver 4.95

	* serial.c (autoconfig, pci_inteli960ni_fn): Improve debugging
		messages.

	* serial.h, serial.c (start_pci_pnp_board): Set the new
		ASYNC_AUTOPROBE flag if the device was autoprobed.  (So
		setserial -G can skip it.)

2000-05-19  Theodore Ts'o  <tytso@valinux.com>

	* rc.serial: Update to work with with devfs.  Also add standard
		init.d commands (status, restart, reload).

	* test_version.sh: Fix silly typo LIBUX_SRC should be LINUX_SRC

	* Makefile, test_version.sh: Change makefile to use the standard
		test_version.sh script.

	* setup.sh: Clean up script so that if the .kver file doesn't
		exist, it prints an error and exits.

	* Add support for the RSA-DV II/S card added, from patches
		submitted by Kiyokazu SUTO <suto@ks-and-ks.ne.jp>

2000-05-05  Theodore Ts'o  <tytso@valinux.com>

	* serial.c: When calling TIOCMIWAIT, force modem status interrupts
		on.  Updated version date in preparation of release of
		4.95. 

2000-04-30  Theodore Ts'o  <tytso@valinux.com>

	* serial.c: Update version number to 4.95

	* serial.c (start_pci_pnp_board): Add call to pci_enable_device if
		the device is not a PNP device.  (Added new flag
		SPCI_FL_ISPNP for this purpose.)  Removed call to
		pcibios_present(), since if it's there is no PCIBIOS, the
		pci_devices linked list is initialized to NULL.

	* serial.c: Fixed PNP entry for ASKEY 56K Plug&Play Modem.

	* serial.c: Synced up with 2.3.99pre6; added #ifdef test for
		CONFIG_DEVFS_FS.

	* serial.c: Fixed bug (that was apparently hidden by egcs) where
		we refering to port_high in a struct serial_state, where
		it doesn't exist.

2000-04-25  Theodore Ts'o  <tytso@valinux.com>

	* Release of serial driver 4.94

	* serial.c, serial.h: Fix the type change which broke binary
		compatibility on Alpha and other 64-bit platforms for the
		setserial program.

	* serial.c (autoconfig, startup): Add a new flag,
		ASYNC_BUGGY_UART, which if set, skips certain failsafe
		checks. 

	* serial.c (probe_serial_pnp): Add Andrew Panin's patch to support
		generic autodetection of ISA PnP modems.

	* serial.c: Use standard forwards/backwards compatibility helper
		functions for accessing PCI resource structures.

	* serial.c: Add support for the Megawolf Romulus PCI serial card,
		as well as the VS SPCOM800 card.  We now clear EFR[4]
		before testing for the 16950, which is apparently needed
		on some buggy 16952's. 

2000-04-25    <tytso@snap.thunk.org>

	* install-in-kernel: Update to properly install the new header
		files needed by Linux 2.2.  Also add logic so that only
		files which have changed get overwritten in the kernel.  
		This script now requires bash.

	* serialP.h: Add a conditional #include for serial.h, which is
		needed since Linux 2.2 assumes that struct async_icount is
		defined in serialP.h, and some busybodies moved it.

2000-04-25  Theodore Ts'o  <tytso@valinux.com>

	* serial.c: Synchronize with 2.3.99pre6-5.  Fixed bug in proc
		handling.  Removed prototypes for tty_register_devfs (now
		in tty.h, where it belongs).  Added some new PNP devices.

2000-03-25  Theodore Ts'o  <tytso@valinux.com>

	* serial.c (pci_inteli960ni_fn): Add support for EKF Intel i960
		serial boards.
	
	* serial.c, serial_compat.h: Use new CPU_M* defines for checking
		for 386 and 486 platforms.
	
	* serial.c (line_info): Fix long vs. int in sprintf format string

2000-03-21  Theodore Ts'o  <tytso@valinux.com>

	* serial.c: Added additional ISA PNP device entries, including
		syncing up with 2.3.99pre3-3.

2000-03-20  Theodore Ts'o  <tytso@valinux.com>

	* Release of serial driver 4.93

	* serial.c, serial.h, serialP.h: Fold in changes from Alan Modra
		(to make serial driver more SMP safe, and to fix some free
		buffer races.  Now requires circ_buf.h and uses the
		abstractions defined there.)

	* serial.c (pci_plx9050_fn): Fix Panacom initialization sequence.
		(Requires fixed Panacom boards, but now it works right.)

	* serial.c: Sync up with serial driver changes.

	* serial.c, serial_compat.h: Use module_init to automatically run
		rs_init.  Add compatibility macros for 2.2 kernels.

	* serial.h, serialP.h: Move kruft back into serialP.h, since
		people keep submitting patches to Linus, and he accepts
		it.  I'll fix this later when I completely redo the tty
		layer, and move struct async_icount into a tty header
		file.

2000-03-18  Theodore Ts'o  <tytso@valinux.com>

	* serial.c (avoid_irq_share, probe_serial_pnp), serialP.h: Applied
		Andrew Panin's patch to implement a new flag,
		SPCI_FL_NO_SHIRQ, which avoids IRQ sharing with other
		serial ports.  This flag is set for Rockwell 56K ACF II
		since apparently it is needed to avoid an IRQ flood.

2000-03-17  Theodore Ts'o  <tytso@valinux.com>

	* serial.c: Add entry for Supra Express 28.8 PnP modem.  Also
		enable PNP support if CONFIG_ISAPNP_MODULE is defined and
		we're compiling as a module.

2000-03-16  Theodore Ts'o  <tytso@valinux.com>

	* serial.c: Update PNP table to include new PNP modems.

	* serial.c, serial_compat.h: Add support for the Titan
		Microelectronics PCI serial boards.

	* serial.c,serial.h, serialP.h: Make *->port be an unsigned long
		instead of an int, for 64-bit platforms.  (Fix complaint
		from davem).

	* serial.c (serial_in, serial_out, pci_plx9050_fn,
		pci_siig10x_fn): Fold in patch from David Mosberger to
		clean up compiles of 64-bit platforms.

	* serial.c: Fix workaround for the 16C950 (the revision ID is zero
		based, not one base).  Get Lucent Venus 167x workaround
		from the 2.3.51 driver.  

	* serial.c, serial_compat.h: Remove CONFIG_DEVFS_FS #ifdef and
		define null procedures for tty_register_devfs() and
		tty_unregister_devfs().

	* Makefile: Add serial_compat.h to the dependency list for serial.o

2000-03-02  Theodore Ts'o  <tytso@valinux.com>

	* serial.c: Sync up with linux 2.3.48 serial driver.

2000-01-27  Theodore Ts'o  <tytso@valinux.com>

	* Release of serial driver 4.92

	* serial.c (change_speed): Work around a bug in the Oxford
		 Semiconductor 952 rev B chip which causes it to seriously
		 miscalculate baud rates when DLL is 0.

	* serial.c (register_serial): Fix bug noted by David Hinds where
		if a non-existent port is opened, a struct async_struct is
		created, and if register_serial doesn't set the port
		values in the async_struct, the two are out of sync, and
		this causes the port to malfunction.

	* install-in-kernel: Remove comment about needing to install new
		PCI definitions from serial_local.h, as it's (in general) 
		no longer true.

	* serial.c: Change IS_PCI_REGION_IOMEM to be
		IS_PCI_REGION_IOPORT, and clarify the code to make
		things less confusing about when we're using I/O
		mapped memory, and when we're using I/O ports.

	* serial.c (rs_interrupt_multi): Make the explanatory message (and
		comment) about "rs multi loop break" more understandable.

	* serial.c: Update LavaPort definitions in PCI table.

	* serialP.h (SPCI_FL_PNPDEFAULT): Remove SPCI_FL_NOMASK since it's
		not used/needed any more.

2000-01-26  Theodore Ts'o  <tytso@valinux.com>

	* serial.c, serialP.h, serial_compat.h: Update Lava entries to use
		Lava's common names and to support additional Lava boards.
		Add support for generic Oxford Semiconductor boards.  For
		the Oxsemi device id 9511, add support to determine the
		size of the base region to determine how many ports are
		available.  Add new SPCI_FL flag, SPCI_FL_REGION_SZ_CAP to
		support this board.  Note: this doesn't work for Linux 2.2
		kernels, since it was too hard to determine the size of
		the region.  So on 2.2 kernels an Oxsemi #9511 will only
		find one port.

2000-01-25  Theodore Ts'o  <tytso@valinux.com>

	* serial_compat.h (IS_PCI_REGION_IOMEM): Fix compat macros
		IS_PCI_REGION_IOMEM and PCI_BASE_ADDRESS so that they work
		correctly.  (IO_MEM and PORT masking was switched in the
		two macros).

	* serial.c (start_pci_pnp_board): Add debugging printk under
		SERIAL_DEBUG_PCI. 

	* serial.c: Always include serial_compat.h if compiling with local
		headers.

2000-01-21  Theodore Ts'o  <tytso@valinux.com>

	* serial.c: Use the PCI bus provided indication to determine
		whether a region is I/O mapped or not.  Always compile in
		the I/O mapped support, since it isn't that much code.
		Add support for trying to guess the PCI serial board
		information from the PCI resources.  Hopefully this won't
		cause any system hangs.  Clean up some entries in the
		table that are now known to correspond to winmodems.

2000-01-19  Theodore Ts'o  <tytso@valinux.com>

	* serial_compat.h, serial_local.h: Move PCI definitions to
		serial_compat.h, since they are needed for downlevel kernels.

	* serial.c: Add support for ISA PNP serial devices.  Code based
		loosely on patches from Andrey Panin
		(pazke@orbita.don.sitek.net), but made more tightly
		integrated with the PCI code.  The common PNP/PCI code 
		is factored out into an enabler function called 
		start_pci_pnp_board().

	* serial.c (set_modem_info): Add support for TIOCM_LOOP so that
		the UART can be put into loopback mode.  (So that it might
		be possible to write a user-mode base baud detection
		program).    
		Add appropriate __init and __initdata to save memory when
		the serial driver is linked directly into the kernel.
		MODULE has to be set in the makefile, since serial_local.h
		defines it too late.  (It has to be defined before
		module.h is #included.)

2000-01-16    <tytso@valinux.com>

	* serial.c (detect_uart_irq): Initialize new fields in scr_info
		which are needed by serial_in so that it doesn't crash.

2000-01-15    <tytso@valinux.com>

	* serial.c (rs_hangup): If the ASYNC_CLOSING flag is set, don't do
		any hangup processing, since rs_close() will take are of
		it for us.
		(rs_close): Move the restore_flags(flags) statement so
		that irq's are restored after ASYNC_CLOSING is set.  It
		doesn't do any good to call schedule() with interrupts
		disabled, and it's not needed.

2000-01-14    <tytso@valinux.com>

	* serial.c (probe_serial_pci), serial_compat.h: Sync with changes
		in linux 2.3.39.  Use the generic pci iterator function,
		and provide backwards compatibility in serial_compat.h.
		Use a backwards compatible way to get the subsystem vendor
		and device ID.

2000-01-14  Theodore Ts'o  <tytso@valinux.com>

	* Makefile: Add support for RedHat style stock kernels; they use a
		different way of handling versions which fake out our SMP
		detection.

	* setup.sh: Add support for RedHat-style kernel modifications.
		This doesn't support modversions.h yet, though.
	

1999-12-10  Theodore Ts'o  <tytso@valinux.com>

	* serial.c: Cleaned up NEW_MODULES #ifdef (removed Linux 1.2
		modules support).  Add #include for Magic SysRq Move the
		DBG_CNT macro to later, so that local builds set DBG_CNT()
		macro if SERIAL_DEBUG_MCOUNT.

	* serial.c Merged in changes from 2.3.31

	
1999-11-17  Theodore Ts'o  <tytso@valinux.com>

	* serial.c: Use get_zeroed_page instead of get_free_page for
		2.3.28 compatibility. 

	* Release of serial 4.91 release.
