Skip to content

Commit 3ad7945

Browse files
committed
Merge tag 'tty-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty / serial driver updates from Greg KH: "Here is the small amount of tty and serial driver updates for 7.0-rc1. Nothing major in here at all, just some driver updates and minor tweaks and cleanups including: - sh-sci serial driver updates - 8250 driver updates - attempt to make the tty ports have their own workqueue, but was reverted after testing found it to have problems on some platforms. This will probably come back for 7.1 after it has been reworked and resubmitted - other tiny tty driver changes All of these have been in linux-next for a while with no reported problems" * tag 'tty-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (49 commits) Revert "tty: tty_port: add workqueue to flip TTY buffer" tty: tty_port: add workqueue to flip TTY buffer serial: 8250_pci: Remove custom deprecated baud setting routine serial: 8250_omap: Remove custom deprecated baud setting routine dt-bindings: serial: renesas,scif: Document RZ/G3L SoC serial: 8250: omap: set out-of-band wakeup if wakeup pinctrl exists tty: hvc-iucv: Remove KMSG_COMPONENT macro dt-bindings: serial: google,goldfish-tty: Convert to DT schema dt-bindings: serial: sh-sci: Fold single-entry compatibles into enum serial: 8250: 8250_omap.c: Clear DMA RX running status only after DMA termination is done serial: 8250: 8250_omap.c: Add support for handling UART error conditions serial: SH_SCI: improve "DMA support" prompt serial: Kconfig: fix ordering of entries for menu display serial: 8250: fix ordering of entries for menu display serial: imx: change SERIAL_IMX_CONSOLE to bool 8250_men_mcb: drop unneeded MODULE_ALIAS serial: men_z135_uart: drop unneeded MODULE_ALIAS dt-bindings: serial: renesas,rsci: Document RZ/V2H(P) and RZ/V2N SoCs serial: rsci: Convert to FIELD_MODIFY() dt-bindings: serial: 8250: add SpacemiT K3 UART compatible ...
2 parents a5f22b9 + 0a15f43 commit 3ad7945

26 files changed

Lines changed: 797 additions & 415 deletions

File tree

Documentation/devicetree/bindings/goldfish/tty.txt

Lines changed: 0 additions & 17 deletions
This file was deleted.

Documentation/devicetree/bindings/serial/8250.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ properties:
160160
- enum:
161161
- mrvl,mmp-uart
162162
- spacemit,k1-uart
163+
- spacemit,k3-uart
163164
- const: intel,xscale-uart
164165
- items:
165166
- enum:
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/serial/google,goldfish-tty.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Google Goldfish TTY
8+
9+
maintainers:
10+
- Kuan-Wei Chiu <visitorckw@gmail.com>
11+
12+
allOf:
13+
- $ref: /schemas/serial/serial.yaml#
14+
15+
description:
16+
Android goldfish TTY device generated by Android emulator.
17+
18+
properties:
19+
compatible:
20+
const: google,goldfish-tty
21+
22+
reg:
23+
maxItems: 1
24+
25+
interrupts:
26+
maxItems: 1
27+
28+
required:
29+
- compatible
30+
- reg
31+
- interrupts
32+
33+
unevaluatedProperties: false
34+
35+
examples:
36+
- |
37+
serial@1f004000 {
38+
compatible = "google,goldfish-tty";
39+
reg = <0x1f004000 0x1000>;
40+
interrupts = <12>;
41+
};

Documentation/devicetree/bindings/serial/renesas,rsci.yaml

Lines changed: 93 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,46 +10,78 @@ maintainers:
1010
- Geert Uytterhoeven <geert+renesas@glider.be>
1111
- Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
1212

