mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
66bcd06099
Nowadays PC-style parallel ports come in the form of PCI and PCIe option cards and there are some combined parallel/serial option cards as well that we handle in the parport subsystem. There is nothing in particular that would prevent them from being used in any system equipped with PCI or PCIe connectivity, except that we do not permit the PARPORT_PC config option to be selected for platforms for which ARCH_MIGHT_HAVE_PC_PARPORT has not been set for. The only PCI platforms that actually can't make use of PC-style parallel port hardware are those newer PCIe systems that have no support for I/O cycles in the host bridge, required by such parallel ports. Notably, this includes the s390 arch, which has port I/O accessors that cause compilation warnings (promoted to errors with `-Werror'), and there are other cases such as the POWER9 PHB4 device, though this one has variable port I/O accessors that depend on the particular system. Also it is not clear whether the serial port side of devices enabled by PARPORT_SERIAL uses port I/O or MMIO. Finally Super I/O solutions are always either ISA or platform devices. Make the PARPORT_PC option selectable also for PCI systems then, except for the s390 arch, however limit the availability of PARPORT_PC_SUPERIO to platforms that enable ARCH_MIGHT_HAVE_PC_PARPORT. Update platforms accordingly for the required <asm/parport.h> header. Acked-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk> Link: https://lore.kernel.org/r/alpine.DEB.2.21.2202141955550.34636@angie.orcam.me.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
166 lines
5.6 KiB
Text
166 lines
5.6 KiB
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/kconfig-language.rst.
|
|
#
|
|
# Parport configuration.
|
|
#
|
|
|
|
config ARCH_MIGHT_HAVE_PC_PARPORT
|
|
bool
|
|
help
|
|
Select this config option from the architecture Kconfig if
|
|
the architecture might have PC parallel port hardware.
|
|
|
|
menuconfig PARPORT
|
|
tristate "Parallel port support"
|
|
depends on HAS_IOMEM
|
|
help
|
|
If you want to use devices connected to your machine's parallel port
|
|
(the connector at the computer with 25 holes), e.g. printer, ZIP
|
|
drive, PLIP link (Parallel Line Internet Protocol is mainly used to
|
|
create a mini network by connecting the parallel ports of two local
|
|
machines) etc., then you need to say Y here; please read
|
|
<file:Documentation/admin-guide/parport.rst> and
|
|
<file:drivers/parport/BUGS-parport>.
|
|
|
|
For extensive information about drivers for many devices attaching
|
|
to the parallel port see <http://www.torque.net/linux-pp.html> on
|
|
the WWW.
|
|
|
|
It is possible to share a single parallel port among several devices
|
|
and it is safe to compile all the corresponding drivers into the
|
|
kernel. To compile parallel port support as a module, choose M here:
|
|
the module will be called parport.
|
|
If you have more than one parallel port and want to specify which
|
|
port and IRQ to be used by this driver at module load time, take a
|
|
look at <file:Documentation/admin-guide/parport.rst>.
|
|
|
|
If unsure, say Y.
|
|
|
|
if PARPORT
|
|
|
|
config PARPORT_PC
|
|
tristate "PC-style hardware"
|
|
depends on ARCH_MIGHT_HAVE_PC_PARPORT || (PCI && !S390)
|
|
help
|
|
You should say Y here if you have a PC-style parallel port. All
|
|
IBM PC compatible computers and some Alphas have PC-style
|
|
parallel ports. PA-RISC owners should only say Y here if they
|
|
have a SuperIO parallel port.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called parport_pc.
|
|
|
|
If unsure, say Y.
|
|
|
|
config PARPORT_SERIAL
|
|
tristate "Multi-IO cards (parallel and serial)"
|
|
depends on SERIAL_8250_PCI && PARPORT_PC && PCI
|
|
help
|
|
This adds support for multi-IO PCI cards that have parallel and
|
|
serial ports. You should say Y or M here. If you say M, the module
|
|
will be called parport_serial.
|
|
|
|
config PARPORT_PC_FIFO
|
|
bool "Use FIFO/DMA if available"
|
|
depends on PARPORT_PC
|
|
help
|
|
Many parallel port chipsets provide hardware that can speed up
|
|
printing. Say Y here if you want to take advantage of that.
|
|
|
|
As well as actually having a FIFO, or DMA capability, the kernel
|
|
will need to know which IRQ the parallel port has. By default,
|
|
parallel port interrupts will not be used, and so neither will the
|
|
FIFO. See <file:Documentation/admin-guide/parport.rst> to find out how to
|
|
specify which IRQ/DMA to use.
|
|
|
|
config PARPORT_PC_SUPERIO
|
|
bool "SuperIO chipset support"
|
|
depends on ARCH_MIGHT_HAVE_PC_PARPORT && PARPORT_PC && !PARISC
|
|
help
|
|
Saying Y here enables some probes for Super-IO chipsets in order to
|
|
find out things like base addresses, IRQ lines and DMA channels. It
|
|
is safe to say N.
|
|
|
|
config PARPORT_PC_PCMCIA
|
|
tristate "Support for PCMCIA management for PC-style ports"
|
|
depends on PCMCIA && PARPORT_PC
|
|
help
|
|
Say Y here if you need PCMCIA support for your PC-style parallel
|
|
ports. If unsure, say N.
|
|
|
|
config PARPORT_IP32
|
|
tristate "SGI IP32 builtin port"
|
|
depends on SGI_IP32
|
|
select PARPORT_NOT_PC
|
|
help
|
|
Say Y here if you need support for the parallel port on
|
|
SGI O2 machines. This code is also available as a module (say M),
|
|
called parport_ip32. If in doubt, saying N is the safe plan.
|
|
|
|
config PARPORT_AMIGA
|
|
tristate "Amiga builtin port"
|
|
depends on AMIGA
|
|
select PARPORT_NOT_PC
|
|
help
|
|
Say Y here if you need support for the parallel port hardware on
|
|
Amiga machines. This code is also available as a module (say M),
|
|
called parport_amiga. If in doubt, saying N is the safe plan.
|
|
|
|
config PARPORT_MFC3
|
|
tristate "Multiface III parallel port"
|
|
depends on ZORRO
|
|
select PARPORT_NOT_PC
|
|
help
|
|
Say Y here if you need parallel port support for the MFC3 card.
|
|
This code is also available as a module (say M), called
|
|
parport_mfc3. If in doubt, saying N is the safe plan.
|
|
|
|
config PARPORT_ATARI
|
|
tristate "Atari hardware"
|
|
depends on ATARI
|
|
select PARPORT_NOT_PC
|
|
help
|
|
Say Y here if you need support for the parallel port hardware on
|
|
Atari machines. This code is also available as a module (say M),
|
|
called parport_atari. If in doubt, saying N is the safe plan.
|
|
|
|
config PARPORT_GSC
|
|
tristate
|
|
default GSC
|
|
select PARPORT_NOT_PC
|
|
|
|
config PARPORT_SUNBPP
|
|
tristate "Sparc hardware"
|
|
depends on SBUS
|
|
select PARPORT_NOT_PC
|
|
help
|
|
This driver provides support for the bidirectional parallel port
|
|
found on many Sun machines. Note that many of the newer Ultras
|
|
actually have pc style hardware instead.
|
|
|
|
config PARPORT_AX88796
|
|
tristate "AX88796 Parallel Port"
|
|
select PARPORT_NOT_PC
|
|
help
|
|
Say Y here if you need support for the parallel port hardware on
|
|
the AX88796 network controller chip. This code is also available
|
|
as a module (say M), called parport_ax88796.
|
|
|
|
The driver is not dependent on the AX88796 network driver, and
|
|
should not interfere with the networking functions of the chip.
|
|
|
|
config PARPORT_1284
|
|
bool "IEEE 1284 transfer modes"
|
|
help
|
|
If you have a printer that supports status readback or device ID, or
|
|
want to use a device that uses enhanced parallel port transfer modes
|
|
such as EPP and ECP, say Y here to enable advanced IEEE 1284
|
|
transfer modes. Also say Y if you want device ID information to
|
|
appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N.
|
|
|
|
config PARPORT_NOT_PC
|
|
bool
|
|
|
|
endif # PARPORT
|