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 ...@@ -82,13 +82,18 @@ config PARPORT_PC_PCMCIA
Say Y here if you need PCMCIA support for your PC-style parallel Say Y here if you need PCMCIA support for your PC-style parallel
ports. If unsure, say N. ports. If unsure, say N.
config PARPORT_NOT_PC
bool
config PARPORT_ARC config PARPORT_ARC
tristate "Archimedes hardware" tristate "Archimedes hardware"
depends on ARM && PARPORT depends on ARM && PARPORT
select PARPORT_NOT_PC
config PARPORT_AMIGA config PARPORT_AMIGA
tristate "Amiga builtin port" tristate "Amiga builtin port"
depends on AMIGA && PARPORT depends on AMIGA && PARPORT
select PARPORT_NOT_PC
help help
Say Y here if you need support for the parallel port hardware on 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), Amiga machines. This code is also available as a module (say M),
...@@ -97,6 +102,7 @@ config PARPORT_AMIGA ...@@ -97,6 +102,7 @@ config PARPORT_AMIGA
config PARPORT_MFC3 config PARPORT_MFC3
tristate "Multiface III parallel port" tristate "Multiface III parallel port"
depends on ZORRO && PARPORT depends on ZORRO && PARPORT
select PARPORT_NOT_PC
help help
Say Y here if you need parallel port support for the MFC3 card. Say Y here if you need parallel port support for the MFC3 card.
This code is also available as a module (say M), called This code is also available as a module (say M), called
...@@ -105,6 +111,7 @@ config PARPORT_MFC3 ...@@ -105,6 +111,7 @@ config PARPORT_MFC3
config PARPORT_ATARI config PARPORT_ATARI
tristate "Atari hardware" tristate "Atari hardware"
depends on ATARI && PARPORT depends on ATARI && PARPORT
select PARPORT_NOT_PC
help help
Say Y here if you need support for the parallel port hardware on 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), Atari machines. This code is also available as a module (say M),
...@@ -117,22 +124,13 @@ config PARPORT_GSC ...@@ -117,22 +124,13 @@ config PARPORT_GSC
config PARPORT_SUNBPP config PARPORT_SUNBPP
tristate "Sparc hardware (EXPERIMENTAL)" tristate "Sparc hardware (EXPERIMENTAL)"
depends on SBUS && EXPERIMENTAL && PARPORT depends on SBUS && PARPORT && EXPERIMENTAL
select PARPORT_NOT_PC
help help
This driver provides support for the bidirectional parallel port This driver provides support for the bidirectional parallel port
found on many Sun machines. Note that many of the newer Ultras found on many Sun machines. Note that many of the newer Ultras
actually have pc style hardware instead. 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 config PARPORT_1284
bool "IEEE 1284 transfer modes" bool "IEEE 1284 transfer modes"
depends on PARPORT depends on PARPORT
......
...@@ -89,6 +89,7 @@ comment "USB port drivers" ...@@ -89,6 +89,7 @@ comment "USB port drivers"
config USB_USS720 config USB_USS720
tristate "USS720 parport driver" tristate "USS720 parport driver"
depends on USB && PARPORT depends on USB && PARPORT
select PARPORT_NOT_PC
---help--- ---help---
This driver is for USB parallel port adapters that use the Lucent This driver is for USB parallel port adapters that use the Lucent
Technologies USS-720 chip. These cables are plugged into your USB Technologies USS-720 chip. These cables are plugged into your USB
......
...@@ -105,8 +105,6 @@ typedef enum { ...@@ -105,8 +105,6 @@ typedef enum {
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/semaphore.h> #include <asm/semaphore.h>
#define PARPORT_NEED_GENERIC_OPS
/* Define this later. */ /* Define this later. */
struct parport; struct parport;
struct pardevice; struct pardevice;
...@@ -520,9 +518,8 @@ extern int parport_device_proc_register(struct pardevice *device); ...@@ -520,9 +518,8 @@ extern int parport_device_proc_register(struct pardevice *device);
extern int parport_device_proc_unregister(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 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> #include <linux/parport_pc.h>
#define parport_write_data(p,x) parport_pc_write_data(p,x) #define parport_write_data(p,x) parport_pc_write_data(p,x)
#define parport_read_data(p) parport_pc_read_data(p) #define parport_read_data(p) parport_pc_read_data(p)
...@@ -534,9 +531,9 @@ extern int parport_device_proc_unregister(struct pardevice *device); ...@@ -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_disable_irq(p) parport_pc_disable_irq(p)
#define parport_data_forward(p) parport_pc_data_forward(p) #define parport_data_forward(p) parport_pc_data_forward(p)
#define parport_data_reverse(p) parport_pc_data_reverse(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. */ /* Generic operations vector through the dispatch table. */
#define parport_write_data(p,x) (p)->ops->write_data(p,x) #define parport_write_data(p,x) (p)->ops->write_data(p,x)
#define parport_read_data(p) (p)->ops->read_data(p) #define parport_read_data(p) (p)->ops->read_data(p)
...@@ -548,7 +545,8 @@ extern int parport_device_proc_unregister(struct pardevice *device); ...@@ -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_disable_irq(p) (p)->ops->disable_irq(p)
#define parport_data_forward(p) (p)->ops->data_forward(p) #define parport_data_forward(p) (p)->ops->data_forward(p)
#define parport_data_reverse(p) (p)->ops->data_reverse(p) #define parport_data_reverse(p) (p)->ops->data_reverse(p)
#endif
#endif /* !CONFIG_PARPORT_NOT_PC */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* _PARPORT_H_ */ #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