13-
allOf:
14-
- $ref: serial.yaml#
15-
1613
properties:
1714
compatible:
1815
oneOf:
16+
- enum:
17+
- renesas,r9a09g047-rsci # RZ/G3E
18+
- renesas,r9a09g077-rsci # RZ/T2H
19+
1920
- items:
20-
- const: renesas,r9a09g087-rsci # RZ/N2H
21-
- const: renesas,r9a09g077-rsci # RZ/T2H
21+
- enum:
22+
- renesas,r9a09g056-rsci # RZ/V2N
23+
- renesas,r9a09g057-rsci # RZ/V2H(P)
24+
- const: renesas,r9a09g047-rsci
2225

2326
- items:
27+
- const: renesas,r9a09g087-rsci # RZ/N2H
2428
- const: renesas,r9a09g077-rsci # RZ/T2H
2529

2630
reg:
2731
maxItems: 1
2832

2933
interrupts:
34+
minItems: 4
3035
items:
3136
- description: Error interrupt
3237
- description: Receive buffer full interrupt
3338
- description: Transmit buffer empty interrupt
3439
- description: Transmit end interrupt
40+
- description: Active edge detection interrupt
41+
- description: Break field detection interrupt
3542

3643
interrupt-names:
44+
minItems: 4
3745
items:
3846
- const: eri
3947
- const: rxi
4048
- const: txi
4149
- const: tei
50+
- const: aed
51+
- const: bfd
4252

4353
clocks:
4454
minItems: 2
45-
maxItems: 3
55+
maxItems: 6
4656

4757
clock-names:
48-
minItems: 2
58+
oneOf:
59+
- items:
60+
- const: operation
61+
- const: bus
62+
- const: sck # optional external clock input
63+
64+
minItems: 2
65+
66+
- items:
67+
- const: pclk
68+
- const: tclk
69+
- const: tclk_div4
70+
- const: tclk_div16
71+
- const: tclk_div64
72+
- const: sck # optional external clock input
73+
74+
minItems: 5
75+
76+
resets:
4977
items:
50-
- const: operation
51-
- const: bus
52-
- const: sck # optional external clock input
78+
- description: Input for resetting the APB clock
79+
- description: Input for resetting TCLK
80+
81+
reset-names:
82+
items:
83+
- const: presetn
84+
- const: tresetn
5385

5486
power-domains:
5587
maxItems: 1
@@ -62,6 +94,57 @@ required:
6294
- clock-names
6395
- power-domains
6496

97+
allOf:
98+
- $ref: serial.yaml#
99+
100+
- if:
101+
properties:
102+
compatible:
103+
contains:
104+
const: renesas,r9a09g077-rsci
105+
then:
106+
properties:
107+
interrupts:
108+
maxItems: 4
109+
110+
interrupt-names:
111+
maxItems: 4
112+
113+
clocks:
114+
minItems: 2
115+
maxItems: 3
116+
117+
clock-names:
118+
minItems: 2
119+
maxItems: 3
120+
121+
resets: false
122+
123+
- if:
124+
properties:
125+
compatible:
126+
contains:
127+
const: renesas,r9a09g047-rsci
128+
then:
129+
properties:
130+
interrupts:
131+
minItems: 6
132+
133+
interrupt-names:
134+
minItems: 6
135+
136+
clocks:
137+
minItems: 5
138+
maxItems: 6
139+
140+
clock-names:
141+
minItems: 5
142+
maxItems: 6
143+
144+
required:
145+
- resets
146+
- reset-names
147+
65148
unevaluatedProperties: false
66149

67150
examples:

Documentation/devicetree/bindings/serial/renesas,scif.yaml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,16 @@ maintainers:
1212
properties:
1313
compatible:
1414
oneOf:
15+
- enum:
16+
- renesas,scif-r7s9210 # RZ/A2
17+
- renesas,scif-r9a07g044 # RZ/G2{L,LC}
18+
- renesas,scif-r9a09g057 # RZ/V2H(P)
19+
1520
- items:
1621
- enum:
1722
- renesas,scif-r7s72100 # RZ/A1H
1823
- const: renesas,scif # generic SCIF compatible UART
1924

