Commit 0e17b42f authored by Adrian Bunk's avatar Adrian Bunk Committed by Linus Torvalds

[PATCH] non-PC parport config change

This patch adds a config option PARPORT_NOT_PC (and removes the
PARPORT_OTHER option) that get's selected if any non-PC hardware was 
chosen.

This way, the mega #if in parport.h is gone now.

Additionally, it removes the unneeded PARPORT_NEED_GENERIC_OPS #define.
Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent fa853353
......@@ -82,13 +82,18 @@ config PARPORT_PC_PCMCIA
Say Y here if you need PCMCIA support for your PC-style parallel
ports. If unsure, say N.
config PARPORT_NOT_PC
bool
config PARPORT_ARC
tristate "Archimedes hardware"
depends on ARM && PARPORT
select PARPORT_NOT_PC
config PARPORT_AMIGA
tristate "Amiga builtin port"
depends on AMIGA && PARPORT
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),
......@@ -97,6 +102,7 @@ config PARPORT_AMIGA
config PARPORT_MFC3
tristate "Multiface III parallel port"
depends on ZORRO && PARPORT
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
......@@ -105,6 +111,7 @@ config PARPORT_MFC3
config PARPORT_ATARI
tristate "Atari hardware"
depends on ATARI && PARPORT
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),
......@@ -117,22 +124,13 @@ config PARPORT_GSC
config PARPORT_SUNBPP
tristate "Sparc hardware (EXPERIMENTAL)"
depends on SBUS && EXPERIMENTAL && PARPORT
depends on SBUS && PARPORT && EXPERIMENTAL
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.
# If exactly one hardware type is selected then parport will optimise away
# support for loading any others. Defeat this if the user is keen.
config PARPORT_OTHER
bool "Support foreign hardware"
depends on PARPORT
help
Say Y here if you want to be able to load driver modules to support
other non-standard types of parallel ports. This causes a
performance loss, so most people say N.
config PARPORT_1284
bool "IEEE 1284 transfer modes"
depends on PARPORT
......
......@@ -89,6 +89,7 @@ comment "USB port drivers"
config USB_USS720
tristate "USS720 parport driver"
depends on USB && PARPORT
select PARPORT_NOT_PC
---help---
This driver is for USB parallel port adapters that use the Lucent
Technologies USS-720 chip. These cables are plugged into your USB
......
......@@ -105,8 +105,6 @@ typedef enum {
#include <asm/ptrace.h>
#include <asm/semaphore.h>
#define PARPORT_NEED_GENERIC_OPS
/* Define this later. */
struct parport;
struct pardevice;
......@@ -520,9 +518,8 @@ extern int parport_device_proc_register(struct pardevice *device);
extern int parport_device_proc_unregister(struct pardevice *device);
/* If PC hardware is the only type supported, we can optimise a bit. */
#if (defined(CONFIG_PARPORT_PC) || defined(CONFIG_PARPORT_PC_MODULE)) && !(defined(CONFIG_PARPORT_ARC) || defined(CONFIG_PARPORT_ARC_MODULE)) && !(defined(CONFIG_PARPORT_AMIGA) || defined(CONFIG_PARPORT_AMIGA_MODULE)) && !(defined(CONFIG_PARPORT_MFC3) || defined(CONFIG_PARPORT_MFC3_MODULE)) && !(defined(CONFIG_PARPORT_ATARI) || defined(CONFIG_PARPORT_ATARI_MODULE)) && !(defined(CONFIG_USB_USS720) || defined(CONFIG_USB_USS720_MODULE)) && !(defined(CONFIG_PARPORT_SUNBPP) || defined(CONFIG_PARPORT_SUNBPP_MODULE)) && !defined(CONFIG_PARPORT_OTHER)
#if !defined(CONFIG_PARPORT_NOT_PC)
#undef PARPORT_NEED_GENERIC_OPS
#include <linux/parport_pc.h>
#define parport_write_data(p,x) parport_pc_write_data(p,x)
#define parport_read_data(p) parport_pc_read_data(p)
......@@ -534,9 +531,9 @@ extern int parport_device_proc_unregister(struct pardevice *device);
#define parport_disable_irq(p) parport_pc_disable_irq(p)
#define parport_data_forward(p) parport_pc_data_forward(p)
#define parport_data_reverse(p) parport_pc_data_reverse(p)
#endif
#ifdef PARPORT_NEED_GENERIC_OPS
#else /* !CONFIG_PARPORT_NOT_PC */
/* Generic operations vector through the dispatch table. */
#define parport_write_data(p,x) (p)->ops->write_data(p,x)
#define parport_read_data(p) (p)->ops->read_data(p)
......@@ -548,7 +545,8 @@ extern int parport_device_proc_unregister(struct pardevice *device);
#define parport_disable_irq(p) (p)->ops->disable_irq(p)
#define parport_data_forward(p) (p)->ops->data_forward(p)
#define parport_data_reverse(p) (p)->ops->data_reverse(p)
#endif
#endif /* !CONFIG_PARPORT_NOT_PC */
#endif /* __KERNEL__ */
#endif /* _PARPORT_H_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment