All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Hung <hpeter@gmail.com>
To: johan@kernel.org
Cc: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org, tom_tsai@fintek.com.tw,
	peter_hong@fintek.com.tw, hpeter@gmail.com,
	Peter Hung <hpeter+linux_kernel@gmail.com>
Subject: [PATCH V8 00/10] USB: f81232: V8 patches
Date: Thu, 26 Feb 2015 18:02:06 +0800	[thread overview]
Message-ID: <1424944936-7117-1-git-send-email-hpeter+linux_kernel@gmail.com> (raw)

This series patch V8 is changed from V7 as following:

1. The V7 MSR strange delta value is checked with locking problem. We changed
   f81232_set_mctrl() & f81232_read_msr() lock mechanism, the old version is
   only locked with variable protection, new version will lock from start to
   end with these 2 function.   
2. f81232_set_baudrate() add error handling and no longer handle with baudrate
   B0, change to handle with f81232_set_termios()
3. When user set baudrate larger then 115200, we will change it with 115200
   and tty_encode_baud_rate() in f81232_set_termios().
4. V7 f81232_set_baudrate() divisor declared with type u8, it will make 
   baudrate set failed with smaller then B600 (115200/300=384 overflow :Q).
   We changed it with integer type for divisor larger then 256.
   
V7 (old change):

1. The buffer of usb_control_msg() in set_register()/get_register() are change
   from local variable to kmalloc(). (PATCH V7 02/11)
2. Change all set_register()/get_register() return value 0 is success, 
   otherwise are failed. ( return 0 of usb_control_msg() treat as -EIO, 
   PATCH V7 02/11)
3. tty_port_tty_get() called only when DCD has changed. (PATCH V7 05/11)  
4. remove likely()/unlikely() branch prediction.
5. Implement DTR/RTS control when baudrate B0. We drop DTR/RTS when B0, 
   otherwise enable it. (PATCH V7 08/11)
6. Change private struct line_control to modem_control with meanful. 
   (PATCH V7 06/11)
7. We confirmd MSR strange delta value is not locking-issue. The issue
   maybe reproduce with set MCR & get MSR before IIR notice with MSR changed.
   
V6 (old change):

1. transform all function not to use private data as parameter, using
   usb_serial_port instead.
2. process_read_urb() add process of Break/FrameError/ParityError/OE.
   (patch: 03/10)
3. fix calc_baud_divisor() will cause divide by zero with B0. (patch: 04/10)
4. Some init step we extract it from set_termios() to f81232_port_init()
   and run it when open port only. (patch: 04/10)
5. We'll force re-read msr in tiocmget() because the IIR with MSR change
   maybe delay received. (patch: 05/10)
6. fix MSR status bits changed but delta bits is 0 will cause read serial port
   malfunctional with update port status. (patch: 08/10)
7. Add MSR change statistic when MSR has been read. (patch: 09/10)   
8. clarify a lot of code about Johan suggested.

Peter Hung (10):
  USB: f81232: rename private struct member name
  USB: f81232: implement RX bulk-in EP
  USB: f81232: change lock mechanism
  USB: f81232: implement read IIR/MSR with endpoint
  USB: f81232: implement MCR/MSR function
  USB: f81232: implement port enable/disable method
  USB: f81232: implement set_termios()
  USB: f81232: clarify f81232_ioctl() and fix
  USB: f81232: cleanup non-used define
  USB: f81232: modify/add author

 drivers/usb/serial/f81232.c | 551 ++++++++++++++++++++++++++++++++++++--------
 1 file changed, 453 insertions(+), 98 deletions(-)

-- 
1.9.1


             reply	other threads:[~2015-02-26 10:02 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-26 10:02 Peter Hung [this message]
2015-02-26 10:02 ` [PATCH V8 01/10] USB: f81232: rename private struct member name Peter Hung
2015-02-26 10:02 ` [PATCH V8 02/10] USB: f81232: implement RX bulk-in EP Peter Hung
2015-03-14 11:48   ` Johan Hovold
2015-03-16  2:53     ` Peter Hung
2015-03-16  8:52       ` Johan Hovold
2015-03-16  9:15         ` Peter Hung
2015-02-26 10:02 ` [PATCH V8 03/10] USB: f81232: change lock mechanism Peter Hung
2015-02-26 10:02 ` [PATCH V8 04/10] USB: f81232: implement read IIR/MSR with endpoint Peter Hung
2015-03-14 12:02   ` Johan Hovold
2015-03-16  3:08     ` Peter Hung
2015-03-16  8:55       ` Johan Hovold
2015-03-16  9:18         ` Peter Hung
2015-02-26 10:02 ` [PATCH V8 05/10] USB: f81232: implement MCR/MSR function Peter Hung
2015-03-14 12:09   ` Johan Hovold
2015-02-26 10:02 ` [PATCH V8 06/10] USB: f81232: implement port enable/disable method Peter Hung
2015-02-26 10:02 ` [PATCH V8 07/10] USB: f81232: implement set_termios() Peter Hung
2015-03-14 12:24   ` Johan Hovold
2015-02-26 10:02 ` [PATCH V8 08/10] USB: f81232: clarify f81232_ioctl() and fix Peter Hung
2015-03-14 12:27   ` Johan Hovold
2015-02-26 10:02 ` [PATCH V8 09/10] USB: f81232: cleanup non-used define Peter Hung
2015-02-26 10:02 ` [PATCH V8 10/10] USB: f81232: modify/add author Peter Hung
2015-03-05  5:59 ` [PATCH V8 00/10] USB: f81232: V8 patches Peter Hung
2015-03-05  7:03   ` Johan Hovold
2015-03-14 12:30     ` Johan Hovold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1424944936-7117-1-git-send-email-hpeter+linux_kernel@gmail.com \
    --to=hpeter@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpeter+linux_kernel@gmail.com \
    --cc=johan@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=peter_hong@fintek.com.tw \
    --cc=tom_tsai@fintek.com.tw \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.