linux/drivers
Philippe De Muyter 50db9d8e4c parport: netmos 9845 & 9855 1P4S fixes
netmos serial/parallel adapters come in different flavour differing only
by the number of parallel and serial ports, which are encoded in the
subdevice ID.

Last fix of Christian Pellegrin for 9855 2P2S broke support for 9855 1P4S,
and works only by side-effect for the first parallel port of a 2P2S, as
this first parallel port is found by reading the second addr entry of
(struct parport_pc_pci) cards[netmos_9855], which is not initialized, and
hence has value 0, which happens to be the BAR of the first parallel port.

netmos_9xx5_combo entry in (struct parport_pc_pci) cards[], which is used
for a 9845 1P4S must also be fixed for the parallel port support when
there are 4 serial ports because this entry currently gives 2 as BAR index
for the parallel port.  Actually, in this case, BAR 2 is the 3rd serial
port while the parallel port is at BAR 4.

I fixed 9845 1P4S and 9855 1P4S support, while preserving 9855 2P2S support,

- by creating a netmos_9855_2p entry and using it for 9855 boards with 2
  parallel ports : 9855 2P2S and 9855 2P0S boards,

- and by allowing netmos_parallel_init to change not only the number of
  parallel ports (0 or 1), but making it also change the BAR index of the
  parallel port when the serial ports are before the parallel port.

PS: the netmos_9855_2p entry in (struct pciserial_board)
pci_parport_serial_boards[] is needed because netmos_parallel_init has no
clean way to replace FL_BASE2 by FL_BASE4 in the description of the serial
ports in function of the number of parallel ports on the card.

Tested with 9845 1P4S, 9855 1P4S and 9855 2P2S boards.

Signed-off-by: Philippe De Muyter <phdm@macqel.be>
Tested-by: Christian Pellegrin <chripell@fsfe.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-02 19:05:04 -07:00
..
accessibility
acpi Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-04-01 09:47:12 -07:00
amba amba: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
ata Merge branch 'origin' into devel 2009-03-28 20:29:51 +00:00
atm atm: fix non-const printk argument 2009-03-21 19:06:51 -07:00
auxdisplay auxdisplay: remove PARPORT dependency 2009-04-01 08:59:17 -07:00
base Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask 2009-03-30 18:00:26 -07:00
block nbd: trivial cleanups 2009-04-02 19:05:02 -07:00
bluetooth
cdrom
char pids: kill signal_struct-> __pgrp/__session and friends 2009-04-02 19:05:02 -07:00
clocksource Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
connector
cpufreq Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq 2009-03-26 11:04:08 -07:00
cpuidle
crypto workqueue: add to_delayed_work() helper function 2009-04-02 19:04:50 -07:00
dca Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-03-23 09:25:58 -07:00
dio dio: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
dma Merge branch 'origin' into devel 2009-03-28 20:29:51 +00:00
edac edac: AMD8111 driver Kconfig & Makefile 2009-04-02 19:05:04 -07:00
eisa Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
firewire firewire: core: optimize propagation of BROADCAST_CHANNEL 2009-03-24 20:56:52 +01:00
firmware dmi: Let dmi_walk() users pass private data 2009-03-30 21:46:44 +02:00
gpio gpio: gpio_{request,free}() now required (feature removal) 2009-04-02 19:04:51 -07:00
gpu drm: detect hdmi monitor by hdmi identifier (v3) 2009-03-29 18:31:49 +10:00
hid Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 2009-03-26 16:14:02 -07:00
hwmon lis3: SPI transport layer 2009-04-01 08:59:22 -07:00
i2c Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 2009-03-30 17:54:32 -07:00
ide ide-floppy: do not complete rq's prematurely 2009-03-31 20:15:34 +02:00
idle
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-03-27 18:33:56 -07:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
input workqueue: add to_delayed_work() helper function 2009-04-02 19:04:50 -07:00
isdn proc tty: remove struct tty_operations::read_proc 2009-04-01 08:59:10 -07:00
leds
lguest lguest: use bool instead of int 2009-03-30 21:55:25 +10:30
macintosh
mca mca: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:23 -07:00
md
media proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
memstick
message proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
mfd mfd: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:23 -07:00
misc memory_accessor: implement the new memory_accessor interfaces for SPI EEPROMs 2009-04-02 19:04:50 -07:00
mmc proc tty: switch sdio_uart to ->proc_fops 2009-04-01 08:59:09 -07:00
mtd Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-03-28 14:03:14 -07:00
net workqueue: add to_delayed_work() helper function 2009-04-02 19:04:50 -07:00
nubus
of powerpc: add mmc-spi-slot bindings 2009-04-01 08:59:23 -07:00
oprofile oprofile: Thou shalt not call __exit functions from __init functions 2009-03-30 22:05:18 +10:30
parisc
parport parport: netmos 9845 & 9855 1P4S fixes 2009-04-02 19:05:04 -07:00
pci Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-04-01 09:47:12 -07:00
pcmcia Merge branch 'origin' into devel 2009-03-28 20:29:51 +00:00
platform Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 2009-03-30 17:54:32 -07:00
pnp pnpbios: propagate kthread_run() error 2009-04-02 19:04:52 -07:00
power
ps3
rapidio rapidio: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
regulator
rtc rtc: add m41t62 support to rtc-m41t80 driver 2009-04-02 19:04:51 -07:00
s390 workqueue: add to_delayed_work() helper function 2009-04-02 19:04:50 -07:00
sbus
scsi proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
serial serial: fixup /proc/tty/driver/serial after proc_fops conversion 2009-04-01 14:50:48 -07:00
sh maple: fix Error in kernel-doc notation 2009-03-29 08:12:39 -07:00
sn
spi spi-gpio: allow operation without CS signal 2009-04-02 19:04:51 -07:00
ssb b43: Add BCM4307 PCI-ID 2009-03-27 20:13:20 -04:00
staging workqueue: add to_delayed_work() helper function 2009-04-02 19:04:50 -07:00
tc tc: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
telephony
thermal
uio UIO: Take offset into account when determining number of pages that can be mapped 2009-03-24 16:38:25 -07:00
usb workqueue: add to_delayed_work() helper function 2009-04-02 19:04:50 -07:00
uwb
video fb: nvidiafb recognizes geforcego 7300 chip as mobile 2009-04-02 19:04:48 -07:00
virtio virtio: more neatening of virtio_ring macros. 2009-03-30 21:55:23 +10:30
w1 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel 2009-03-25 18:31:35 +00:00
watchdog Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 2009-03-30 17:54:32 -07:00
xen PM: Rework handling of interrupts during suspend-resume 2009-03-30 21:46:54 +02:00
zorro zorro: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
Kconfig
Makefile ide/net: flip the order of SATA and network init 2009-03-28 13:06:16 -07:00