2001-10-11  Tim Waugh  <twaugh@redhat.com>
	* parport_pc.c, parport_serial.c: Support for NetMos cards.
	+ Patch originally from Michael Reinelt <reinelt@eunet.at>.

2002-04-25  Tim Waugh  <twaugh@redhat.com>

	* parport_serial.c, parport_pc.c: Move some SIIG cards around.
	Patch from Andrey Panin.

2002-01-20  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_compat_write_block_pio,
	parport_pc_ecp_write_block_pio, parport_pc_ecp_read_block_pio):
	Use the default implementations if the caller wants to use
	O_NONBLOCK.

2002-02-25  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c: Make sure that priv->ctr_writable includes IntEn
	even if IRQ is given as a parameter.

2002-01-21  Tim Waugh  <twaugh@redhat.com>

	* daisy.c: Apply patch from Max Vorobiev to make parport_daisy_select
	work for ECP/EPP modes.

2002-01-13  Niels Kristian Bech Jensen  <nkbj@image.dk>

	* parport_pc.c: Change some occurrences of frob_set_mode to
	ECR_WRITE.  This fixes PLIP.

2002-01-04  Tim Waugh  <twaugh@redhat.com>

	* share.c (parport_claim_or_block): Sleep interruptibly to prevent
	a possible deadlock.

2001-12-07  Damian Gruszka  <damian.gruszka@VisionSystems.de>

	* parport_pc.c (ECR_WRITE): Define.  If there are forbidden bits
	in the ECR register for some chips, this will be a useful place to
	put that knowledge.
	(change_mode): Use ECR_WRITE.
	(parport_pc_restore_state): Likewise.
	(parport_ECPPS2_supported): Likewise.
	(parport_ECPEPP_supported): Likewise.
	(irq_probe_EPP): Likewise.
	(programmable_irq_support): Likewise.
	(programmable_dma_support): Likewise.
	(parport_pc_probe_port): Likewise.

	(frob_set_mode): New function.  Set the mode bits of the ECR.
	(get_fifo_residue): Use frob_set_mode.
	(parport_pc_ecpepp_read_data): Likewise.
	(parport_pc_ecpepp_write_data): Likewise.
	(parport_pc_ecpepp_read_addr): Likewise.
	(parport_pc_ecpepp_write_addr): Likewise.
	(parport_pc_compat_write_block_pio): Likewise.
	(parport_pc_ecp_write_block_pio): Likewise.
	(parport_ECR_present): Likewise.
	(parport_ECP_supported): Likewise.
	(parport_EPP_supported): Likewise.
	(parport_ECPEPP_supported): Likewise.
	(programmable_irq_support): Likewise.
	(irq_probe_ECP): Likewise.
	(programmable_dma_support): Likewise.

	(parport_pc_enable_irq): Only enable interrupts if we know which
	IRQ line they will come from.
	(parport_pc_init_state): Set nErrIntrEn at initialisation.
	(parport_pc_restore_state): Only write writable bits of CTR.
	(parport_irq_probe): If no IRQ is found, take ackIntEn out of the
	writable bit set.

2001-12-07  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_fifo_write_block_pio): Correct typo.
	(parport_pc_init_state): Only set ackIntEn if we know which IRQ
	line the interrupts will come from.

2001-12-07  Tim Waugh  <twaugh@redhat.com>

	* ieee1284_ops.c (parport_ieee1284_epp_write_addr,
	parport_ieee1284_epp_read_addr): Actually do something useful.

2001-12-07  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (dmaval): Don't use DMA by default.  It seems to be
	too buggy at the moment.  Use 'dma=auto' to restore the previous
	behaviour.

2001-12-07  Tim Waugh  <twaugh@redhat.com>

	* daisy.c (DEBUG): Undefine.

2001-12-06  Tim Waugh  <twaugh@redhat.com>

	* ieee1284_ops.c (parport_ieee1284_ecp_read_data): Mask off
	PARPORT_CONTROL_AUTOFD as well.  Bug spotted by Joe
	<joeja@mindspring.com>.