20-
- items:
21-
- enum:
22-
- renesas,scif-r7s9210 # RZ/A2
23-
2425
- items:
2526
- enum:
2627
- renesas,scif-r8a7778 # R-Car M1
@@ -76,19 +77,14 @@ properties:
7677
- const: renesas,rcar-gen5-scif # R-Car Gen5
7778
- const: renesas,scif # generic SCIF compatible UART
7879

79-
- items:
80-
- enum:
81-
- renesas,scif-r9a07g044 # RZ/G2{L,LC}
82-
8380
- items:
8481
- enum:
8582
- renesas,scif-r9a07g043 # RZ/G2UL and RZ/Five
8683
- renesas,scif-r9a07g054 # RZ/V2L
8784
- renesas,scif-r9a08g045 # RZ/G3S
85+
- renesas,scif-r9a08g046 # RZ/G3L
8886
- const: renesas,scif-r9a07g044 # RZ/G2{L,LC} fallback
8987

90-
- const: renesas,scif-r9a09g057 # RZ/V2H(P)
91-
9288
- items:
9389
- enum:
9490
- renesas,scif-r9a09g047 # RZ/G3E

Documentation/misc-devices/oxsemi-tornado.rst

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -89,31 +89,7 @@ With the baud base set to 15625000 and the unsigned 16-bit UART_DIV_MAX
8989
limitation imposed by ``serial8250_get_baud_rate`` standard baud rates
9090
below 300bps become unavailable in the regular way, e.g. the rate of
9191
200bps requires the baud base to be divided by 78125 and that is beyond
92-
the unsigned 16-bit range. The historic spd_cust feature can still be
93-
used by encoding the values for, the prescaler, the oversampling rate
94-
and the clock divisor (DLM/DLL) as follows to obtain such rates if so
95-
required:
96-
97-
::
98-
99-
31 29 28 20 19 16 15 0
100-
+-----+-----------------+-------+-------------------------------+
101-
|0 0 0| CPR2:CPR | TCR | DLM:DLL |
102-
+-----+-----------------+-------+-------------------------------+
103-
104-
Use a value such encoded for the ``custom_divisor`` field along with the
105-
ASYNC_SPD_CUST flag set in the ``flags`` field in ``struct serial_struct``
106-
passed with the TIOCSSERIAL ioctl(2), such as with the setserial(8)
107-
utility and its ``divisor`` and ``spd_cust`` parameters, and then select
108-
the baud rate of 38400bps. Note that the value of 0 in TCR sets the
109-
oversampling rate to 16 and prescaler values below 1 in CPR2/CPR are
110-
clamped by the driver to 1.
111-
112-
For example the value of 0x1f4004e2 will set CPR2/CPR, TCR and DLM/DLL
113-
respectively to 0x1f4, 0x0 and 0x04e2, choosing the prescaler value,
114-
the oversampling rate and the clock divisor of 62.500, 16 and 1250
115-
respectively. These parameters will set the baud rate for the serial
116-
port to 62500000 / 62.500 / 1250 / 16 = 50bps.
92+
the unsigned 16-bit range.
11793

11894
Maciej W. Rozycki <macro@orcam.me.uk>
11995

drivers/bluetooth/hci_aml.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -677,13 +677,6 @@ static const struct hci_uart_proto aml_hci_proto = {
677677
.dequeue = aml_dequeue,
678678
};
679679

680-
static void aml_device_driver_shutdown(struct device *dev)
681-
{
682-
struct aml_serdev *amldev = dev_get_drvdata(dev);
683-
684-
aml_power_off(amldev);
685-
}
686-
687680
static int aml_serdev_probe(struct serdev_device *serdev)
688681
{
689682
struct aml_serdev *amldev;
@@ -714,6 +707,13 @@ static void aml_serdev_remove(struct serdev_device *serdev)
714707
hci_uart_unregister_device(&amldev->serdev_hu);
715708
}
716709

