2001-10-11 Tim Waugh * parport_pc.c, parport_serial.c: Support for NetMos cards. + Patch originally from Michael Reinelt . 2002-04-25 Tim Waugh * parport_serial.c, parport_pc.c: Move some SIIG cards around. Patch from Andrey Panin. 2002-01-20 Tim Waugh * 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 * parport_pc.c: Make sure that priv->ctr_writable includes IntEn even if IRQ is given as a parameter. 2002-01-21 Tim Waugh * daisy.c: Apply patch from Max Vorobiev to make parport_daisy_select work for ECP/EPP modes. 2002-01-13 Niels Kristian Bech Jensen * parport_pc.c: Change some occurrences of frob_set_mode to ECR_WRITE. This fixes PLIP. 2002-01-04 Tim Waugh * share.c (parport_claim_or_block): Sleep interruptibly to prevent a possible deadlock. 2001-12-07 Damian Gruszka * 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 * 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 * ieee1284_ops.c (parport_ieee1284_epp_write_addr, parport_ieee1284_epp_read_addr): Actually do something useful. 2001-12-07 Tim Waugh * 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 * daisy.c (DEBUG): Undefine. 2001-12-06 Tim Waugh * ieee1284_ops.c (parport_ieee1284_ecp_read_data): Mask off PARPORT_CONTROL_AUTOFD as well. Bug spotted by Joe . 2001-12-03 Rich Liu * 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 * parport_pc.c: Fix compiler warning. 2001-11-14 Tim Waugh * 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 * parport_pc.c (init_module): Warn when parameters are ignored. 2001-11-01 Damian Gruszka * parport_serial.c (serial_register): Set base_baud before calling register_serial. 2001-10-26 Tim Waugh * 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 * 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 * 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 * parport_pc.c: Support for AKS AladdinCARD. Patch from Aladdin Knowledge Systems (Christian Groessler). 2001-10-24 Tim Waugh * 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 * parport_pc.c: Support for OX16PCI954 PCI card. 2001-10-10 Tim Waugh * 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 * parport_pc.c: Support for AVLAB cards. 2001-10-10 Tim Waugh * 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 * share.c: Make driverlist_lock and parportlist_lock static. 2001-10-08 Philip Blundell * 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 * parport_pc.c (parport_pc_probe_port): Fix memory leak spotted by Kipp Cannon. 2001-10-07 Tim Waugh * parport_serial.c: Remove NetMos support, since it causes problems for some people. 2001-08-30 Tim Waugh * parport_serial.c (parport_serial_pci_probe): Clean-up on partial registration failure. 2001-08-14 Tim Waugh * parport_pc.c (parport_pc_init_superio): Allow for more than one SuperIO device. Patch from Rich Lio (ITE). 2001-08-11 Tim Waugh * parport_pc.c: Support for Titan Electronics cards. 2001-08-08 Tim Waugh * share.c (parport_unregister_device): Remove device from wait list too. 2001-06-20 Tim Waugh * parport_pc.c: Make 'io_hi=0' work. 2001-05-31 Tim Waugh * parport_serial.c: New file. 2001-06-05 Tim Waugh * 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 * 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 * 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 * 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 * parport_pc.c: Fix the compile problem I introduce from the last change. 2001-04-20 Paul Gortmaker * 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 * parport_pc.c: Some commentary changes. 2001-04-19 Tim Waugh * parport_pc.c (parport_pc_probe_port): Remove __devinit attribute. Export unconditionally. 2001-04-14 Jeff Garzik Merged: 2001-03-30 Tim Waugh * 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 * 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 * share.c (parport_find_number, parport_find_base): Trigger a lowlevel driver load if there are no ports yet. 2001-03-26 Tim Waugh * parport_pc.c (parport_ECP_supported): Remove the IRQ conflict check since it seems totally unreliable. 2001-03-02 Tim Waugh * ieee1284_ops.c (parport_ieee1284_read_nibble): Reset nAutoFd on timeout. Matches 2.2.x behaviour. 2001-03-02 Andrew Morton * 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 * 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 * ieee1284.c (parport_negotiate): Fix missing printk argument. 2001-01-03 Paul Schleger * probe.c (parse_data): Get rid of trailing blanks in values. Needed for XEROX XJ8C printer. 2001-01-03 Tim Waugh * parport_pc.c (parport_pc_probe_port): Say something when probes are omitted. 2001-01-03 Tim Waugh * parport_pc.c (sio_via_686a_probe): Correct dma=255 fix. 2000-11-21 Tim Waugh * parport_pc.c (parport_pc_ecp_write_block_pio): Fix reverse-to-forward logic. Spotted by Roland Kuck . 2000-09-16 Cesar Eduardo Barros * parport_pc.c (sio_via_686a_probe): Handle case where hardware returns 255 for IRQ or DMA. 2000-07-20 Eddie C. Dost * share.c (attach_driver_chain): attach[i](port) needs to be replaced by attach[count](port). 2000-07-20 Eddie C. Dost * daisy.c (add_dev): kmalloc args are in wrong order. 2000-07-12 Tim Waugh * share.c: Documentation for parport_{get,port}_port, parport_find_{number,base}. 2000-07-12 Tim Waugh * share.c (parport_unregister_device): Remove unneeded locking (test cad==dev). (parport_claim): Likewise. (parport_find_number): New function. 2000-07-12 Tim Waugh * 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 * 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 * share.c: Clarifications in doc comments. 2000-07-12 Tim Waugh * share.c (parport_unregister_port): Fix typo in comment. 2000-07-11 Gunther Mayer * parport_pc.c: Support for the full range of Timedia cards. 2000-07-08 Tim Waugh * daisy.c: License block comments as part of parportbook. * ieee1284.c: Likewise. * share.c: Likewise. 2000-06-30 Petr Vandrovec * procfs.c (do_hardware_modes): Generated string can be up to 34 chars long. 2000-06-20 Gunther Mayer * 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 * parport_pc.c (parport_SPP_supported): Warn more about possibly incorrect parameters. 2000-06-15 Tim Waugh * 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 * parport_pc.c (cleanup_module): Remark about possible bugs. 2000-06-13 Tim Waugh * procfs.c: Break 'hardware' out into separate files. 2000-05-28 Gunther Mayer * Fix PCI ID printk for non-superio PCI cards. 2000-05-28 Tim Waugh * 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 * daisy.c (assign_addrs): Avoid double-probing daisy-chain devices if the first probe succeeds. 2000-05-16 Tim Waugh * share.c (parport_claim): Fix SMP race. 2000-05-15 Gunther Mayer * 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 * parport_pc.c: PCI SYBA patch and verbose PCI detection. 2000-05-02 Gunther Mayer * parport_pc.c (decode_smsc): Fix SMSC 665/666 identification. 2000-04-28 Tim Waugh * ieee1284.c: Short function descriptions can't be multiline. * daisy.c: Short function descriptions can't be multiline. 2000-04-19 Tim Waugh * 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 * parport_pc.c: Add support for another PCI card. 2000-04-04 Tim Waugh * daisy.c: Documentation in kernel-doc format. * ieee1284.c: Likewise. * share.c: Likewise. 2000-04-01 Tim Waugh * share.c (parport_register_device): Need to hold the module reference counts before sleeping. 2000-03-27 Tim Waugh * 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 * init.c (parport_setup): Fix return value. 2000-03-21 Tim Waugh * parport_pc.c (parport_pc_pci_probe): Fix return value; call pci_enable_device. 2000-03-16 Tim Waugh * 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 * 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 * 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 * 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 * parport_pc.c (decode_winbond): Use correct 83877ATF chip ID. (decode_winbond): Fix typo. 2000-03-09 Tim Waugh * parport_pc.c: Integrate SuperIO PCI probe with normal PCI card probe, so that the MODULE_DEVICE_TABLE is complete.