2001-12-03  Rich Liu  <Rich.Liu@ite.com.tw>

	* parport_pc.c (sio_ite_8872_probe): ITE8873 is a single-port
	serial board, not a serial+parallel.

2001-11-30  Niels Kristian Bech Jensen  <nkbj@image.dk>

	* parport_pc.c: Fix compiler warning.

2001-11-14  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_pci_probe): Hooks for PCI cards before
	and after probing for ports.
	* parport_serial.c (parport_register): Likewise.

2001-11-12  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (init_module): Warn when parameters are ignored.

2001-11-01  Damian Gruszka  <damian.gruszka@VisionSystems.de>

	* parport_serial.c (serial_register): Set base_baud before
	calling register_serial.

2001-10-26  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_irq_probe): When ECR programmable IRQ
	support fails, generate interrupts using the FIFO even if we don't
	want to use the FIFO for real data transfers.
	(parport_pc_probe_port): Display the ECR address if we have an
	ECR, not just if we will use the FIFO.

2001-10-24  Dave Strauss  <D.Strauss@motorola.com>

	* parport_pc.c (parport_pc_compat_write_block_pio,
	parport_pc_ecp_write_block_pio): Allow a few seconds for an ECP
	transfer to finish up.

2001-10-11  Tim Waugh  <twaugh@redhat.com>

	* parport_pc (sio_ite_8872_probe): New function, submitted by Rich
	Liu from ITE.  Cleaned up, removed bogus phys_to_virt calls.

2001-10-24  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c: Support for AKS AladdinCARD.  Patch from
	Aladdin Knowledge Systems (Christian Groessler).

2001-10-24  Tim Waugh  <twaugh@redhat.com>
	
	* ieee1284_ops.c (parport_ieee1284_ecp_read_data): Try to minimise
	turnaround time.

	* ieee1284.c (parport_poll_peripheral): Try a couple of times
	first without delaying.

2001-10-10  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c: Support for OX16PCI954 PCI card.

2001-10-10  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c: Support for OX12PCI840 PCI card (reported by
	mk@daveg.com).  Lock-ups diagnosed by Ronnie Arosa (and now we
	just don't trust its ECR).

2001-10-10  Gunther Mayer  <gunther.mayer@braunschweig.okersurf.de>

	* parport_pc.c: Support for AVLAB cards.

2001-10-10  Tim Waugh  <twaugh@redhat.com>

	* ieee1284_ops.c (ecp_forward_to_reverse, ecp_reverse_to_forward):
	Remember to retry direction switch if it fails.  Patch from David
	Lambert.

2001-10-08  David C. Hansen  <haveblue@us.ibm.com>

	* share.c: Make driverlist_lock and parportlist_lock static.

2001-10-08  Philip Blundell  <philb@gnu.org>

	* parport_pc.c: New modular parameter verbose_logging.
	Make port->modes indicate the modes that we are prepared to use,
	rather than the modes that are available.

2001-10-07  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_probe_port): Fix memory leak spotted by
	Kipp Cannon.

2001-10-07  Tim Waugh  <twaugh@redhat.com>

	* parport_serial.c: Remove NetMos support, since it causes problems
	for some people.

2001-08-30  Tim Waugh  <twaugh@redhat.com>

	* parport_serial.c (parport_serial_pci_probe): Clean-up on partial
	registration failure.

2001-08-14  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_init_superio): Allow for more than one
	SuperIO device.  Patch from Rich Lio (ITE).

2001-08-11  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c: Support for Titan Electronics cards.

2001-08-08  Tim Waugh  <twaugh@redhat.com>

	* share.c (parport_unregister_device): Remove device from wait list
	too.

2001-06-20  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c: Make 'io_hi=0' work.

2001-05-31  Tim Waugh  <twaugh@redhat.com>

	* parport_serial.c: New file.

2001-06-05  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_unregister_port): New exported function.
	Do the opposite of parport_pc_probe_port.
	(cleanup_module): Use it.