710+
static void aml_serdev_shutdown(struct serdev_device *serdev)
711+
{
712+
struct aml_serdev *amldev = serdev_device_get_drvdata(serdev);
713+
714+
aml_power_off(amldev);
715+
}
716+
717717
static const struct aml_device_data data_w155s2 = {
718718
.iccm_offset = 256 * 1024,
719719
};
@@ -732,10 +732,10 @@ MODULE_DEVICE_TABLE(of, aml_bluetooth_of_match);
732732
static struct serdev_device_driver aml_serdev_driver = {
733733
.probe = aml_serdev_probe,
734734
.remove = aml_serdev_remove,
735+
.shutdown = aml_serdev_shutdown,
735736
.driver = {
736737
.name = "hci_uart_aml",
737738
.of_match_table = aml_bluetooth_of_match,
738-
.shutdown = aml_device_driver_shutdown,
739739
},
740740
};
741741

drivers/bluetooth/hci_qca.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2570,11 +2570,10 @@ static void qca_serdev_remove(struct serdev_device *serdev)
25702570
hci_uart_unregister_device(&qcadev->serdev_hu);
25712571
}
25722572

2573-
static void qca_serdev_shutdown(struct device *dev)
2573+
static void qca_serdev_shutdown(struct serdev_device *serdev)
25742574
{
25752575
int ret;
25762576
int timeout = msecs_to_jiffies(CMD_TRANS_TIMEOUT_MS);
2577-
struct serdev_device *serdev = to_serdev_device(dev);
25782577
struct qca_serdev *qcadev = serdev_device_get_drvdata(serdev);
25792578
struct hci_uart *hu = &qcadev->serdev_hu;
25802579
struct hci_dev *hdev = hu->hdev;
@@ -2796,11 +2795,11 @@ static void hciqca_coredump(struct device *dev)
27962795
static struct serdev_device_driver qca_serdev_driver = {
27972796
.probe = qca_serdev_probe,
27982797
.remove = qca_serdev_remove,
2798+
.shutdown = qca_serdev_shutdown,
27992799
.driver = {
28002800
.name = "hci_uart_qca",
28012801
.of_match_table = of_match_ptr(qca_bluetooth_of_match),
28022802
.acpi_match_table = ACPI_PTR(qca_bluetooth_acpi_match),
2803-
.shutdown = qca_serdev_shutdown,
28042803
.pm = &qca_pm_ops,
28052804
#ifdef CONFIG_DEV_COREDUMP
28062805
.coredump = hciqca_coredump,

drivers/platform/surface/aggregator/core.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -380,9 +380,9 @@ static int ssam_serdev_setup(struct acpi_device *ssh, struct serdev_device *serd
380380

381381
/* -- Power management. ----------------------------------------------------- */
382382

383-
static void ssam_serial_hub_shutdown(struct device *dev)
383+
static void ssam_serial_hub_shutdown(struct serdev_device *serdev)
384384
{
385-
struct ssam_controller *c = dev_get_drvdata(dev);
385+
struct ssam_controller *c = dev_get_drvdata(&serdev->dev);
386386
int status;
387387

388388
/*
@@ -834,12 +834,12 @@ MODULE_DEVICE_TABLE(of, ssam_serial_hub_of_match);
834834
static struct serdev_device_driver ssam_serial_hub = {
835835
.probe = ssam_serial_hub_probe,
836836
.remove = ssam_serial_hub_remove,
837+
.shutdown = ssam_serial_hub_shutdown,
837838
.driver = {
838839
.name = "surface_serial_hub",
839840
.acpi_match_table = ACPI_PTR(ssam_serial_hub_acpi_match),
840841
.of_match_table = of_match_ptr(ssam_serial_hub_of_match),
841842
.pm = &ssam_serial_hub_pm_ops,
842-
.shutdown = ssam_serial_hub_shutdown,
843843
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
844844
},
845845
};

0 commit comments

Comments
 (0)