1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-26 11:47:31 +00:00
freebsd/sys/dev/uart
Marcel Moolenaar 875f70dba4 Revert the introduction of iobase in struct uart_bas. Both the SAB82532
and the Z8530 drivers used the I/O address as a quick and dirty way to
determine which channel they operated on, but formalizing this by
introducing iobase is not a solution. How for example would a driver
know which channel it controls for a multi-channel UART that only has a
single I/O range?

Instead, add an explicit field, called chan, to struct uart_bas that
holds the channel within a device, or 0 otherwise. The chan field is
initialized both by the system device probing (i.e. a system console)
or it is passed down to uart_bus_probe() by any of the bus front-ends.
As such, it impacts all platforms and bus drivers and makes it a rather
large commit.

Remove the use of iobase in uart_cpu_eqres() for pc98. It is expected
that platforms have the capability to compare tag and handle pairs for
equality; as to determine whether two pairs access the same device or
not. The use of iobase for pc98 makes it impossible to formalize this
and turn it into a real newbus function later. This commit reverts
uart_cpu_eqres() for pc98 to an unimplemented function. It has to be
reimplemented using only the tag and handle fields in struct uart_bas.

Rewrite the SAB82532 and Z8530 drivers to use the chan field in struct
uart_bas. Remove the IS_CHANNEL_A and IS_CHANNEL_B macros. We don't
need to abstract anything anymore.

Discussed with: nyan
Tested on: i386, ia64, sparc64
2003-09-26 05:14:56 +00:00
..
uart_bus_acpi.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_bus_ebus.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_bus_isa.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_bus_pccard.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_bus_pci.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_bus_puc.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_bus.h Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_core.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_cpu_alpha.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_cpu_amd64.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_cpu_i386.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_cpu_ia64.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_cpu_pc98.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_cpu_sparc64.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_cpu.h - Keep the base address in struct uart_bas for sab82532 and z8530 modules. 2003-09-23 09:25:38 +00:00
uart_dev_i8251.c In uart_intr() loop until all interrupts have been handled. Previously 2003-09-17 03:11:32 +00:00
uart_dev_i8251.h
uart_dev_ns8250.c In uart_intr() loop until all interrupts have been handled. Previously 2003-09-17 03:11:32 +00:00
uart_dev_ns8250.h
uart_dev_sab82532.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_dev_sab82532.h
uart_dev_z8530.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_dev_z8530.h
uart_if.m Add locking to the hardware drivers. I intended to figure out more 2003-09-17 01:41:21 +00:00
uart_tty.c Add support for using uart(4) for pulse capturing for the Pulse Per 2003-09-11 23:06:42 +00:00
uart.h Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00