2001-05-22  Juan Quintela  <quintela@mandrakesoft.com>

	* parport_amiga.c: Set printk levels.
	* parport_gsc.c: Likewise.
	* parport_mfc3.c: Likewise.
	* parport_pc.c: Likewise.
	* parport_sunbpp.c: Likewise.
	* probe.c: Likewise.
	* share.c: Likewise.

2001-05-10  Fred Barnes  <frmb2@ukc.ac.uk>

       * parport_pc.c (parport_pc_epp_read_data): added support for
       reading from a w91284pic peripheral, flag is PARPORT_W91284PIC.

2001-05-07  Fred Barnes  <frmb2@ukc.ac.uk>
 
 	* parport_pc.c (parport_pc_epp_read_data,
	parport_pc_epp_write_data, parport_pc_epp_read_addr,
	parport_pc_epp_write_addr): support for fast reads/writes using
	the PARPORT_EPP_FAST flag.
 
 	* ieee1284.c (parport_read, parport_write): added code to handle
	software EPP mode (IEEE1284_MODE_EPPSWE).  Added code to allow
	BYTE mode reverse transfers (previously always went for NIBBLE
	mode).
 
 	* ieee1284_ops.c (parport_ieee1284_epp_read_data,
	parport_ieee1284_epp_write_data): fixed various polarity problems.
	Also (theoretically) fixed address versions (.._addr), but no
	hardware to test this on.
 
 	* parport_pc.h: added parport_dump_state() function for debugging.
 	Needs to have DEBUG_PARPORT to be defined for it to be included.
 
2001-05-03  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c: Fix the compile problem I introduce from the last
	change.

2001-04-20  Paul Gortmaker  <p_gortmaker@yahoo.com>

	* parport_pc.c: Cut down the size quite a bit (more than 4k off
	the object, about 1k off the zImage) for the older non-PCI
	machines which are typically resource starved anyway...

2001-03-26  R Horn  <rjh@world.std.com>

	* parport_pc.c: Some commentary changes.

2001-04-19  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_probe_port): Remove __devinit
	attribute.  Export unconditionally.

2001-04-14  Jeff Garzik  <jgarzik@pobox.com>

	Merged:  2001-03-30  Tim Waugh  <twaugh@redhat.com>

        * drivers/parport/parport_pc.c: Make Via SuperIO chipsets behave
        like everything else with respect to irq= and dma= parameters.

2001-04-08  Tim Waugh  <twaugh@redhat.com>

      * parport_pc.c (parport_pc_save_state): Read from the soft copy of
      the control port.
      (parport_pc_restore_state): Update the soft copy of the control
      port.

2001-03-26  Tim Waugh  <twaugh@redhat.com>

	* share.c (parport_find_number, parport_find_base): Trigger
	a lowlevel driver load if there are no ports yet.

2001-03-26  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_ECP_supported): Remove the IRQ conflict
	check since it seems totally unreliable.

2001-03-02  Tim Waugh  <twaugh@redhat.com>

	* ieee1284_ops.c (parport_ieee1284_read_nibble): Reset nAutoFd
	on timeout.  Matches 2.2.x behaviour.

2001-03-02  Andrew Morton <andrewm@uow.edu.au>

	* parport_pc.c (registered_parport): New static variable.
	(parport_pc_find_ports): Set it when we register PCI driver.
	(init_module): Unregister PCI driver if necessary when we
	fail.

2001-03-02  Tim Waugh  <twaugh@redhat.com>

	* ieee1284_ops.c (parport_ieee1284_write_compat): Don't use
	down_trylock to reset the IRQ count.  Don't even use sema_init,
	because it's not even necessary to reset the count.  I can't
	remember why we ever did.

2001-01-04  Peter Osterlund  <peter.osterlund@mailbox.swipnet.se>

	* ieee1284.c (parport_negotiate): Fix missing printk argument.

2001-01-03  Paul Schleger  <Paul.Schleger@t-online.de>

	* probe.c (parse_data): Get rid of trailing blanks in values.
	Needed for XEROX XJ8C printer.

2001-01-03  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_probe_port): Say something when probes
	are omitted.

