serial: 8250: add driver for NI UARTs
The commit 3923a06fb90ac9776b0d26dd9cc1244d0bd19539 addresses upstream feedback and is meant to be submitted to tty/tty-next (i.e., 6.14 kernel). I've removed device tree changes out of the upstream changes in the interest of time/testing.
Commits 0288229aa12267be6419932fdd58771e2f7879c2 and 70830971435593acacfa321779e75ae0b2b04764 are required to be compatible with 6.6 kernel.
Testing
- [x] Boot tested on cRIO-9045
- [x] Ran NI-Serial ATS tests (which test NI-Serial hardware with the cRIO's built-in ports)
Questions for Reviewers
- Any changes required in commit msg for 3923a06fb90ac9776b0d26dd9cc1244d0bd19539? Regarding adding contributors/more signoffs/, etc. I'm not very familiar with this.
@sjasonsmith not able to add you to reviewers for some reason, so pinging you here.
@chaitu236 @sjasonsmith I think I get the idea behind having one back-port commit https://github.com/ni/linux/pull/205/commits/3923a06fb90ac9776b0d26dd9cc1244d0bd19539 and then additional commits to make it work on 6.6 (with the idea being that we can drop them when we upgrade).
However in order for those separate commits to be useful and us to know when they can be kept/dropped in the future we need better commit messages.
Specifically:
https://github.com/ni/linux/pull/205/commits/0288229aa12267be6419932fdd58771e2f7879c2
serial: 8250: Return int from platform_driver::remove()
Make remove callback compatible with 6.6 kernel.
This commit message needs additional information about which commit changed the signature of platform_driver::remove() and (optionally) when it was introduced.
https://github.com/ni/linux/pull/205/commits/70830971435593acacfa321779e75ae0b2b04764
serial: 8250: Remove support for SER_RS485_MODE_RS422
Remove references to SER_RS485_MODE_RS422 which was introduced after
6.6.
Same here, when was it introduced? By what commit?
https://github.com/ni/linux/pull/205/commits/1b7d5d2bff3c3fd1c90df7ec4d131f828b27c052
serial: 8250: Add device tree support
Signed-off-by: Chaitanya Vadrevu <[email protected]>
This commit message makes it sound like you are adding device tree support for all 8250 drivers. You need 8250_ni in the subject or details in the description.
Other than these nitpicks looks good to me.
Updated "serial: 8250: add driver for NI UARTs " 7924903d4bab523a1a53510a2bad14a3ff36e95b with co-developed-by and signed-off-by tags from @sjasonsmith.
Original intention with keeping 6.6 specific and dt specific commits separate was so if upstream were to ask for more changes, we could easily apply the 6.6, dt specific changes on top. But since that'd require reverting all of those commits and reapplying, the commit history wouldn't look great.
So, we decided to squash all commits for merging to nilrt/master/6.6 but keep around the original split commits in a dev branch (https://github.com/chaitu236/linux/commits/dev/cvadrevu/6.6-ni16550-pr-save/. HEAD hash 907bf3ae235663d323e1cbbb06de7cb092d502f7).
Rebased on latest nilrt/master/6.6
@gratian this can be merged now.