patch-2.4.0-test5 linux/drivers/usb/serial/usb-serial.h

Next file: linux/drivers/usb/serial/usbserial.c
Previous file: linux/drivers/usb/serial/omninet.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test4/linux/drivers/usb/serial/usb-serial.h linux/drivers/usb/serial/usb-serial.h
@@ -10,6 +10,13 @@
  *	(at your option) any later version.
  *
  * See Documentation/usb/usb-serial.txt for more information on using this driver
+ *
+ * (07/23/2000) gkh
+ *	Added bulk_out_endpointAddress to port structure.
+ *
+ * (07/19/2000) gkh, pberger, and borchers
+ *	Modifications to allow usb-serial drivers to be modules.
+ *
  * 
  */
 
@@ -35,7 +42,6 @@
 	int			magic;
 	struct usb_serial	*serial;	/* pointer back to the owner of this port */
 	struct tty_struct *	tty;		/* the coresponding tty for this port */
-	unsigned char		minor;
 	unsigned char		number;
 	char			active;		/* someone has this device open */
 
@@ -48,6 +54,7 @@
 	unsigned char *		bulk_out_buffer;
 	int			bulk_out_size;
 	struct urb *		write_urb;
+	__u8			bulk_out_endpointAddress;
 
 	wait_queue_head_t	write_wait;
 
@@ -60,6 +67,7 @@
 	int				magic;
 	struct usb_device *		dev;
 	struct usb_serial_device_type *	type;			/* the type of usb serial device this is */
+	struct usb_interface *		interface;		/* the interface for this device */
 	struct tty_driver *		tty_driver;		/* the tty_driver for this device */
 	unsigned char			minor;			/* the starting minor number for this device */
 	unsigned char			num_ports;		/* the number of ports this device has */
@@ -95,6 +103,8 @@
 	char	num_bulk_out;
 	char	num_ports;		/* number of serial ports this device has */
 
+	struct list_head	driver_list;
+	
 	/* function call to make before accepting driver */
 	int (*startup) (struct usb_serial *serial);	/* return 0 to continue initialization, anything else to abort */
 	void (*shutdown) (struct usb_serial *serial);
@@ -116,30 +126,11 @@
 	void (*write_bulk_callback)(struct urb *urb);
 };
 
-
-
-extern struct usb_serial_device_type handspring_device;
-extern struct usb_serial_device_type whiteheat_fake_device;
-extern struct usb_serial_device_type whiteheat_device;
-extern struct usb_serial_device_type ftdi_sio_device;
-extern struct usb_serial_device_type keyspan_pda_fake_device;
-extern struct usb_serial_device_type keyspan_pda_device;
-extern struct usb_serial_device_type keyspan_usa18x_pre_device;
-extern struct usb_serial_device_type keyspan_usa19_pre_device;
-extern struct usb_serial_device_type keyspan_usa19w_pre_device;
-extern struct usb_serial_device_type keyspan_usa28_pre_device;
-extern struct usb_serial_device_type keyspan_usa28x_pre_device;
-extern struct usb_serial_device_type keyspan_usa18x_device;
-extern struct usb_serial_device_type keyspan_usa19_device;
-extern struct usb_serial_device_type keyspan_usa19w_device;
-extern struct usb_serial_device_type keyspan_usa28_device;
-extern struct usb_serial_device_type keyspan_usa28x_device;
-extern struct usb_serial_device_type zyxel_omninet_device;
-extern struct usb_serial_device_type digi_acceleport_device;
-
+extern int  usb_serial_register(struct usb_serial_device_type *new_device);
+extern void usb_serial_deregister(struct usb_serial_device_type *device);
 
 /* determine if we should include the EzUSB loader functions */
-#if defined(CONFIG_USB_SERIAL_KEYSPAN_PDA) || defined(CONFIG_USB_SERIAL_WHITEHEAT) || defined(CONFIG_USB_SERIAL_KEYSPAN)
+#if defined(CONFIG_USB_SERIAL_KEYSPAN_PDA) || defined(CONFIG_USB_SERIAL_WHITEHEAT) || defined(CONFIG_USB_SERIAL_KEYSPAN) || defined(CONFIG_USB_SERIAL_KEYSPAN_PDA_MODULE) || defined(CONFIG_USB_SERIAL_WHITEHEAT_MODULE) || defined(CONFIG_USB_SERIAL_KEYSPAN_MODULE)
 	#define	USES_EZUSB_FUNCTIONS
 	extern int ezusb_writememory (struct usb_serial *serial, int address, unsigned char *data, int length, __u8 bRequest);
 	extern int ezusb_set_reset (struct usb_serial *serial, unsigned char reset_bit);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)