2001-01-03  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (sio_via_686a_probe): Correct dma=255 fix.

2000-11-21  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_ecp_write_block_pio): Fix
	reverse-to-forward logic.  Spotted by Roland Kuck
	<rci@cityweb.de>.

2000-09-16  Cesar Eduardo Barros  <cesarb@nitnet.com.br>

	* parport_pc.c (sio_via_686a_probe): Handle case
	where hardware returns 255 for IRQ or DMA.

2000-07-20  Eddie C. Dost  <ecd@skynet.be>

	* share.c (attach_driver_chain): attach[i](port) needs to be
	replaced by attach[count](port).

2000-07-20  Eddie C. Dost  <ecd@skynet.be>

	* daisy.c (add_dev): kmalloc args are in wrong order.

2000-07-12  Tim Waugh  <twaugh@redhat.com>

	* share.c: Documentation for parport_{get,port}_port,
	parport_find_{number,base}.

2000-07-12  Tim Waugh  <twaugh@redhat.com>

	* share.c (parport_unregister_device): Remove unneeded locking
	(test cad==dev).
	(parport_claim): Likewise.
	(parport_find_number): New function.

2000-07-12  Tim Waugh  <twaugh@redhat.com>

	* share.c (parport_register_port): Hold the parportlist_lock while
	looking for a free parport number.
	(parport_register_driver): Make sure that attach can block.
	(attach_driver_chain): Likewise.

2000-07-12  Tim Waugh  <twaugh@redhat.com>

	* share.c (call_driver_chain): Do reference counting things.
	(parport_get_port): New function.
	(parport_put_port): New function.
	(parport_register_port): Initialise reference count to zero.
	(parport_unregister_port): Check reference count rather than
	driver list to see if we can free the port.

2000-07-12  Tim Waugh  <twaugh@redhat.com>

	* share.c: Clarifications in doc comments.

2000-07-12  Tim Waugh  <twaugh@redhat.com>

	* share.c (parport_unregister_port): Fix typo in comment.

2000-07-11  Gunther Mayer  <gunther.mayer@braunschweig.okersurf.de>

	* parport_pc.c: Support for the full range of Timedia cards.

2000-07-08  Tim Waugh  <twaugh@redhat.com>

	* daisy.c: License block comments as part of parportbook.
	* ieee1284.c: Likewise.
	* share.c: Likewise.

2000-06-30  Petr Vandrovec  <vandrove@vc.cvut.cz>

	* procfs.c (do_hardware_modes): Generated string can be up to 34
	chars long.

2000-06-20  Gunther Mayer  <gunther.mayer@braunschweig.okersurf.de>

	* parport_pc.c (parport_pc_compat_write_block_pio): Warn about
	change_mode failures.
	(parport_pc_ecp_write_block_pio): Likewise.
	(parport_pc_ecp_read_block_pio): Likewise.

2000-06-20  Gunther Mayer  <gunther.mayer@braunschweig.okersurf.de>

	* parport_pc.c (parport_SPP_supported): Warn more about possibly
	incorrect parameters.

2000-06-15  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_ECP_supported): Set PARPORT_MODE_COMPAT
	for ECP ports, since they can all do hardware accelerated
	compatibility mode (I assume).

2000-06-13  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (cleanup_module): Remark about possible bugs.

2000-06-13  Tim Waugh  <twaugh@redhat.com>

	* procfs.c: Break 'hardware' out into separate files.

2000-05-28  Gunther Mayer  <gunther.mayer@braunschweig.okersurf.de>

	* Fix PCI ID printk for non-superio PCI cards.

2000-05-28  Tim Waugh  <twaugh@redhat.com>

	* share.c (call_driver_chain): Get the driverlist_lock.
	(parport_register_device): Make sure that port->devices always
	looks consistent.
	(parport_register_driver): Ensure that parport drivers are given
	parameters that are valid for the duration of the callback by
	locking the portlist against changes.
	(parport_unregister_driver): Likewise.
	(parport_claim): Don't overwrite flags.

