[PATCH 076/641] Staging: quatech_usb2: close, read, and some ioctl support

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Greg Kroah-Hartman
Date: Tuesday, September 15, 2009 - 12:05 pm

From: Richard Ash <richard@audacityteam.org>

This patch implements close(), read(), write() and some ioctls, and
fixes some implementation issues in open(). Compared to the previous
patch it doesn't suffer an oops in the module code, however if you try
to open any of the serial devices a second time then an oops occurs in
tty_open(), presumably because my code isn't playing nicely on the
previous close():

Aug 13 11:44:01 [kernel] WARNING: at drivers/char/tty_io.c:1268 tty_open+0x3e5/0x46d()
Aug 13 11:44:01 [kernel] Hardware name: HP Compaq dc5100 MT(PW097ET)
Aug 13 11:44:01 [kernel] Modules linked in: quatech_usb2(C) usbserial snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd snd_pcm snd_timer usbcore snd ohci1394 psmouse ide_cd_mod cdrom tg3 soundcore snd_page_alloc ieee1394 libphy intel_agp agpgart floppy evdev [last unloaded: usbserial]
Aug 13 11:44:01 [kernel] Pid: 26765, comm: stty Tainted: G         C 2.6.31-rc5-git3-gkh #7
Aug 13 11:44:01 [kernel] Call Trace:
Aug 13 11:44:01 [kernel]  [<c11dbef8>] ? tty_open+0x3e5/0x46d
Aug 13 11:44:01 [kernel]  [<c10264e2>] warn_slowpath_common+0x88/0xb0
Aug 13 11:44:01 [kernel]  [<c11dbef8>] ? tty_open+0x3e5/0x46d
Aug 13 11:44:01 [kernel]  [<c102652b>] warn_slowpath_null+0x21/0x3b
Aug 13 11:44:01 [kernel]  [<c11dbef8>] tty_open+0x3e5/0x46d
Aug 13 11:44:01 [kernel]  [<c10883d1>] chrdev_open+0x77/0x113
Aug 13 11:44:01 [kernel]  [<c1083a5d>] __dentry_open+0xb8/0x230
Aug 13 11:44:01 [kernel]  [<c108835a>] ? chrdev_open+0x0/0x113
Aug 13 11:44:01 [kernel]  [<c1084993>] nameidata_to_filp+0x61/0x6a
Aug 13 11:44:01 [kernel]  [<c1091144>] do_filp_open+0x248/0x7cd
Aug 13 11:44:01 [kernel]  [<c106f14f>] ? __do_fault+0x2ba/0x3b2
Aug 13 11:44:01 [kernel]  [<c109a337>] ? alloc_fd+0x6a/0xf1
Aug 13 11:44:01 [kernel]  [<c1083804>] do_sys_open+0x5f/0x12b
Aug 13 11:44:01 [kernel]  [<c1083947>] sys_open+0x2e/0x47
Aug 13 11:44:01 [kernel]  [<c1002e4f>] sysenter_do_call+0x12/0x26
Aug 13 11:44:01 [kernel] ---[ end trace 1d6b9e2cd7636394 ]---
Aug 13 11:44:01 [kernel] BUG: unable to handle kernel NULL pointer dereference at 00000004
Aug 13 11:44:01 [kernel] IP: [<c1086538>] file_move+0x26/0x47
Aug 13 11:44:01 [kernel] *pde = 00000000
Aug 13 11:44:01 [kernel] Modules linked in: quatech_usb2(C) usbserial snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd snd_pcm snd_timer usbcore snd ohci1394 psmouse ide_cd_mod cdrom tg3 soundcore snd_page_alloc ieee1394 libphy intel_agp agpgart floppy evdev [last unloaded: usbserial]
Aug 13 11:44:01 [kernel] Pid: 26765, comm: stty Tainted: G        WC (2.6.31-rc5-git3-gkh #7) HP Compaq dc5100 MT(PW097ET)
Aug 13 11:44:01 [kernel] EIP: 0060:[<c1086538>] EFLAGS: 00010282 CPU: 0
Aug 13 11:44:01 [kernel] EIP is at file_move+0x26/0x47
Aug 13 11:44:01 [kernel] EAX: 00000000 EBX: e593b508 ECX: ea7e9900 EDX: f734a888
Aug 13 11:44:01 [kernel] ESI: 00000000 EDI: 0bc00004 EBP: d8923e10 ESP: d8923e08
Aug 13 11:44:01 [kernel]  DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
Aug 13 11:44:01 [kernel]  2ba6efc8 c8c93180 d8923e48 c11dbca7 ea7e9900 eed37e6c 00000000 00008800
Aug 13 11:44:01 [kernel] <0> 00000000 e593b400 e593b400 00000004 2ba6efc8 c8c93188 00000000 eed37e6c
Aug 13 11:44:01 [kernel] <0> d8923e68 c10883d1 ea7e9900 2ba6efc8 2ba6efc8 ea7e9900 eed37e6c ffffffe9
Aug 13 11:44:01 [kernel]  [<c11dbca7>] ? tty_open+0x194/0x46d
Aug 13 11:44:01 [kernel]  [<c10883d1>] ? chrdev_open+0x77/0x113
Aug 13 11:44:01 [kernel]  [<c1083a5d>] ? __dentry_open+0xb8/0x230
Aug 13 11:44:01 [kernel]  [<c108835a>] ? chrdev_open+0x0/0x113
Aug 13 11:44:01 [kernel]  [<c1084993>] ? nameidata_to_filp+0x61/0x6a
Aug 13 11:44:01 [kernel]  [<c1091144>] ? do_filp_open+0x248/0x7cd
Aug 13 11:44:01 [kernel]  [<c106f14f>] ? __do_fault+0x2ba/0x3b2
Aug 13 11:44:01 [kernel]  [<c109a337>] ? alloc_fd+0x6a/0xf1
Aug 13 11:44:01 [kernel]  [<c1083804>] ? do_sys_open+0x5f/0x12b
Aug 13 11:44:01 [kernel]  [<c1083947>] ? sys_open+0x2e/0x47
Aug 13 11:44:01 [kernel]  [<c1002e4f>] ? sysenter_do_call+0x12/0x26
Aug 13 11:44:01 [kernel] ---[ end trace 1d6b9e2cd7636395 ]---

Read and Write also do not work at the moment, and I'm fairly sure that
the URB completion callbacks are not running. Why this is I don't know,
and haven't tried to investigate.

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/staging/quatech_usb2/quatech_usb2.c |  694 +++++++++++++++++++++++++--
 1 files changed, 646 insertions(+), 48 deletions(-)

diff --git a/drivers/staging/quatech_usb2/quatech_usb2.c b/drivers/staging/quatech_usb2/quatech_usb2.c
index 0eaea2e..bbbf9b8 100644
--- a/drivers/staging/quatech_usb2/quatech_usb2.c
+++ b/drivers/staging/quatech_usb2/quatech_usb2.c
@@ -39,23 +39,33 @@ static int debug;
 #define QU2BOX232 0x40			/* RS232 mode on MEI devices */
 #define QU2BOXSPD9600 0x60		/* set speed to 9600 baud */
 #define FIFO_DEPTH 1024			/* size of hardware fifos */
+#define QT2_TX_HEADER_LENGTH	5
+/* length of the header sent to the box with each write URB */
+
 /* directions for USB transfers */
 #define USBD_TRANSFER_DIRECTION_IN    0xc0
 #define USBD_TRANSFER_DIRECTION_OUT   0x40
-/* special Quatech command IDs */
+
+/* special Quatech command IDs. These are pushed down the
+ USB control pipe to get the box on the end to do things */
 #define QT_SET_GET_DEVICE		0xc2
 #define QT_OPEN_CLOSE_CHANNEL		0xca
 /*#define QT_GET_SET_PREBUF_TRIG_LVL	0xcc
-#define QT_SET_ATF			0xcd
-#define QT_GET_SET_REGISTER		0xc0*/
+#define QT_SET_ATF			0xcd*/
+#define QT2_GET_SET_REGISTER		0xc0
 #define QT_GET_SET_UART			0xc1
 /*#define QT_HW_FLOW_CONTROL_MASK		0xc5
 #define QT_SW_FLOW_CONTROL_MASK		0xc6
 #define QT_SW_FLOW_CONTROL_DISABLE	0xc7
 #define QT_BREAK_CONTROL 		0xc8
-#define QT_STOP_RECEIVE			0xe0
-#define QT_FLUSH_DEVICE			0xc4*/
+#define QT_STOP_RECEIVE			0xe0*/
+#define QT2_FLUSH_DEVICE		0xc4
 #define QT_GET_SET_QMCR			0xe1
+
+/* sorts of flush we can do on */
+#define QT2_FLUSH_RX			0x00
+#define QT2_FLUSH_TX			0x01
+
 /* port setting constants */
 #define  SERIAL_MCR_DTR             0x01
 #define  SERIAL_MCR_RTS             0x02
@@ -85,6 +95,19 @@ static int debug;
 #define SERIAL_LSR_FE       0x08
 #define SERIAL_LSR_BI       0x10
 
+/* value of Line Status Register when UART has completed
+ * emptying data out on the line */
+#define QT2_LSR_TEMT     0x40
+
+/* register numbers on each UART, for use with  qt2_box_[get|set]_register*/
+#define  QT2_XMT_HOLD_REGISTER          0x00
+#define  QT2_XVR_BUFFER_REGISTER        0x00
+#define  QT2_FIFO_CONTROL_REGISTER      0x02
+#define  QT2_LINE_CONTROL_REGISTER      0x03
+#define  QT2_MODEM_CONTROL_REGISTER     0x04
+#define  QT2_LINE_STATUS_REGISTER       0x05
+#define  QT2_MODEM_STATUS_REGISTER      0x06
+
 /* handy macros for doing escape sequence parsing on data reads */
 #define THISCHAR	((unsigned char *)(urb->transfer_buffer))[i]
 #define NEXTCHAR	((unsigned char *)(urb->transfer_buffer))[i + 1]
@@ -118,7 +141,7 @@ static struct usb_driver quausb2_usb_driver = {
  * alongside the usb_serial_port structure
  * @param read_urb_busy Flag indicating that port->read_urb is in use
  * @param close_pending flag indicating that this port is in the process of
- * being closed.
+ * being closed (and so no new reads / writes should be started).
  * @param shadowLSR Last received state of the line status register, holds the
  * value of the line status flags from the port
  * @param shadowMSR Last received state of the modem status register, holds
@@ -127,10 +150,14 @@ static struct usb_driver quausb2_usb_driver = {
  * the serial port
  * @param xmit_fifo_room_bytes free space available in the transmit fifo
  * for this port on the box
- * @param rcv_flush Flag indicating that a receive flush has been requested by
+ * @param rcv_flush Flag indicating that a receive flush has occured on
  * the hardware.
- * @param xmit_flush Flag indicating that a transmit flush has been requested by
+ * @param xmit_flush Flag indicating that a transmit flush has been processed by
  * the hardware.
+ * @param fifo_empty_flag Flag indicating that the (per-port) buffer on the
+ * device is empty.
+ * @param tx_fifo_room	Number of bytes room left in the buffer
+ * @param tx_pending_bytes Number of bytes waiting to be sent
  */
 struct quatech2_port {
 	int	magic;
@@ -140,8 +167,11 @@ struct quatech2_port {
 	__u8	shadowMSR;
 	int	xmit_pending_bytes;
 	int	xmit_fifo_room_bytes;
-	char	rcv_flush;
-	char	xmit_flush;
+	bool	rcv_flush;
+	bool	xmit_flush;
+/*	bool	fifo_empty_flag;
+	int	tx_fifo_room;*/
+	int	tx_pending_bytes;
 
 	char	active;		/* someone has this device open */
 	unsigned char		*xfer_to_tty_buffer;
@@ -151,7 +181,6 @@ struct quatech2_port {
 	__u8	shadowLCR;	/* last LCR value received */
 	__u8	shadowMCR;	/* last MCR value received */
 	char	RxHolding;
-	char	fifo_empty_flag;
 	struct semaphore	pend_xmit_sem;	/* locks this structure */
 	spinlock_t lock;
 };
@@ -164,11 +193,16 @@ struct quatech2_port {
  * the read stream is currently directed to. Escape sequences in the read
  * stream will change this around as data arrives from different ports on the
  * box
+ * @buffer_size: The max size buffer each URB can take, used to set the size of
+ * the buffers allocated for writing to each port on the device (we need to
+ * store this because it is known only to the endpoint, but used each time a
+ * port is opened and a new buffer is allocated.
  */
 struct quatech2_dev {
 	bool	ReadBulkStopped;
 	char	open_ports;
 	struct usb_serial_port *current_port;
+	int 	buffer_size;
 };
 
 /* structure which holds line and modem status flags */
@@ -200,6 +234,7 @@ static int qt2_closeboxchannel(struct usb_serial *serial, __u16
 static int qt2_conf_uart(struct usb_serial *serial,  unsigned short Uart_Number,
 			 unsigned short divisor, unsigned char LCR);
 static void qt2_read_bulk_callback(struct urb *urb);
+static void qt2_write_bulk_callback(struct urb *urb);
 static void qt2_process_line_status(struct usb_serial_port *port,
 			      unsigned char LineStatus);
 static void qt2_process_modem_status(struct usb_serial_port *port,
@@ -212,6 +247,19 @@ static void qt2_process_rcv_flush(struct usb_serial_port *port);
 static void qt2_process_xmit_flush(struct usb_serial_port *port);
 static void qt2_process_rx_char(struct usb_serial_port *port,
 				unsigned char data);
+static int qt2_box_get_register(struct usb_serial *serial,
+		unsigned char uart_number, unsigned short register_num,
+		__u8 *pValue);
+static int qt2_box_set_register(struct usb_serial *serial,
+		unsigned short Uart_Number, unsigned short Register_Num,
+		unsigned short Value);
+static int qt2_box_flush(struct usb_serial *serial,  unsigned char uart_number,
+		unsigned short rcv_or_xmit);
+static int qt2_write(struct tty_struct *tty, struct usb_serial_port *port,
+		      const unsigned char *buf, int count);
+static int qt2_tiocmget(struct tty_struct *tty, struct file *file);
+static int qt2_tiocmset(struct tty_struct *tty, struct file *file,
+			unsigned int set, unsigned int clear);
 
 /* implementation functions, roughly in order of use, are here */
 static int qt2_calc_num_ports(struct usb_serial *serial)
@@ -291,7 +339,7 @@ static int qt2_attach(struct usb_serial *serial)
 			return -ENOMEM;
 		}
 		spin_lock_init(&qt2_port->lock);
-		usb_set_serial_port_data(port, qt2_port);
+		qt2_set_port_private(port, qt2_port);
 	}
 
 	/* gain access to port[0]'s structure because we want to store
@@ -307,15 +355,17 @@ static int qt2_attach(struct usb_serial *serial)
 		if ((endpoint->bEndpointAddress & 0x80) &&
 			((endpoint->bmAttributes & 3) == 0x02)) {
 			/* we found a bulk in endpoint */
-			dbg("found bulk in at 0x%x",
+			dbg("found bulk in at %#.2x",
 				endpoint->bEndpointAddress);
 		}
 
 		if (((endpoint->bEndpointAddress & 0x80) == 0x00) &&
 			((endpoint->bmAttributes & 3) == 0x02)) {
 			/* we found a bulk out endpoint */
-			dbg("found bulk out at 0x%x",
+			dbg("found bulk out at %#.2x",
 				endpoint->bEndpointAddress);
+			qt2_dev->buffer_size = endpoint->wMaxPacketSize;
+			/* max size of URB needs recording for the device */
 		}
 	}	/* end printing endpoint addresses */
 
@@ -368,7 +418,8 @@ static void qt2_release(struct usb_serial *serial)
 		usb_set_serial_port_data(port, NULL);
 	}
 }
-/* This function is called once per serial port on the device.
+/* This function is called once per serial port on the device, when
+ * that port is opened by a userspace application.
  * The tty_struct and the usb_serial_port belong to this port,
  * i.e. there are multiple ones for a multi-port device.
  * However the usb_serial_port structure has a back-pointer
@@ -379,12 +430,11 @@ static void qt2_release(struct usb_serial *serial)
  * This is most helpful if the device shares resources (e.g. end
  * points) between different ports
  */
-int qt2_open(struct tty_struct *tty,
-	    struct usb_serial_port *port, struct file *filp)
+int qt2_open(struct tty_struct *tty, struct usb_serial_port *port)
 {
 	struct usb_serial *serial;	/* device structure */
 	struct usb_serial_port *port0;	/* first port structure on device */
-	struct quatech2_port *port_extra;	/* extra data for this port */
+	struct quatech2_port *port_extra;       /* extra data for this port */
 	struct quatech2_port *port0_extra;	/* extra data for first port */
 	struct quatech2_dev *dev_extra;		/* extra data for the device */
 	struct qt2_status_data ChannelData;
@@ -405,22 +455,23 @@ int qt2_open(struct tty_struct *tty,
 	}
 	dev_extra = qt2_get_dev_private(serial);
 	/* get the device private data */
+	if (dev_extra == NULL) {
+		dbg("device extra data pointer is null");
+		return -ENODEV;
+	}
 	port0 = serial->port[0]; /* get the first port's device structure */
-	if (port_paranoia_check(port, __func__)) {
+	if (port_paranoia_check(port0, __func__)) {
 		dbg("port0 usb_serial_port struct failed sanity check");
 		return -ENODEV;
 	}
+
 	port_extra = qt2_get_port_private(port);
 	port0_extra = qt2_get_port_private(port0);
-
 	if (port_extra == NULL || port0_extra == NULL) {
-		dbg("failed to get private data for port and port0");
+		dbg("failed to get private data for port or port0");
 		return -ENODEV;
 	}
 
-	usb_clear_halt(serial->dev, port->write_urb->pipe);
-	usb_clear_halt(serial->dev, port->read_urb->pipe);
-
 	/* FIXME: are these needed?  Does it even do anything useful? */
 	/* get the modem and line status values from the UART */
 	status = qt2_openboxchannel(serial, port->number,
@@ -433,12 +484,11 @@ int qt2_open(struct tty_struct *tty,
 	port_extra->shadowLSR = ChannelData.line_status &
 			(SERIAL_LSR_OE | SERIAL_LSR_PE | SERIAL_LSR_FE |
 			SERIAL_LSR_BI);
-
 	port_extra->shadowMSR = ChannelData.modem_status &
 			(SERIAL_MSR_CTS | SERIAL_MSR_DSR | SERIAL_MSR_RI |
 			SERIAL_MSR_CD);
 
-	port_extra->fifo_empty_flag = true;
+/*	port_extra->fifo_empty_flag = true;*/
 	dbg("qt2_openboxchannel on channel %d completed.",
 	    port->number);
 
@@ -463,19 +513,57 @@ int qt2_open(struct tty_struct *tty,
 	 * when we do a write to a port, we will use the same endpoint
 	 * regardless of the port, with a 5-byte header added on to
 	 * tell the box which port it should eventually come out of, so we only
-	 * need the one set of endpoints.
+	 * need the one set of endpoints. We will have one URB per port for
+	 * writing, so that multiple ports can be writing at once.
 	 * Finally we need a bulk in URB to use for background reads from the
 	 * device, which will deal with uplink data from the box to host.
 	 */
-	dbg("port number is %d", port->number);
 	dbg("serial number is %d", port->serial->minor);
 	dbg("port0 bulk in endpoint is %#.2x", port0->bulk_in_endpointAddress);
 	dbg("port0 bulk out endpoint is %#.2x",
 		port0->bulk_out_endpointAddress);
 
+	/* set up write_urb for bulk out transfers on this port. The USB
+	 * serial framework will have allocated a blank URB, buffer etc for
+	 * port0 when it put the endpoints there, but not for any of the other
+	 * ports on the device because there are no more endpoints. Thus we
+	 * have to allocate our own URBs for ports 1-7
+	 */
+	if (port->write_urb == NULL) {
+		dbg("port->write_urb == NULL, allocating one");
+		port->write_urb = usb_alloc_urb(0, GFP_KERNEL);
+		if (!port->write_urb) {
+			err("Allocating write URB failed");
+			return -ENOMEM;
+		}
+		/* buffer same size as port0 */
+		port->bulk_out_size = dev_extra->buffer_size;
+		port->bulk_out_buffer = kmalloc(port->bulk_out_size,
+						GFP_KERNEL);
+		if (!port->bulk_out_buffer) {
+			err("Couldn't allocate bulk_out_buffer");
+			return -ENOMEM;
+		}
+	}
+	if (serial->dev == NULL)
+		dbg("serial->dev == NULL");
+	dbg("port->bulk_out_size is %d", port->bulk_out_size);
+
+	usb_fill_bulk_urb(port->write_urb, serial->dev,
+			usb_sndbulkpipe(serial->dev,
+			port0->bulk_out_endpointAddress),
+			port->bulk_out_buffer,
+			port->bulk_out_size,
+			qt2_write_bulk_callback,
+			port);
+	/*port_extra->fifo_empty_flag = true;
+	port_extra->tx_fifo_room = FIFO_DEPTH;*/
+	port_extra->tx_pending_bytes = 0;
+
 	if (dev_extra->open_ports == 0) {
-		/* this is first port to be opened, so need some URBs */
-		/* initialise read_urb for bulk in transfers */
+		/* this is first port to be opened, so need the read URB
+		 * initialised for bulk in transfers (this is shared amongst
+		 * all the ports on the device) */
 		usb_fill_bulk_urb(port0->read_urb, serial->dev,
 			usb_rcvbulkpipe(serial->dev,
 			port0->bulk_in_endpointAddress),
@@ -490,25 +578,444 @@ int qt2_open(struct tty_struct *tty,
 		result = usb_submit_urb(port->read_urb, GFP_KERNEL);
 		if (result) {
 			dev_err(&port->dev,
-				 "%s - Error %d submitting bulk in urb\n",
+				 "%s(): Error %d submitting bulk in urb",
 				__func__, result);
 			port_extra->read_urb_busy = false;
+			dev_extra->ReadBulkStopped = true;
 		}
+
+		/* When the first port is opened, initialise the value of
+		 * current_port in dev_extra to this port, so it is set
+		 * to something. Once the box sends data it will send the
+		 * relevant escape sequences to get it to the right port anyway
+		 */
+		dev_extra->current_port = port;
 	}
 
 	/* initialize our wait queues */
 	init_waitqueue_head(&port_extra->wait);
 
-	/* remember to store port_extra and port0 back again at end !*/
+	/* remember to store dev_extra, port_extra and port0_extra back again at
+	 * end !*/
 	qt2_set_port_private(port, port_extra);
 	qt2_set_port_private(serial->port[0], port0_extra);
 	qt2_set_dev_private(serial, dev_extra);
 
-	dev_extra->open_ports++;	/* one more port opened */
+	dev_extra->open_ports++; /* one more port opened */
 
 	return 0;
 }
 
+/* called when a port is closed by userspace */
+/* Setting close_pending should keep new data from being written out,
+ * once all the data in the enpoint buffers is moved out we won't get
+ * any more. */
+/* BoxStopReceive would keep any more data from coming from a given
+ * port, but isn't called by the vendor driver, although their comments
+ * mention it. Should it be used here to stop the inbound data
+ * flow?
+ */
+static void qt2_close(struct usb_serial_port *port)
+{
+	/* time out value for flush loops */
+	unsigned long jift;
+	struct quatech2_port *port_extra;	/* extra data for this port */
+	struct usb_serial *serial;	/* device structure */
+	struct quatech2_dev *dev_extra; /* extra data for the device */
+	__u8  lsr_value = 0;	/* value of Line Status Register */
+	int status;	/* result of last USB comms function */
+
+	dbg("%s(): port %d", __func__, port->number);
+	serial = port->serial;	/* get the parent device structure */
+	dev_extra = qt2_get_dev_private(serial);
+	/* get the device private data */
+	port_extra = qt2_get_port_private(port); /* port private data */
+
+	/* to check we have successfully flushed the buffers on the hardware,
+	 * we set the flags indicating flushes have occured to false, then ask
+	 * for flushes to occur, then sit in a timed loop until either we
+	 * get notified back that the flushes have happened (good) or we get
+	 * tired of waiting for the flush to happen and give up (bad).
+	 */
+	port_extra->rcv_flush = false;
+	port_extra->xmit_flush = false;
+	qt2_box_flush(serial, port->number, QT2_FLUSH_TX); /* flush tx buffer */
+	qt2_box_flush(serial, port->number, QT2_FLUSH_RX); /* flush rx buffer */
+	/* now wait for the flags to magically go back to being true */
+	jift = jiffies + (10 * HZ);
+	do {
+		if ((port_extra->rcv_flush == true) &&
+			(port_extra->xmit_flush == true)) {
+			dbg("Flush completed");
+			break;
+		}
+		schedule();
+	} while (jiffies <= jift);
+
+	/* we can now (and only now) stop reading data */
+	port_extra->close_pending = true;
+	dbg("%s(): port_extra->close_pending = true", __func__);
+	/* although the USB side is now empty, the UART itself may
+	 * still be pushing characters out over the line, so we have to
+	 * wait testing the actual line status until the lines change
+	 * indicating that the data is done transfering. */
+	jift = jiffies + (10 * HZ);	/* 10 sec timeout */
+	do {
+		status = qt2_box_get_register(serial, port->number,
+			QT2_LINE_STATUS_REGISTER, &lsr_value);
+		if (status < 0) {
+			dbg("%s(): qt2_box_get_register failed", __func__);
+			break;
+		}
+		if ((lsr_value & QT2_LSR_TEMT)) {
+			dbg("UART done sending");
+			break;
+		}
+		schedule();
+	} while (jiffies <= jift);
+
+	status = qt2_closeboxchannel(serial, port->number);
+	if (status < 0)
+		dbg("%s(): port %d qt2_box_open_close_channel failed",
+			__func__, port->number);
+	/* to avoid leaking URBs, we should now free the write_urb for this
+	 * port and set the pointer to null so that next time the port is opened
+	 * a new URB is allocated. This avoids leaking URBs when the device is
+	 * removed */
+	usb_free_urb(port->write_urb);
+	kfree(port->bulk_out_buffer);
+	port->bulk_out_buffer = NULL;
+	port->bulk_out_size = 0;
+
+	dev_extra->open_ports--;
+	dbg("%s(): Exit, dev_extra->open_ports  = %d", __func__,
+		dev_extra->open_ports);
+}
+
+/* called to deliver writes from the next layer up to the device */
+static int qt2_write(struct tty_struct *tty, struct usb_serial_port *port,
+		const unsigned char *buf, int count)
+{
+	struct usb_serial *serial;	/* parent device struct */
+	__u8 header_array[5];	/* header used to direct writes to the correct
+	port on the device */
+	struct quatech2_port *port_extra;	/* extra data for this port */
+
+	int result;
+
+	/* get the parent device of the port */
+	serial = port->serial;
+	if (serial == NULL)
+		return -ENODEV;
+	dbg("%s(): port %d", __func__, port->number);
+
+	if (count <= 0)	{
+		dbg("%s(): write request of <= 0 bytes", __func__);
+		return 0;	/* no bytes written */
+	}
+	port_extra = qt2_get_port_private(port);
+
+	/* check if the write urb is already in use, i.e. data already being
+	 * sent to this port */
+	if ((port->write_urb->status == -EINPROGRESS)) {
+		/* Fifo hasn't been emptied since last write to this port */
+		dbg("%s(): already writing, port->write_urb->status == "
+			"-EINPROGRESS", __func__);
+		/* schedule_work(&port->work); commented in vendor driver */
+		return 0;
+	} else if (port_extra->tx_pending_bytes >= FIFO_DEPTH) {
+		/* such a lot queued up that we will fill the buffer again as
+		 * soon as it does empty? Overflowed buffer? */
+		dbg("%s(): already writing, port_extra->tx_pending_bytes >="
+			" FIFO_DEPTH", __func__);
+		/* schedule_work(&port->work); commented in vendor driver */
+		return 0;
+	}
+
+	/* We must fill the first 5 bytes of anything we sent with a transmit
+	 * header which directes the data to the correct port. The maximum
+	 * size we can send out in one URB is port->bulk_out_size, which caps
+	 * the number of bytes of real data we can send in each write. As the
+	 * semantics of write allow us to write less than we were give, we cap
+	 * the maximum we will ever write to the device as 5 bytes less than
+	 * one URB's worth, by reducing the value of the count argument
+	 * appropriately*/
+	if (count > port->bulk_out_size - QT2_TX_HEADER_LENGTH)
+		count = port->bulk_out_size - QT2_TX_HEADER_LENGTH;
+	/* we must also ensure that the FIFO at the other end can cope with the
+	 * URB we send it, otherwise it will have problems. As above, we can
+	 * restrict the write size by just shrinking count.*/
+	if (count > (FIFO_DEPTH - port_extra->tx_pending_bytes))
+		count = FIFO_DEPTH - port_extra->tx_pending_bytes;
+	/* now build the header for transmission */
+	header_array[0] = 0x1b;
+	header_array[1] = 0x1b;
+	header_array[2] = (__u8)port->number;
+	header_array[3] = (__u8)count;
+	header_array[4] = (__u8)count >> 8;
+	/* copy header into URB */
+	memcpy(port->write_urb->transfer_buffer, header_array,
+		QT2_TX_HEADER_LENGTH);
+	/* and actual data to write */
+	memcpy(port->write_urb->transfer_buffer + 5, buf, count);
+
+	dbg("%s(): first data byte to send = %#.2x", __func__, *buf);
+
+	/* set up our urb */
+	usb_fill_bulk_urb(port->write_urb, serial->dev,
+			usb_sndbulkpipe(serial->dev,
+			port->bulk_out_endpointAddress),
+			port->write_urb->transfer_buffer, count + 5,
+			(qt2_write_bulk_callback), port);
+	/* send the data out the bulk port */
+	result = usb_submit_urb(port->write_urb, GFP_ATOMIC);
+	if (result) {
+		/* error couldn't submit urb */
+		result = 0;
+		dbg("%s(): failed submitting write urb, error %d",
+			__func__, result);
+	} else {
+		port_extra->tx_pending_bytes += (count - QT2_TX_HEADER_LENGTH);
+		/*port->fifo_empty_flag = false;
+		port->xmit_fifo_room_bytes = FIFO_DEPTH -
+		port->xmit_pending_bytes;*/
+		result = count;
+		dbg("%s(): submitted write urb, returning %d", __func__,
+result);
+	}
+	return result;
+}
+
+static int qt2_write_room(struct tty_struct *tty)
+{
+	struct usb_serial_port *port = tty->driver_data;
+		/* parent usb_serial_port pointer */
+	struct quatech2_port *port_extra;	/* extra data for this port */
+	int room = 0;
+	port_extra = qt2_get_port_private(port);
+
+	if (port_extra->close_pending == true) {
+		dbg("%s(): port_extra->close_pending == true", __func__);
+		return -ENODEV;
+	}
+
+	dbg("%s(): port %d", __func__, port->number);
+	if ((port->write_urb->status != -EINPROGRESS) &&
+		(port_extra->tx_pending_bytes == 0))
+		room = port->bulk_out_size - QT2_TX_HEADER_LENGTH;
+	return room;
+}
+
+static int qt2_chars_in_buffer(struct tty_struct *tty)
+{
+	struct usb_serial_port *port = tty->driver_data;
+	/* parent usb_serial_port pointer */
+	int chars = 0;
+	struct quatech2_port *port_extra;	/* extra data for this port */
+	port_extra = qt2_get_port_private(port);
+
+	dbg("%s(): port %d", __func__, port->number);
+	if ((port->write_urb->status == -EINPROGRESS) &&
+			(port_extra->tx_pending_bytes != 0))
+		chars = port->write_urb->transfer_buffer_length;
+	dbg("%s(): returns %d", __func__, chars);
+	return chars;
+}
+
+
+static int qt2_ioctl(struct tty_struct *tty, struct file *file,
+		     unsigned int cmd, unsigned long arg)
+{
+	struct usb_serial_port *port = tty->driver_data;
+	struct usb_serial *serial = port->serial;
+	__u8 mcr_value;	/* Modem Control Register value */
+	__u8 msr_value; /* Modem Status Register value */
+	unsigned short prev_msr_value; /* Previous value of Modem Status
+	 * Register used to implement waiting for a line status change to
+	 * occur */
+	struct quatech2_port *port_extra;	/* extra data for this port */
+	DECLARE_WAITQUEUE(wait, current);
+	/* Declare a wait queue named "wait" */
+
+	unsigned int value;
+	int status;
+	unsigned int UartNumber;
+
+	if (serial == NULL)
+		return -ENODEV;
+	UartNumber = tty->index - serial->minor;
+	port_extra = qt2_get_port_private(port);
+
+	dbg("%s(): port %d, UartNumber %d, tty =0x%p", __func__,
+	    port->number, UartNumber, tty);
+
+	if (cmd == TIOCMGET) {
+		return qt2_tiocmget(tty, file);
+		/* same as tiocmget function */
+	} else if (cmd == TIOCMSET) {
+		if (copy_from_user(&value, (unsigned int *)arg,
+			sizeof(unsigned int)))
+			return -EFAULT;
+		return qt2_tiocmset(tty, file, value, 0);
+		/* same as tiocmset function */
+	} else if (cmd == TIOCMBIS || cmd == TIOCMBIC) {
+		status = qt2_box_get_register(port->serial, UartNumber,
+				QT2_MODEM_CONTROL_REGISTER, &mcr_value);
+		if (status < 0)
+			return -ESPIPE;
+		if (copy_from_user(&value, (unsigned int *)arg,
+			sizeof(unsigned int)))
+			return -EFAULT;
+
+		switch (cmd) {
+		case TIOCMBIS:
+			if (value & TIOCM_RTS)
+				mcr_value |= SERIAL_MCR_RTS;
+			if (value & TIOCM_DTR)
+				mcr_value |= SERIAL_MCR_DTR;
+			if (value & TIOCM_LOOP)
+				mcr_value |= SERIAL_MCR_LOOP;
+		break;
+		case TIOCMBIC:
+			if (value & TIOCM_RTS)
+				mcr_value &= ~SERIAL_MCR_RTS;
+			if (value & TIOCM_DTR)
+				mcr_value &= ~SERIAL_MCR_DTR;
+			if (value & TIOCM_LOOP)
+				mcr_value &= ~SERIAL_MCR_LOOP;
+		break;
+		default:
+		break;
+		}	/* end of local switch on cmd */
+		status = qt2_box_set_register(port->serial,  UartNumber,
+				QT2_MODEM_CONTROL_REGISTER, mcr_value);
+		if (status < 0) {
+			return -ESPIPE;
+		} else {
+			port_extra->shadowMCR = mcr_value;
+			return 0;
+		}
+	} else if (cmd == TIOCMIWAIT) {
+		dbg("%s() port %d, cmd == TIOCMIWAIT enter",
+			__func__, port->number);
+		prev_msr_value = port_extra->shadowMSR  & SERIAL_MSR_MASK;
+		while (1) {
+			add_wait_queue(&port_extra->wait, &wait);
+			set_current_state(TASK_INTERRUPTIBLE);
+			schedule();
+			dbg("%s(): port %d, cmd == TIOCMIWAIT here\n",
+				__func__, port->number);
+			remove_wait_queue(&port_extra->wait, &wait);
+			/* see if a signal woke us up */
+			if (signal_pending(current))
+				return -ERESTARTSYS;
+			msr_value = port_extra->shadowMSR & SERIAL_MSR_MASK;
+			if (msr_value == prev_msr_value)
+				return -EIO;  /* no change - error */
+			if ((arg & TIOCM_RNG &&
+				((prev_msr_value & SERIAL_MSR_RI) ==
+					(msr_value & SERIAL_MSR_RI))) ||
+				(arg & TIOCM_DSR &&
+				((prev_msr_value & SERIAL_MSR_DSR) ==
+					(msr_value & SERIAL_MSR_DSR))) ||
+				(arg & TIOCM_CD &&
+				((prev_msr_value & SERIAL_MSR_CD) ==
+					(msr_value & SERIAL_MSR_CD))) ||
+				(arg & TIOCM_CTS &&
+				((prev_msr_value & SERIAL_MSR_CTS) ==
+					(msr_value & SERIAL_MSR_CTS)))) {
+				return 0;
+			}
+		} /* end inifinite while */
+	} else {
+		/* any other ioctls we don't know about come here */
+		dbg("%s(): No ioctl for that one. port = %d", __func__,
+			port->number);
+		return -ENOIOCTLCMD;
+	}
+}
+
+static int qt2_tiocmget(struct tty_struct *tty, struct file *file)
+{
+	struct usb_serial_port *port = tty->driver_data;
+	struct usb_serial *serial = port->serial;
+
+	__u8 mcr_value;	/* Modem Control Register value */
+	__u8 msr_value;	/* Modem Status Register value */
+	unsigned int result = 0;
+	int status;
+	unsigned int UartNumber;
+
+	if (serial == NULL)
+		return -ENODEV;
+
+	dbg("%s(): port %d, tty =0x%p", __func__, port->number, tty);
+	UartNumber = tty->index - serial->minor;
+	dbg("UartNumber is %d", UartNumber);
+
+	status = qt2_box_get_register(port->serial, UartNumber,
+			QT2_MODEM_CONTROL_REGISTER,	&mcr_value);
+	if (status >= 0) {
+		status = qt2_box_get_register(port->serial,  UartNumber,
+				QT2_MODEM_STATUS_REGISTER, &msr_value);
+	}
+	if (status >= 0) {
+		result = ((mcr_value & SERIAL_MCR_DTR) ? TIOCM_DTR : 0)
+				/*DTR set */
+			| ((mcr_value & SERIAL_MCR_RTS)  ? TIOCM_RTS : 0)
+				/*RTS set */
+			| ((msr_value & SERIAL_MSR_CTS)  ? TIOCM_CTS : 0)
+				/* CTS set */
+			| ((msr_value & SERIAL_MSR_CD)  ? TIOCM_CAR : 0)
+				/*Carrier detect set */
+			| ((msr_value & SERIAL_MSR_RI)  ? TIOCM_RI : 0)
+				/* Ring indicator set */
+			| ((msr_value & SERIAL_MSR_DSR)  ? TIOCM_DSR : 0);
+				/* DSR set */
+		return result;
+	} else {
+		return -ESPIPE;
+	}
+}
+
+static int qt2_tiocmset(struct tty_struct *tty, struct file *file,
+		       unsigned int set, unsigned int clear)
+{
+	struct usb_serial_port *port = tty->driver_data;
+	struct usb_serial *serial = port->serial;
+	__u8 mcr_value;	/* Modem Control Register value */
+	int status;
+	unsigned int UartNumber;
+
+	if (serial == NULL)
+		return -ENODEV;
+
+	UartNumber = tty->index - serial->minor;
+	dbg("%s(): port %d, UartNumber %d", __func__, port->number, UartNumber);
+
+	status = qt2_box_get_register(port->serial, UartNumber,
+			QT2_MODEM_CONTROL_REGISTER, &mcr_value);
+	if (status < 0)
+		return -ESPIPE;
+
+	/* Turn off RTS, DTR and loopback, then only turn on what was asked
+	 * for */
+	mcr_value &= ~(SERIAL_MCR_RTS | SERIAL_MCR_DTR | SERIAL_MCR_LOOP);
+	if (set & TIOCM_RTS)
+		mcr_value |= SERIAL_MCR_RTS;
+	if (set & TIOCM_DTR)
+		mcr_value |= SERIAL_MCR_DTR;
+	if (set & TIOCM_LOOP)
+		mcr_value |= SERIAL_MCR_LOOP;
+
+	status = qt2_box_set_register(port->serial, UartNumber,
+			QT2_MODEM_CONTROL_REGISTER, mcr_value);
+	if (status < 0)
+		return -ESPIPE;
+	else
+		return 0;
+}
+
 /* internal, private helper functions for the driver */
 
 /* Power up the FPGA in the box to get it working */
@@ -643,7 +1150,7 @@ static int qt2_conf_uart(struct usb_serial *serial,  unsigned short Uart_Number,
 	return result;
 }
 
-/** @brief Callback for asynchronous submission of URBs on bulk in
+/** @brief Callback for asynchronous submission of read URBs on bulk in
  * endpoints
  *
  * Registered in qt2_open_port(), used to deal with incomming data
@@ -678,7 +1185,7 @@ static void qt2_read_bulk_callback(struct urb *urb)
 	if (urb->status) {
 		/* read didn't go well */
 		dev_extra->ReadBulkStopped = true;
-		dbg("%s(): nonzero write bulk status received: %d",
+		dbg("%s(): nonzero bulk read status received: %d",
 			__func__, urb->status);
 		return;
 	}
@@ -908,6 +1415,34 @@ __func__);
 
 	return;
 }
+
+/** @brief Callback for asynchronous submission of write URBs on bulk in
+ * endpoints
+ *
+ * Registered in qt2_write(), used to deal with outgoing data
+ * to the box.
+ */
+static void qt2_write_bulk_callback(struct urb *urb)
+{
+	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
+	struct usb_serial *serial = port->serial;
+	dbg("%s(): port %d", __func__, port->number);
+	if (!serial) {
+		dbg("%s(): bad serial pointer, exiting", __func__);
+		return;
+	}
+	if (urb->status) {
+		dbg("%s(): nonzero write bulk status received: %d",
+			__func__, urb->status);
+		return;
+	}
+
+	/*port_softint((void *) serial); commented in vendor driver */
+	schedule_work(&port->work);
+	dbg("%s(): port %d exit", __func__, port->number);
+	return;
+}
+
 static void qt2_process_line_status(struct usb_serial_port *port,
 	unsigned char LineStatus)
 {
@@ -922,8 +1457,11 @@ static void qt2_process_modem_status(struct usb_serial_port *port,
 	/* obtain the private structure for the port */
 	struct quatech2_port *port_extra = qt2_get_port_private(port);
 	port_extra->shadowMSR = ModemStatus;
-	/* ?? */
 	wake_up_interruptible(&port_extra->wait);
+	/* this wakes up the otherwise indefinitely waiting code for
+	 * the TIOCMIWAIT ioctl, so that it can notice that
+	 * port_extra->shadowMSR has changed and the ioctl needs to return.
+	 */
 }
 
 static void qt2_process_xmit_empty(struct usb_serial_port *port,
@@ -980,6 +1518,66 @@ static void qt2_process_rx_char(struct usb_serial_port *port,
 		/*tty_flip_buffer_push(tty);*/
 	}
 }
+
+/** @brief Retreive the value of a register from the device
+ *
+ * Issues a GET_REGISTER vendor-spcific request over the USB control
+ * pipe to obtain a value back from a specific register on a specific
+ * UART
+ * @param serial Serial device handle to access the device through
+ * @param uart_number Which UART the value is wanted from
+ * @param register_num Which register to read the value from
+ * @param pValue Pointer to somewhere to put the retrieved value
+ */
+static int qt2_box_get_register(struct usb_serial *serial,
+		unsigned char uart_number, unsigned short register_num,
+		__u8 *pValue)
+{
+	int result;
+	result = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0),
+			QT2_GET_SET_REGISTER, 0xC0, register_num,
+			uart_number, (void *)pValue, sizeof(*pValue), 300);
+	return result;
+}
+
+/** qt2_box_set_register
+ * Issue a SET_REGISTER vendor-specific request on the default control pipe
+ */
+static int qt2_box_set_register(struct usb_serial *serial,
+		unsigned short Uart_Number, unsigned short Register_Num,
+		unsigned short Value)
+{
+	int result;
+	unsigned short reg_and_byte;
+
+	reg_and_byte = Value;
+	reg_and_byte = reg_and_byte << 8;
+	reg_and_byte = reg_and_byte + Register_Num;
+
+	result = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
+			QT2_GET_SET_REGISTER, 0x40, reg_and_byte,
+			Uart_Number, NULL, 0, 300);
+	return result;
+}
+
+
+/** @brief Request the Tx or Rx buffers on the USB side be flushed
+ *
+ * Tx flush: When all the currently buffered data has been sent, send an escape
+ * sequence back up the data stream to us
+ * Rx flush: add a flag in the data stream now so we know when it's made it's
+ * way up to us.
+ */
+static int qt2_box_flush(struct usb_serial *serial,  unsigned char uart_number,
+		    unsigned short rcv_or_xmit)
+{
+	int result;
+	result = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0),
+		QT2_FLUSH_DEVICE, 0x40, rcv_or_xmit, uart_number, NULL, 0,
+		300);
+	return result;
+}
+
 /*
  * last things in file: stuff to register this driver into the generic
  * USB serial framework.
@@ -995,20 +1593,22 @@ static struct usb_serial_driver quatech2_device = {
 	.id_table = quausb2_id_table,
 	.num_ports = 8,
 	.open = qt2_open,
-	/*.close = qt_close,
-	.write = qt_write,
-	.write_room = qt_write_room,
-	.chars_in_buffer = qt_chars_in_buffer,
-	.throttle = qt_throttle,
+	.close = qt2_close,
+	.write = qt2_write,
+	.write_room = qt2_write_room,
+	.chars_in_buffer = qt2_chars_in_buffer,
+	/*.throttle = qt_throttle,
 	.unthrottle = qt_unthrottle,*/
 	.calc_num_ports = qt2_calc_num_ports,
-	/*.ioctl = qt_ioctl,
-	.set_termios = qt_set_termios,
-	.break_ctl = qt_break,
-	.tiocmget = qt_tiocmget,
-	.tiocmset = qt_tiocmset,*/
+	.ioctl = qt2_ioctl,
+	/*.set_termios = qt_set_termios,
+	.break_ctl = qt_break,*/
+	.tiocmget = qt2_tiocmget,
+	.tiocmset = qt2_tiocmset,
 	.attach = qt2_attach,
 	.release = qt2_release,
+	.read_bulk_callback = qt2_read_bulk_callback,
+	.write_bulk_callback = qt2_write_bulk_callback,
 };
 
 static int __init quausb2_usb_init(void)
@@ -1038,8 +1638,6 @@ failed_usb_serial_register:
 		return retval;
 }
 
-
-
 static void __exit quausb2_usb_exit(void)
 {
 	usb_deregister(&quausb2_usb_driver);
-- 
1.6.4.2

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 001/641] staging: android: binder: move debugging m ..., Greg Kroah-Hartman, (Tue Sep 15, 12:03 pm)
[PATCH 002/641] staging: android: binder: remove a predefine, Greg Kroah-Hartman, (Tue Sep 15, 12:03 pm)
[PATCH 003/641] staging: android: binder: add enum usage i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:03 pm)
[PATCH 004/641] staging: android: binder: global variable ..., Greg Kroah-Hartman, (Tue Sep 15, 12:03 pm)
[PATCH 005/641] staging: android: binder: clean up for all ..., Greg Kroah-Hartman, (Tue Sep 15, 12:03 pm)
[PATCH 006/641] Staging: android: binder: cleanup some lon ..., Greg Kroah-Hartman, (Tue Sep 15, 12:03 pm)
[PATCH 007/641] Staging: android: lowmemorykiller: remove ..., Greg Kroah-Hartman, (Tue Sep 15, 12:03 pm)
[PATCH 008/641] Staging: android: lowmemorykiller: delete ..., Greg Kroah-Hartman, (Tue Sep 15, 12:03 pm)
[PATCH 009/641] Staging: android: binder: partial checkpat ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 010/641] Staging: android: lowmemorykiller: fix mod ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 011/641] staging: wlan-ng: scripts/checkpatch.pl er ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 012/641] Staging: et1310: Fix the coding style, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 013/641] Staging: rt28[67]0: remove unused md4.h, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 014/641] Staging: rtl8187se/ieee80211: remove unuse ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 015/641] Staging: rtl8192su/ieee80211: remove unuse ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 016/641] Staging: rtl8187se: remove duplicate dot11 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 017/641] Staging: rtl8192su: remove duplicate dot11 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 018/641] Staging: rtl8187se: remove unused ieee8021 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 019/641] Staging: rtl8192su: remove unused ieee8021 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 020/641] Staging: rtl8187se: remove kernel version ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 021/641] Staging: rtl8187se: remove support for old ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 022/641] Staging: rtl8187se/ieee80211: remove dead ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 023/641] Staging: rtl8187se/ieee80211: remove super ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 024/641] Staging: rtl8187se/ieee80211: remove unuse ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 025/641] Staging: rtl8187se/ieee80211: remove super ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 026/641] Staging: rtl8192su: remove kernel version ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 027/641] Staging: rtl8192su: remove support for old ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 028/641] Staging: rtl8192su/ieee80211: remove unuse ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 029/641] Staging: rtl8192su/ieee80211: switch to us ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 030/641] Staging: rtl8192su: add TODO, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 031/641] Staging: rtl8187se: add TODO, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 032/641] Staging: rtl8187se: remove ENABLE_DOT11D i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 033/641] Staging: rtl8187se: remove CONFIG_RTL8180_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 034/641] Staging: rtl8187se: remove THOMAS_TURBO ifdefs, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 035/641] Staging: rtl8187se: remove CONFIG_RTL818x_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 036/641] Staging: rtl8187se: remove CONFIG_RTL8185B ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 037/641] Staging: rtl8187se: remove CONFIG_RTL8180_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 038/641] Staging: rtl8187se: remove dead code, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 039/641] Staging: rtl8187se: remove unused radio fr ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 040/641] Staging: rtl8187se: remove debugging code ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 041/641] Staging: rtl8187se: remove unused rtl8225_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 042/641] Staging: rtl8187se: cleanup r8180_rtl8225.c, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 043/641] Staging: rtl8187se: merge r8180_rtl8225.c ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 044/641] Staging: rtl8187se: cleanup r8180_pm.c, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 045/641] Staging: rtl8187se: merge r8180_pm.c with ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 046/641] Staging: rtl8187se: remove unused definiti ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 047/641] Staging: rtl8187se: remove unused definiti ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 048/641] Staging: rtl8187se: cleanup r8180_rtl8225z2.c, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 049/641] Staging: rtl8187se: cleanup r8180_core.c, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 050/641] Staging: add rt3090 wireless driver, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 051/641] Staging: Add pristine upstream vt6656 driv ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 052/641] Staging: vt6656: Add includes to drivers/s ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 053/641] Staging: vt6656: Build vt6656.ko, not vntw ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 054/641] Staging: vt6656: main_usb.c: Drop obsolete ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 055/641] Staging: vt6656: Replace net_device-&gt;priv ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 056/641] Staging: vt6656: use net_device_ops for ma ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 057/641] Staging: vt6656: replace call to info with ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 058/641] Staging: vt6656: Integrate vt6656 into bui ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 059/641] Staging: vt6655: fix build when !CONFIG_WI ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 060/641] Staging: vt6655: remove dependency on WIRE ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 061/641] Staging: otus: Fix warnings in staging/otu ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 062/641] Staging: otus: remove dependency on WIRELE ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 063/641] Staging: otus: Drop an unnecessary NULL test, Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 064/641] Staging: Comedi: Lindent changes to comdi ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 065/641] Staging: comedi: no need for checking vfre ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 066/641] Staging: comedi: Remove references to dead ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 067/641] Staging: comedi: s626: Possible read buffe ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 068/641] Staging: cpc-usb: remove unused #include &lt; ..., Greg Kroah-Hartman, (Tue Sep 15, 12:04 pm)
[PATCH 069/641] Staging: wlan-ng: Remove some superflous c ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 070/641] Staging: wlan-ng: Use kzfree() to securely ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 071/641] Staging: wlan-ng: Drop the special case ha ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 072/641] Staging: wlan-ng: Remove more superflous c ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 073/641] Staging: wlan-ng: Convert firmware loading ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 074/641] Staging: add Support for Quatech ESU2-100 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 075/641] Staging: quatech_usb2: implement open func ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 076/641] Staging: quatech_usb2: close, read, and so ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 077/641] Staging: quatech_usb2: write_room rewrite, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 078/641] Staging: quatech_usb2: TIOCMGET and TIOCMS ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 079/641] Staging: quatech_usb2: chars_in_buffer() fix, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 080/641] Staging: quatech_usb2: vendor implementati ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 081/641] Staging: quatech_usb2: vendor implementati ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 082/641] Staging: quatech_usb2: Improve debug outpu ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 083/641] Staging: quatech_usb2: Improvements to set ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 084/641] Staging: vt6656: remove dependency on kern ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 085/641] Staging: vt6656: remove dependency on WIRE ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 086/641] Staging: vt665x: depend on WIRELESS_EXT, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 087/641] Staging: at76_usb: fix !CONFIG_WIRELESS_EX ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 088/641] Staging: at76_usb: replace mac2str() with %pM, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 089/641] Staging: wlan-ng: remove dependency on WIR ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[GIT PATCH] STAGING patches for 2.6.31-git, Greg KH, (Tue Sep 15, 12:05 pm)
[PATCH 090/641] Staging: vt6655: Remove Makefile refs to E ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 091/641] Staging: rtl8192su: remove ENABLE_DOT11D i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 092/641] Staging: rtl8192su: remove CONFIG_RTL8192_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 093/641] Staging: rtl8192su: remove THOMAS_TURBO ifdefs, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 094/641] Staging: rtl8192su: remove USE_ONE_PIPE ifdefs, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 095/641] Staging: rtl8192su: remove EEPROM_OLD_FORM ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 096/641] Staging: rtl8192su: remove USB_RX_AGGREGAT ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 097/641] Staging: rtl8192su: remove USB_TX_DRIVER_A ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 098/641] Staging: rtl8192su: remove RTL8192SU_DISAB ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 099/641] Staging: rtl8192su: remove RTL8192S_DISABL ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 100/641] Staging: rtl8192su: remove DISABLE_BB_RF i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 101/641] Staging: rtl8192su: remove RTL8192SU_USE_P ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 102/641] Staging: rtl8192su: remove RTL8192SU_FPGA_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 103/641] Staging: rtl8192su: remove RTL8192SU_FPGA_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 104/641] Staging: rtl8192su: remove RTL8192SU_ASIC_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 105/641] Staging: rtl8192su: remove RTL8192SU_USB_P ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 106/641] Staging: rtl8192su: remove RTL8190_Downloa ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 107/641] Staging: rtl8192su: remove RTL8192S_PREPAR ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 108/641] Staging: rtl8192su: remove RTL8192SU_DISAB ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 109/641] Staging: rtl8192su: remove RTL8192SE ifdefs, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 110/641] Staging: rtl8192su: remove RTL8192SU ifdefs, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 111/641] Staging: rtl8192su: remove unused files, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 112/641] Staging: rtl8192su: remove dead code, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 113/641] Staging: rt3070: add support for Linksys W ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 114/641] Staging: rt*: fix wait_queue_head_t declar ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 115/641] Staging: rt*: don't confuse user of rt3070 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 116/641] Staging: vt6655: remove PRIVATE_OBJ ifdefs, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 117/641] Staging: vt6655: remove unused Makefile.{a ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 118/641] Staging: b3dfg: Drop NULL test on list_ent ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 119/641] Staging: rtl8187se/ieee80211: remove OPENS ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 120/641] Staging: rtl8187se/ieee80211: remove FEDOR ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 121/641] Staging: rtl8187se/ieee80211: remove NOT_Y ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 122/641] Staging: rtl8187se: remove ENABLE_IPS ifdefs, Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 123/641] Staging: rtl8187se: rename struct ieee8021 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 124/641] Staging: rtl8187se: rename struct ieee8021 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 125/641] Staging: rtl8187se: rename struct ieee8021 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 126/641] Staging: rtl8187se/ieee80211: switch to us ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 127/641] Staging: rtl8187se/ieee80211: ieee80211.h ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 128/641] Staging: rtl8187se/ieee80211: convert MMIE ..., Greg Kroah-Hartman, (Tue Sep 15, 12:05 pm)
[PATCH 129/641] Staging: rtl8192su: remove more unused files, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 130/641] Staging: rtl8192su: make private ieee80211 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 131/641] Staging: rtl8192su: remove JOHN_DUMP[_TXDE ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 132/641] Staging: rtl8192su/ieee80211: remove OPENS ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 133/641] Staging: rtl8192su/ieee80211: remove super ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 134/641] Staging: rtl8192su: remove NOT_YET ifdefs, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 135/641] Staging: rtl8192su/ieee80211: remove unuse ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 136/641] Staging: rtl8192su/ieee80211: remove unuse ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 137/641] Staging: rtl8192su/ieee80211: ieee80211.h ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 138/641] Staging: rtl8192su/ieee80211: move rtl8192 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 139/641] Staging: vt6656: disable wpa related funct ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 140/641] Staging: HTC Dream: add smd code, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 141/641] Staging: HTC Dream: add rpcrouter driver, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 142/641] Staging: HTC Dream: add qdsp support, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 143/641] Staging: HTC Dream: add camera support, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 144/641] Staging: HTC Dream: Makefile glue, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 145/641] Staging: hv: add the Hyper-V api header files, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 146/641] Staging: hv: add the Hyper-V driver header ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 147/641] Staging: hv: add the Hyper-V virtual bus, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 148/641] Staging: hv: add the Hyper-V virtual block ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 149/641] Staging: hv: add the Hyper-V virtual netwo ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 150/641] Staging: hv: add the Hyper-V virtual stora ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 151/641] Staging: hv: add a TODO file, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 152/641] Staging: hv: make the Hyper-V virtual bus ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 153/641] Staging: hv: use the correct #ifdef for x86-64, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 154/641] Staging: hv: add the Hyper-V virtual bus t ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 155/641] Staging: hv: make the Hyper-V virtual stor ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 156/641] Staging: hv: add the Hyper-V virtual scsi ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 157/641] Staging: hv: storvsc: fix up driver_data usage, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 158/641] Staging: hv: make the Hyper-V virtual bloc ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 159/641] Staging: hv: add the Hyper-V virtual block ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 160/641] Staging: hv: blkvsc: fix up driver_data usage, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 161/641] Staging: hv: make the Hyper-V virtual netw ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 162/641] Staging: hv: add the Hyper-V virtual netwo ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 163/641] Staging: hv: netvsc: fix up driver_data usage, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 164/641] Staging: hv: remove INTERNAL typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 165/641] Staging: hv: remove PVOID typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 166/641] Staging: hv: remove VOID typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 167/641] Staging: hv: remove UINT8 and INT8 typedefs, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 168/641] Staging: hv: remove UINT16 and INT16 typedefs, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 169/641] Staging: hv: remove UINT32 and INT32 typedefs, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 170/641] Staging: hv: remove UINT64 and INT64 and U ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 171/641] Staging: hv: remove USHORT typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 172/641] Staging: hv: remove ULONGLONG and LONGLONG ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 173/641] Staging: hv: remove ULONG_PTR typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 174/641] Staging: hv: remove ULONG and LONG typedefs, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 175/641] Staging: hv: remove SIZE_T typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 176/641] Staging: hv: remove DWORD and BYTE typedefs, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 177/641] Staging: hv: remove BOOL and BOOLEAN typedefs, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 178/641] Staging: hv: remove #defines from osd.c, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 179/641] Staging: hv: remove MIN and MAX usages, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 180/641] Staging: hv: remove PAGE_SIZE and PAGE_SHI ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 181/641] Staging: hv: remove STRUCT_PACKED and STRU ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 182/641] Staging: hv: remove UNUSED_VAR usage, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 183/641] Staging: hv: remove FIELD_OFFSET usage, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 184/641] Staging: hv: remove TRUE, FALSE, and NULL ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 185/641] Staging: hv: osd: remove MemAlloc wrapper, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 186/641] Staging: hv: osd: remove MemAllocZeroed wr ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 187/641] Staging: hv: osd: remove MemAllocAtomic wr ..., Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 188/641] Staging: hv: osd: remove MemFree wrapper, Greg Kroah-Hartman, (Tue Sep 15, 12:06 pm)
[PATCH 189/641] Staging: hv: make Channel-&gt;InboundLock a r ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 190/641] Staging: hv: make RingInfo-&gt;RingLock a rea ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 191/641] Staging: hv: make Device-&gt;RequestLock a re ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 192/641] Staging: hv: make netDevice-&gt;ReceivePacket ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 193/641] Staging: hv: make gVmbusConnection.Channel ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 194/641] Staging: hv: make gVmbusConnection.Channel ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 195/641] Staging: hv: osd: remove spinlock wrapper ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 196/641] Staging: hv: osd: remove Sleep wrapper, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 197/641] Staging: hv: osd: remove MemoryFence wrapper, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 198/641] Staging: hv: osd: remove LogMsg wrapper, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 199/641] Staging: hv: osd: remove PrintBytes wrapper, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 200/641] Staging: hv: fix up printk warnings, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 201/641] Staging: hv: osd: remove GetTickCount and ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 202/641] Staging: hv: Remove compatibility ifdefry, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 203/641] Staging: hv: Transform some kzalloc calls ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 204/641] Staging: hv: force hyper-v drivers to be b ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 205/641] Staging: hv: Use %ld instead of %d for a l ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 206/641] Staging: hv: Remove C99 comments, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 207/641] Staging: hv: StorVsc.c: fix print formatting, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 208/641] Staging: hv: blkvsc_drv.c: fix print forma ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 209/641] Staging: hv: fix blkvsc_open() parameters, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 210/641] Staging: hv: fix blkvsc_release() parameters, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 211/641] Staging: hv: fix blkvsc_ioctl() parameters, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 212/641] Staging: hv: Remove X2V_LINUX check, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 213/641] Staging: hv: NetVsc.c: fix print formatting, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 214/641] Staging: hv: RndisFilter.c: fix print form ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 215/641] Staging: hv: storvsc_drv.c: fix print form ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 216/641] Staging: hv: vmbus_drv.c: fix print formatting, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 217/641] Staging: hv: check return value of bus_reg ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 218/641] Staging: hv: check return value of device_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 219/641] Staging: hv: vmbus_drv.c: remove unused st ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 220/641] Staging: hv: Hv.c: remove unused physAddr, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 221/641] Staging: hv: remove VMBUS_CHANNEL_PACKET_P ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 222/641] Staging: hv: remove VMBUS_CHANNEL_PACKET_M ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 223/641] Staging: hv: remove VMBUS_CONNECT_STATE ty ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 224/641] Staging: hv: remove VMBUS_CONNECTION typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 225/641] Staging: hv: remove VMBUS_MSGINFO typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 226/641] Staging: hv: remove NETVSC_DEVICE typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 227/641] Staging: hv: Remove WORKQUEUE typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 228/641] Staging: hv: Transform PDEVICE_OBJECT and ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 229/641] Staging: hv: check return value of driver_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 230/641] Staging: hv: comment out blkdev variable i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 231/641] Staging: hv: remove WAITEVENT typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 232/641] Staging: hv remove TIMER typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 233/641] Staging: hv: remove HANDLE typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 234/641] Staging: hv: remove more printk() warnings, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 235/641] Staging: hv: properly fix the printk() war ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 236/641] Staging: hv: Remove typedef DRIVER_OBJECT ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 237/641] Staging: hv: Remove typedef NETVSC_PACKET ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 238/641] Staging: hv: Remove typedef STORVSC_REQUES ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 239/641] Staging: hv: fix sparse static warnings, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 240/641] Staging: hv: fix sparse function warnings, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 241/641] Staging: hv: fix sparse NULL pointer warnings, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 242/641] Staging: hv: rework use of workqueues in osd, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 243/641] Staging: hv: remove WaitEventClose(), Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 244/641] Staging: hv: remove wrapper functions for ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 245/641] Staging: hv: remove wrapper functions for ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 246/641] Staging: hv: remove wrapper function Virtu ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 247/641] Staging: hv: remove wrapper functions arou ..., Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 248/641] Staging: hv: remove custom cpuid function, Greg Kroah-Hartman, (Tue Sep 15, 12:07 pm)
[PATCH 249/641] Staging: hv: remove custom rdmsrl and wrms ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 250/641] Staging: hv: osd: remove physical address ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 251/641] Staging: hv: osd: add osd_ prefix to globa ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 252/641] Staging: hv: remove timer wrapper functions, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 253/641] Staging: hv: remove duplicated osd.o inclu ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 254/641] Staging: hv: Replace typedef SG_BUFFER_LIS ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 255/641] Staging: hv: blk dev depends on SCSI, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 256/641] Staging: hv: adjust Hyper-V Kconfig, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 257/641] Staging: hv: remove ReadMsr and WriteMsr f ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 258/641] Staging: hv: cleanup coding style issues i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 259/641] Staging: hv: cleanup coding style issues i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 260/641] Staging: hv: cleanup coding style issues i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 261/641] Staging: hv: cleanup coding style issues i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 262/641] Staging: hv: cleanup coding style issues i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 263/641] Staging: hv: cleanup coding style issues i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 264/641] Staging: hv: cleanup coding style issues i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 265/641] Staging: hv: remove Sources.c, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 266/641] Staging: hv: clean up NetVsc.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 267/641] Staging: hv: clean up RndisFilter.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 268/641] Staging: hv: clean up typedefs in Hv.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 269/641] Staging: hv: clean up typedefs in ChannelM ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 270/641] Staging: hv: clean up vstorage.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 271/641] Staging: hv: move osd.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 272/641] Staging: hv: osd.h: codingstyle cleanups, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 273/641] Staging: hv: osd.h: remove GUID typedef, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 274/641] Staging: hv: osd.h: fix GUID reference problem, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 275/641] Staging: hv: osd.c: coding style fixes, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 276/641] Staging: hv: remove include/HvTypes.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 277/641] Staging: hv: remove include/HvHalApi.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 278/641] Staging: hv: coding style cleanup of inclu ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 279/641] Staging: hv: coding style cleanup of inclu ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 280/641] Staging: hv: move vmbus.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 281/641] Staging: hv: vmbus.h coding style cleanups, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 282/641] Staging: hv: move rndis.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 283/641] Staging: hv: rndis.h: remove pointless typ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 284/641] Staging: hv: rndis.h: codingstyle fixes, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 285/641] Staging: hv: rndis.h: typedef removal, part 1, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 286/641] Staging: hv: rndis.h: typedef removal, part 2, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 287/641] Staging: hv: coding style cleanups for HvP ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 288/641] Staging: hv: coding style cleanups for HvS ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 289/641] Staging: hv: typdef fixes for HvSynicApi.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 290/641] Staging: hv: remove volatile usage from Hv ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 291/641] Staging: hv: create hv_api.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 292/641] Staging: hv: coding style cleanups for HvS ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 293/641] Staging: hv: move HvStatus.h into hv_api.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 294/641] Staging: hv: coding style cleanups for Vmb ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 295/641] Staging: hv: typedef removal from VmbusCha ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 296/641] Staging: hv: coding style cleanups for Vmb ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 297/641] Staging: hv: typedef removal for VmbusApi.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 298/641] Staging: hv: codingsyle cleanups for Chann ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 299/641] Staging: hv: typedef removal for ChannelMe ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 300/641] Staging: hv: fix up some coding style issu ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 301/641] Staging: hv: fix up coding style issues in ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 302/641] Staging: hv: fix up typedefs in NetVscApi.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 303/641] Staging: hv: move vstorage.h to hv dir, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 304/641] Staging: hv: fix remaining style issue in ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 305/641] Staging: hv: fix typedefs in vstorage.h, Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 306/641] Staging: hv: fix coding style issues in Vm ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 307/641] Staging: hv: remove typedefs from VmbusPac ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 308/641] Staging: hv: fix coding style issues in St ..., Greg Kroah-Hartman, (Tue Sep 15, 12:08 pm)
[PATCH 309/641] Staging: hv: fix typedefs in StorVscApi.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 310/641] Staging: hv: fix coding style issues in nv ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 311/641] Staging: hv: fix typedefs in nvspprotocol.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 312/641] Staging: hv: move nvspprotocol.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 313/641] Staging: hv: remove ChannelMessages.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 314/641] Staging: hv: move List.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 315/641] Staging: hv: move logging.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 316/641] Staging: hv: move NetVscApi.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 317/641] Staging: hv: move StorVscApi.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 318/641] Staging: hv: move VmbusApi.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 319/641] Staging: hv: move VmbusChannelInterface.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 320/641] Staging: hv: move VmbusPacketFormat.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 321/641] Staging: hv: coding style cleanups of BlkVsc.c, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 322/641] Staging: hv: coding style cleanups of Chan ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 323/641] Staging: hv: remove typedefs from ChannelM ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 324/641] Staging: hv: remove typedefs from RndisFil ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 325/641] Staging: hv: remove typedefs from StorVsc.c, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 326/641] Staging: hv: coding style cleanups for Con ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 327/641] Staging: hv: coding style cleanups on Vmbus.c, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 328/641] Staging: hv: code reduction from Vmbus.c, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 329/641] Staging: hv: fix coding style issues in Hv.c, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 330/641] Staging: hv: coding style cleanups for net ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 331/641] Staging: hv: reorganize netvsc_drv.c, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 332/641] Staging: hv: coding style cleanups for Cha ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 333/641] Staging: hv: reorg ChannelMgmt a bit, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 334/641] Staging: hv: TODO: add some more items, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 335/641] Staging: hv: coding style cleanups for Sto ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 336/641] Staging: hv: reorg StorVsc.c, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 337/641] Staging: hv: coding style fixes for blkvsc ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 338/641] Staging: hv: coding style cleanup for Chan ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 339/641] Staging: hv: warn the world of a bug in th ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 340/641] Staging: hv: coding style cleanups for vmb ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 341/641] Staging: hv: coding style cleanup for stor ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 342/641] Staging: hv: coding style cleanup for Rndi ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 343/641] Staging: hv: coding style cleanup for NetVsc.c, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 344/641] Staging: hv: rename struct NETVSC_DEVICE, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 345/641] Staging: hv: remove function pointer typed ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 346/641] Staging: hv: remove function pointer typed ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 347/641] Staging: hv: remove function pointer typed ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 348/641] Staging: hv: remove PFN_CHANNEL_CALLBACK, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 349/641] Staging: hv: remove function pointer typed ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 350/641] Staging: hv: Add Haiyang's email to the TO ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 351/641] Staging: hv: remove use of internal list r ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 352/641] Staging: hv: remove more usages of interna ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 353/641] Staging: hv: remove use of internal list r ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 354/641] Staging: hv: Remove List.h, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 355/641] Staging: hv: update the TODO file, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 356/641] Staging: htc: Dream: limit Kconfig for onl ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 357/641] Staging: HTC Dream: touchscreen driver for ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 358/641] Staging: HTC Dream: Cleanup Dream touchscr ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 359/641] Staging: HTC Dream: touchscreen: more cleanups, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 360/641] Staging: dream: synaptics touchscreen for ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 361/641] Staging: dream, fix buf overflow, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 362/641] Staging: Dream: separate Kconfig/Makefile ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 363/641] Staging: dream: add support for input on G ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 364/641] Staging: dream: Synaptics touchscreen: che ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 365/641] Staging: meilhaus: convert nested spin_loc ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 366/641] Staging: USB-IP code cleanup, Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 367/641] Staging: cpc-usb: convert comment style in ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 368/641] Staging: cpc-usb: convert comment style in ..., Greg Kroah-Hartman, (Tue Sep 15, 12:09 pm)
[PATCH 369/641] Staging: cpc-usb: convert comment style in ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 370/641] Staging: cpc-usb: add one todo entry, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 371/641] Staging: usb-ip: vhci_hdc:Fix the returned ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 373/641] Staging: Correct use of ! and &amp;, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 374/641] Staging: ARRAY_SIZE changes, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 375/641] Staging: dst: correct error-handling code, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 376/641] Staging: rt2870sta interface names, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 377/641] Staging: rt2860: remove dependency on WIRE ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 378/641] Staging: udlfb: fix printk format warning, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 379/641] Staging: serqt_usb2: fix qt_open parameters, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 380/641] Staging: otus: includecheck fix: drivers/s ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 381/641] Staging: vt665x: 64bit compile fixes Part 1, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 382/641] Staging: vt665x: 64bit compile fixes Part 2, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 383/641] Staging: vt6655 textual cleanup in prep fo ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 384/641] Staging: vt665x: Text janitor in prep for ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 385/641] Staging: vt665x: Text janitor in prep for ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 386/641] Staging: vt6655: add TODO, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 387/641] Staging: vt6656: add TODO, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 388/641] Staging: vt665x: Typedef and macro cleanup ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 389/641] Staging: vt665x: Typedef and macro cleanup ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 390/641] Staging: vt665x: Clean up include files, P ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 391/641] Staging: vt665x: Clean up include files, P ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 392/641] Staging: vt665x: Remove umem.h Part 1, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 393/641] Staging: vt665x: Remove umem.h Part 2, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 394/641] Staging: vt665x: remove tpci.h file, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 395/641] Staging: vt665x: remove tpci.h file in vt6656, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 396/641] Staging: vt665x: cleanup USB definitions, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 397/641] Staging: vt665x: remove tbit.h, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 398/641] Staging: vt665x: remove tbit.h part 2, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 399/641] Staging: vt6655: fix possible Read buffer ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 400/641] Staging: VME Framework for the Linux Kernel, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 401/641] Staging: vme: add VME userspace driver, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 402/641] Staging: vme: add Universe I/II bridge driver, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 403/641] Staging: vme: add Tundra TSI148 VME-PCI Br ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 404/641] Staging: vme: add TODO file, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 405/641] Staging: vme: Correct tsi-148 VME interrup ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 406/641] Staging: vme: Extend VME core probing for ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 407/641] Staging: vme: fix {master,slave}_get check bug, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 408/641] Staging: vme: Add syncronize interrupts be ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 409/641] Staging: Update VME vme_user module, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 410/641] Staging: Use proper mutexes in the tsi-148 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 411/641] Staging: vme: add VME Location Monitor man ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 412/641] Staging: vme: Update support for the Unive ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 413/641] Staging: vme: Separate the list of TODOs f ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 414/641] Staging: vme: change to VME_BUS, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 415/641] Staging: remove epl driver, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 416/641] Staging: pata_rdc: remove the driver from ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 417/641] Staging: sep: Upstream revision 3 of the s ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 418/641] Staging: sep: Move the RAR support into st ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 419/641] Staging: rar: fix some initial type problems, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 420/641] Staging: rar/sep: Don't use random VENDOR_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 421/641] Staging: sep: Fix rar build, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 422/641] Staging: rar/sep: Remove C++isms from the ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 423/641] Staging: sep: Create a structure to hold a ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 424/641] Staging: sep: rework write_register/read_r ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 425/641] Staging: sep: We have two different repeat ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 426/641] Staging: sep: do something about all the p ..., Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 427/641] Staging: sep: indent pass, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 428/641] Staging: sep: first pass after indent, Greg Kroah-Hartman, (Tue Sep 15, 12:10 pm)
[PATCH 429/641] Staging: sep: priceless ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 430/641] Staging: sep: Put all the ARM bits together, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 431/641] Staging: sep: function shuffle, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 432/641] Staging: sep: statically initialize the fo ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 433/641] Staging: sep: kill lock wrapper, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 434/641] Staging: sep: merge the two files, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 435/641] Staging: sep: make everything static, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 436/641] Staging: sep: kill off unused code, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 437/641] Staging: sep: squish some of the wrapper f ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 438/641] Staging: sep: forward declaration removal time, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 439/641] Staging: sep: fix time handler, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 440/641] Staging: sep: use O_NDELAY instead of magi ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 441/641] Staging: sep: rename some fields, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 442/641] Staging: sep: Fix PCI irq usage, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 443/641] Staging: sep: Use filp-&gt;private_data to cr ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 444/641] Staging: sep: clean up after switching to ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 445/641] Staging: sep: fix flow API, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 446/641] Staging: sep: load_rom is remarkably verbo ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 447/641] Staging: sep: remove module int macro, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 448/641] Staging: sep: Try and get kernel address a ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 449/641] Staging: sep: remove extra CFLAGS we don't use, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 450/641] Staging: sep: Use the proper allocators fo ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 451/641] Staging: sep: fix a conversion thinko, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 452/641] Staging: sep: various minor tidyups, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 453/641] Staging: sep: tidy firmware load, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 454/641] Staging: sep: Implement some proper open/c ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 455/641] Staging: sep: kick out various fields we c ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 456/641] Staging: sep: flow ioctl cleanup, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 457/641] Staging: sep: clean up command sending, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 458/641] Staging: sep: clean up time, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 459/641] Staging: sep: untangle the register_fs code, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 460/641] Staging: sep: use ioremap helpers, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 461/641] Staging: sep: SEP driver build breaks with ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 462/641] Staging: echo: fix up remaining checkpatch ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 463/641] Staging: echo: remove TODO item, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 464/641] Staging: echo: top bit patch, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 465/641] Staging: echo: remove bit_operations.h, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 466/641] Staging: echo: remove unneeded USE_MMX defines, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 467/641] Staging: echo: remove unneeded USE_SSE2 de ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 468/641] Staging: echo: coding style cleanups, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 469/641] Staging: rtl8192su: compile fixes, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 470/641] Staging: rtl8192su: fix up printk warnings, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 471/641] Staging: rtl8192su: fixup size comparison ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 472/641] Staging: rtl8192su: stop using skb-&gt;tail, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 473/641] Staging: rtl8192su: add linux/vmalloc.h, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 474/641] Staging: rt2870: new USB ID for Belkin N+ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 475/641] Staging: rtl8187se: Fix comment-out-typo, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 476/641] Staging: rt2860: includecheck fix: rt_linux.h, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 477/641] Staging: w35und: Convert MDS typedef to st ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 478/641] Staging: w35und: Remove unused struct _RXB ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 479/641] Staging: w35und: Cleanup the mlmetxrx_f.h ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 480/641] Staging: w35und: Convert typedef DESCRIPTO ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 481/641] Staging: w35und: Remove unused struct _STA ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 482/641] Staging: w35und: Convert typedef MTO_PARAM ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 483/641] Staging: w35und: Remove some write-only st ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 484/641] Staging: rt2870: duplicated code is execut ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 485/641] Staging: rt3070: fix build warnings, Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 486/641] Staging: rtxxx0: remove support for older ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 487/641] Staging: rtxxx0: remove dead platform spec ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 488/641] Staging: rtxxx0: kill RT8270_USB_DEVICES() ..., Greg Kroah-Hartman, (Tue Sep 15, 12:11 pm)
[PATCH 489/641] Staging: rtxxx0: PID checking fixes, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 490/641] Staging: rt3070: kill TimerQThr thread fir ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 491/641] Staging: rtxxx0: kill PID macros, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 492/641] Staging: rtxxx0: remove unused defines, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 493/641] Staging: rtxxx0: unify different RT30xx{Re ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 494/641] Staging: rtxxx0: remove superfluous RT30xx ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 495/641] Staging: rtxxx0: unify RT{USB,MP}FilterCal ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 496/641] Staging: rtxxx0: unify MlmeCheckPsmChange(), Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 497/641] Staging: rtxxx0: unify AsicEvaluateRxAnt(), Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 498/641] Staging: rtxxx0: remove dead DBG_DIAGNOSE code, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 499/641] Staging: rtxxx0: remove dead virtual adapt ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 500/641] Staging: rtxxx0: debug messages fixes, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 501/641] Staging: rtxxx0: remove unused link_list.h, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 502/641] Staging: rtxxx0: remove superfluous functi ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 503/641] Staging: rtxxx0: remove private debugging ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 504/641] Staging: rtxxx0: remove private ioctls, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 505/641] Staging: rtxxx0: remove unused code, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 506/641] Staging: rtxxxx: unify AsicRxAntEvalTimeout(), Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 507/641] Staging: rtxxxx: unify AsicSwitchChannel(), Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 508/641] Staging: rtxx70: unify NICInitRT30xxRFRegi ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 509/641] Staging: rtxxxx: RTMPGetRalinkAuthModeStr( ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 510/641] Staging: rt3070: update allowed channels l ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 511/641] Staging: rt3070: fix PID checking in RTUSB ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 512/641] Staging: rt3070: WEP fixes, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 513/641] Staging: rt3070: AsicSetSlotTime() fix, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 514/641] Staging: rt3070: remove needless EFUSE_TAG ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 515/641] Staging: rt3070: add remaining rt2870 devi ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 516/641] Staging: rt2870: use internal command for ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 517/641] Staging: rt2870: add fRTUSB_BULK_OUT_DATA_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 518/641] Staging: rt28x0: add SIOCGIWNAME support t ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 519/641] Staging: rt28x0: fix GTK length check in P ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 520/641] Staging: rt28x0: fix BPP_R66 register handling, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 521/641] Staging: rt28x0: fix fOP_STATUS_DOZE flag ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 522/641] Staging: rt28x0 fix BACapability policy ha ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 523/641] Staging: rt28x0: AsicSwitchChannel() fix, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 524/641] Staging: rt28x0: BssTableSetEntry() fix, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 525/641] Staging: rt28x0: MlmeSelectTxRateTable() fix, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 526/641] Staging: rt28x0: MlmeCheckPsmChange() fix, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 527/641] Staging: rt28x0: MlmeAssocReqAction() fixe ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 528/641] Staging: rt28x0: rt_ioctl_siwencode() fixes, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 529/641] Staging: rt28x0: LinkUp() fixes, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 530/641] Staging: rt3070: remove unused MiniportDat ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 531/641] Staging: rt3070: remove unused RT_CMD_SET_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 532/641] Staging: rt2870: remove SHOW_ADHOC_ENTRY_I ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 533/641] Staging: rtxxxx: remove unused AsicAntenna ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 534/641] Staging: rt2870: add eFuse support, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 535/641] Staging: rt2870: add Antenna Diversity support, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 536/641] Staging: rtxx70: merge rt3070 with rt2870, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 537/641] Staging: rt2870: remove old firmware, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 538/641] Staging: remove no longer needed rt3070 driver, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 539/641] Staging: rt2860: Fix test in rt_ioctl_siwf ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 540/641] Staging: rt{2860, 2870, 3070}sta: Remove u ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 541/641] staging: Make some structures static, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 542/641] Staging: IIO: core support for device regi ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 543/641] Staging: IIO: max1363 ADC driver, Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 544/641] Staging: IIO: tsl2561 digital light sensor ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 545/641] Staging: IIO: lis3l02dq accelerometer core ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 546/641] Staging: IIO: kxsd9 accelerometer minimal ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 547/641] Staging: IIO: Add generic ring buffer supp ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 548/641] Staging: IIO: VTI sca3000 series accelerom ..., Greg Kroah-Hartman, (Tue Sep 15, 12:12 pm)
[PATCH 549/641] Staging: IIO: Trigger support added to core., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 550/641] Staging: IIO: Ring buffer: Initial pass at ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 551/641] Staging: IIO: lis3l02dq ring buffer and da ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 552/641] Staging: IIO: max1363 add software ring bu ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 553/641] Staging: IIO: Periodic timer based trigger, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 554/641] Staging: IIO: Proof of concept gpio trigger, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 555/641] Staging: IIO: Initial documentation, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 556/641] Staging: IIO: Add todo list for staging, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 557/641] Staging: iio: Fix type warnings, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 558/641] Staging: iio: fix duplicate dev_attr_name, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 559/641] Staging: altpciechdma: 64bit type warning fix, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 560/641] Staging: pohmelfs: fix atomic type spew, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 561/641] Staging: pohmelfs: fix type errors, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 562/641] Staging: et1310: kill pAdapter in favour o ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 563/641] Staging: et131x: spinlocks, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 564/641] Staging: et131x: power state, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 565/641] Staging: et131x: kill unused RCV_REF macros, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 566/641] Staging et131x: kill refcount, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 567/641] Staging: et131x: MPSend macros, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 568/641] Staging: et131x: kill copied PCI fields, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 569/641] Staging: et131x: Take a kref for the PCI p ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 570/641] Staging: et131x: CSRAddress to regs, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 571/641] Staging: et131x: Eliminate RegistryDMA Cache, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 572/641] Staging: et131x: eliminate write only regi ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 573/641] Staging: et131x: clean up constant rx/tx r ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 574/641] Staging: et131x: attack the config stuff, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 575/641] Staging: et131x: config is already zeroed, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 576/641] Staging: et131x: fold the diet config into ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 577/641] Staging: et131x: de-hungarianise a bit, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 578/641] Staging: et131x: continue pruning unused f ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 579/641] Staging: et131x: remove unused PCI identifiers, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 580/641] Staging: et131x: eeprom remove features, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 581/641] Staging: et131x: sort out the mmc enable r ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 582/641] Staging: et131x: clean up MMC_SRAM_, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 583/641] Staging: et131x: quick tidy of the debug code, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 584/641] Staging: et131x: kill the Q_ADDR struct, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 585/641] Staging: et131x: clean up PM_CSR_t, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 586/641] Staging: et131x: clean up DMA10/DMA4 types, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 587/641] Staging: et131x: clean up MP_FLAG macros, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 588/641] Staging: et131x: kill the interrupt magic ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 589/641] Staging: et131x: put the jagcore routines ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 590/641] Staging: et131x: kill MSI type, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 591/641] Staging: et131x: kill the loopback type, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 592/641] Staging: et131x: prune all the debug code, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 593/641] Staging: et131x: re-order the initpci code ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 594/641] Staging: et131x: kill off the TXDMA error type, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 595/641] Staging: et131x: kill off the TXDMA CSR type, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 596/641] Staging: panel: Add support for TI CLCD in ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 597/641] Staging: rspiusb: Check usb_buffer_map_sg( ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 598/641] Staging: comedi: apci3200: fix test of ui_ ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 599/641] Staging: agnx: remove flush_workqueue(), Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 600/641] Staging: pohmelfs: sync with the developme ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 601/641] Staging: add Realtek 8192 PCI wireless driver, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 602/641] Staging: rtl8192e: fix lots of sparse warnings, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 603/641] Staging: rtl8192e: remove unused functions, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 604/641] Staging: rtl8192e: compile fixes, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 605/641] Staging: rtl8192e: remove #if 0 sections, Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 606/641] Staging: rtl8192e: remove kernel version c ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 607/641] Staging: rtl8192e: remove firmware header ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 608/641] Staging: rtl8192e: remove another firmware ..., Greg Kroah-Hartman, (Tue Sep 15, 12:13 pm)
[PATCH 609/641] Staging: rtl8192e: coding style cleanups o ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 610/641] Staging: rtl8192e: remove unneeded ieee802 ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 611/641] Staging: rtl8192e: remove annoying printk(), Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 612/641] Staging: rtl8192e: fix for stack bug, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 613/641] Staging: rtl8192e: fix timeouts on firmwar ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 614/641] Staging: add cowloop driver, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 615/641] Staging: get cowloop to build properly, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 616/641] Staging: cowloop: add TODO file, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 617/641] Staging: add cowloop to the build, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 618/641] Staging: cowloop: remove kernel version checks, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 619/641] Staging: vt665x: rename the module binary, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 620/641] Staging: rtl8192e: Drop unnecessary NULL test, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 621/641] Staging: rt2860: fix possible NULL derefer ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 622/641] Staging: asus_oled: Cleaned up checkpatch ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 623/641] Staging: rt3090: add device id 1462:891a, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 624/641] Staging: rt2860: add new device ids, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 625/641] Staging: rt2860/rt2870/rt3070/rt3090: fix ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 626/641] Staging: rt3090: remove possible conflict ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 627/641] Staging: rt3090: rename device from raX to ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 628/641] Staging: rt3090: port changes in WPA_MIX_P ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 629/641] Staging: rt3090: enable NATIVE_WPA_SUPPLIC ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 630/641] Staging: vt665x: fix built-in compiling, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 631/641] Staging: comedi: addi-data: NULL dereferen ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 632/641] Staging: dream: introduce missing kfree, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 633/641] Staging: iio: introduce missing kfree, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 634/641] Staging: line6: pod.c: style cleanups, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 635/641] Staging: line6: ffzb returns an unsigned i ..., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 636/641] Staging: remove me4000 driver., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 637/641] Staging: meilhaus: remove the drivers, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 638/641] Staging: rspiusb: remove the driver, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 639/641] Staging: remove at76_usb wireless driver., Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 640/641] Staging: remove heci driver, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
[PATCH 641/641] Staging: remove sxg driver, Greg Kroah-Hartman, (Tue Sep 15, 12:14 pm)
Re: [PATCH 140/641] Staging: HTC Dream: add smd code, Brian Swetland, (Tue Sep 15, 12:26 pm)
Re: [PATCH 140/641] Staging: HTC Dream: add smd code, Pavel Machek, (Tue Sep 15, 3:49 pm)
Re: [GIT PATCH] STAGING patches for 2.6.31-git, Linus Torvalds, (Wed Sep 16, 8:26 am)
Re: [GIT PATCH] STAGING patches for 2.6.31-git, Greg KH, (Wed Sep 16, 8:34 am)
RE: [PATCH 355/641] Staging: hv: update the TODO file, Hank Janssen, (Thu Sep 17, 1:11 am)