2000-05-28  Tim Waugh  <twaugh@redhat.com>

	* daisy.c (assign_addrs): Avoid double-probing daisy-chain devices
	if the first probe succeeds.

2000-05-16  Tim Waugh  <twaugh@redhat.com>

	* share.c (parport_claim): Fix SMP race.

2000-05-15  Gunther Mayer  <gunther.mayer@braunschweig.okersurf.de>

	* parport_pc.c (parport_pc_compat_write_block_pio): Check for
	timeouts.
	(parport_pc_ecp_write_block_pio): Likewise.
	(parport_pc_ecp_read_block_pio): Likewise.

2000-05-02  Gunther Mayer  <gunther.mayer@braunschweig.okersurf.de>

	* parport_pc.c: PCI SYBA patch and verbose PCI detection.

2000-05-02  Gunther Mayer  <gunther.mayer@braunschweig.okersurf.de>

	* parport_pc.c (decode_smsc): Fix SMSC 665/666 identification.

2000-04-28  Tim Waugh  <twaugh@redhat.com>

	* ieee1284.c: Short function descriptions can't be multiline.

	* daisy.c: Short function descriptions can't be multiline.

2000-04-19  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_fifo_write_block_dma): Make maxlen
	calculation a bit clearer.

	* ieee1284.c (parport_negotiate): Turn on data line drivers.

	* ieee1284_ops.c (parport_ieee1284_read_byte): Turn off data line
	drivers.
	(parport_ieee1284_write_compat): Turn on data line drivers.

	* daisy.c (assign_addrs): Turn on data line drivers.
	(cpp_mux): Likewise.
	(cpp_daisy): Likewise.

2000-04-04  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c: Add support for another PCI card.

2000-04-04  Tim Waugh  <twaugh@redhat.com>

	* daisy.c: Documentation in kernel-doc format.

	* ieee1284.c: Likewise.

	* share.c: Likewise.

2000-04-01  Tim Waugh  <twaugh@redhat.com>

	* share.c (parport_register_device): Need to hold the module
	reference counts before sleeping.

2000-03-27  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_ecp_read_block_pio): Correct operation
	when peripheral is trying to send data when we stop listening.

2000-03-22  Tim Waugh  <twaugh@redhat.com>

	* init.c (parport_setup): Fix return value.

2000-03-21  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_pci_probe): Fix return value; call
	pci_enable_device.

2000-03-16  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_ECP_supported): This seems to trigger on
	machines that don't have an IRQ conflict; toned down the warning
	message accordingly.

2000-03-16  Gunther Mayer  <gunther.mayer@braunschweig.netsurf.de>

	* parport_pc.c (show_parconfig_smsc37c669): Fix typo.
	(decode_winbond): More IDs.
	(winbond_check): Protect against false positives.
	(winbond_check2): Likewise.
	(smsc_check): Likewise.

2000-03-15  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (cleanup_module): Don't call pci_unregister_driver
	if we didn't call pci_register_driver first.

2000-03-13  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (parport_pc_init): Moved from asm/parport.h.

	* Config.in: CONFIG_PARPORT_PC_SUPERIO: new option.

	* parport_pc.c (show_parconfig_smsc37c669): Make __devinit.
	(show_parconfig_winbond): Likewise.
	(decode_winbond): Likewise.
	(decode_smsc): Likewise.
	(winbond_check): Likewise.
	(winbond_check2): Likewise.
	(smsc_check): Likewise.
	(detect_and_report_winbond): Likewise.
	(detect_and_report_smsc): Likewise.
	(get_superio_dma): Likewise.
	(get_superio_irq): Likewise.
	(parport_pc_find_isa_ports): New function.
	(parport_pc_find_ports): New function.
	(init_module): Make superio a config option, not a parameter.

2000-03-10  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c (decode_winbond): Use correct 83877ATF chip ID.
	(decode_winbond): Fix typo.

2000-03-09  Tim Waugh  <twaugh@redhat.com>

	* parport_pc.c: Integrate SuperIO PCI probe with normal PCI card
	probe, so that the MODULE_DEVICE_TABLE is complete.

