Skip to content

Commit 038c4bf

Browse files
committed
Merge branch 'ib/5.17-cros-ec-keyb' into next
Merge changes to ChromeOS EC Keyboard driver.
2 parents c853246 + d95bca4 commit 038c4bf

File tree

73 files changed

+405
-328
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+405
-328
lines changed

Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,16 @@ description: |
1515
Google's ChromeOS EC Keyboard is a simple matrix keyboard
1616
implemented on a separate EC (Embedded Controller) device. It provides
1717
a message for reading key scans from the EC. These are then converted
18-
into keycodes for processing by the kernel.
19-
20-
allOf:
21-
- $ref: "/schemas/input/matrix-keymap.yaml#"
18+
into keycodes for processing by the kernel. This device also supports
19+
switches/buttons like power and volume buttons.
2220
2321
properties:
2422
compatible:
25-
const: google,cros-ec-keyb
23+
oneOf:
24+
- description: ChromeOS EC with only buttons/switches
25+
const: google,cros-ec-keyb-switches
26+
- description: ChromeOS EC with keyboard and possibly buttons/switches
27+
const: google,cros-ec-keyb
2628

2729
google,needs-ghost-filter:
2830
description:
@@ -41,15 +43,31 @@ properties:
4143
where the lower 16 bits are reserved. This property is specified only
4244
when the keyboard has a custom design for the top row keys.
4345
46+
dependencies:
47+
function-row-phsymap: [ 'linux,keymap' ]
48+
google,needs-ghost-filter: [ 'linux,keymap' ]
49+
4450
required:
4551
- compatible
4652

53+
if:
54+
properties:
55+
compatible:
56+
contains:
57+
const: google,cros-ec-keyb
58+
then:
59+
$ref: "/schemas/input/matrix-keymap.yaml#"
60+
required:
61+
- keypad,num-rows
62+
- keypad,num-columns
63+
- linux,keymap
64+
4765
unevaluatedProperties: false
4866

4967
examples:
5068
- |
5169
#include <dt-bindings/input/input.h>
52-
cros-ec-keyb {
70+
keyboard-controller {
5371
compatible = "google,cros-ec-keyb";
5472
keypad,num-rows = <8>;
5573
keypad,num-columns = <13>;
@@ -113,3 +131,9 @@ examples:
113131
/* UP LEFT */
114132
0x070b0067 0x070c0069>;
115133
};
134+
- |
135+
/* No matrix keyboard, just buttons/switches */
136+
keyboard-controller {
137+
compatible = "google,cros-ec-keyb-switches";
138+
};
139+
...

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13382,6 +13382,7 @@ F: net/core/drop_monitor.c
1338213382
NETWORKING DRIVERS
1338313383
M: "David S. Miller" <davem@davemloft.net>
1338413384
M: Jakub Kicinski <kuba@kernel.org>
13385+
M: Paolo Abeni <pabeni@redhat.com>
1338513386
L: netdev@vger.kernel.org
1338613387
S: Maintained
1338713388
Q: https://patchwork.kernel.org/project/netdevbpf/list/
@@ -13428,6 +13429,7 @@ F: tools/testing/selftests/drivers/net/dsa/
1342813429
NETWORKING [GENERAL]
1342913430
M: "David S. Miller" <davem@davemloft.net>
1343013431
M: Jakub Kicinski <kuba@kernel.org>
13432+
M: Paolo Abeni <pabeni@redhat.com>
1343113433
L: netdev@vger.kernel.org
1343213434
S: Maintained
1343313435
Q: https://patchwork.kernel.org/project/netdevbpf/list/

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 5
33
PATCHLEVEL = 17
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc8
5+
EXTRAVERSION =
66
NAME = Superb Owl
77

88
# *DOCUMENTATION*

arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -253,18 +253,18 @@
253253
interrupt-controller;
254254
reg = <0x14 4>;
255255
interrupt-map =
256-
<0 0 &gic 0 0 GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
257-
<1 0 &gic 0 0 GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
258-
<2 0 &gic 0 0 GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
259-
<3 0 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
260-
<4 0 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
261-
<5 0 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
262-
<6 0 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
263-
<7 0 &gic 0 0 GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
264-
<8 0 &gic 0 0 GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
265-
<9 0 &gic 0 0 GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
266-
<10 0 &gic 0 0 GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
267-
<11 0 &gic 0 0 GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
256+
<0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
257+
<1 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
258+
<2 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
259+
<3 0 &gic GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
260+
<4 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
261+
<5 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
262+
<6 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
263+
<7 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
264+
<8 0 &gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
265+
<9 0 &gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
266+
<10 0 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
267+
<11 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
268268
interrupt-map-mask = <0xffffffff 0x0>;
269269
};
270270
};

arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -293,18 +293,18 @@
293293
interrupt-controller;
294294
reg = <0x14 4>;
295295
interrupt-map =
296-
<0 0 &gic 0 0 GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
297-
<1 0 &gic 0 0 GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
298-
<2 0 &gic 0 0 GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
299-
<3 0 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
300-
<4 0 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
301-
<5 0 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
302-
<6 0 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
303-
<7 0 &gic 0 0 GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
304-
<8 0 &gic 0 0 GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
305-
<9 0 &gic 0 0 GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
306-
<10 0 &gic 0 0 GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
307-
<11 0 &gic 0 0 GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
296+
<0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
297+
<1 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
298+
<2 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
299+
<3 0 &gic GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
300+
<4 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
301+
<5 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
302+
<6 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
303+
<7 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
304+
<8 0 &gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
305+
<9 0 &gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
306+
<10 0 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
307+
<11 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
308308
interrupt-map-mask = <0xffffffff 0x0>;
309309
};
310310
};

arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -680,18 +680,18 @@
680680
interrupt-controller;
681681
reg = <0x14 4>;
682682
interrupt-map =
683-
<0 0 &gic 0 0 GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
684-
<1 0 &gic 0 0 GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
685-
<2 0 &gic 0 0 GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
686-
<3 0 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
687-
<4 0 &gic 0 0 GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
688-
<5 0 &gic 0 0 GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
689-
<6 0 &gic 0 0 GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
690-
<7 0 &gic 0 0 GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
691-
<8 0 &gic 0 0 GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
692-
<9 0 &gic 0 0 GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
693-
<10 0 &gic 0 0 GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
694-
<11 0 &gic 0 0 GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
683+
<0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
684+
<1 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
685+
<2 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
686+
<3 0 &gic GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
687+
<4 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
688+
<5 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
689+
<6 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
690+
<7 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
691+
<8 0 &gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
692+
<9 0 &gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
693+
<10 0 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
694+
<11 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
695695
interrupt-map-mask = <0xffffffff 0x0>;
696696
};
697697
};

arch/arm64/include/asm/vectors.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,14 @@ enum arm64_bp_harden_el1_vectors {
5656
DECLARE_PER_CPU_READ_MOSTLY(const char *, this_cpu_vector);
5757

5858
#ifndef CONFIG_UNMAP_KERNEL_AT_EL0
59-
#define TRAMP_VALIAS 0
59+
#define TRAMP_VALIAS 0ul
6060
#endif
6161

6262
static inline const char *
6363
arm64_get_bp_hardening_vector(enum arm64_bp_harden_el1_vectors slot)
6464
{
6565
if (arm64_kernel_unmapped_at_el0())
66-
return (char *)TRAMP_VALIAS + SZ_2K * slot;
66+
return (char *)(TRAMP_VALIAS + SZ_2K * slot);
6767

6868
WARN_ON_ONCE(slot == EL1_VECTOR_KPTI);
6969

arch/arm64/kernel/cpu_errata.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,6 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
611611
{
612612
.desc = "ARM erratum 2077057",
613613
.capability = ARM64_WORKAROUND_2077057,
614-
.type = ARM64_CPUCAP_LOCAL_CPU_ERRATUM,
615614
ERRATA_MIDR_REV_RANGE(MIDR_CORTEX_A510, 0, 0, 2),
616615
},
617616
#endif

arch/x86/kvm/emulate.c

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,8 +429,23 @@ static int fastop(struct x86_emulate_ctxt *ctxt, fastop_t fop);
429429
FOP_END
430430

431431
/* Special case for SETcc - 1 instruction per cc */
432+
433+
/*
434+
* Depending on .config the SETcc functions look like:
435+
*
436+
* SETcc %al [3 bytes]
437+
* RET [1 byte]
438+
* INT3 [1 byte; CONFIG_SLS]
439+
*
440+
* Which gives possible sizes 4 or 5. When rounded up to the
441+
* next power-of-two alignment they become 4 or 8.
442+
*/
443+
#define SETCC_LENGTH (4 + IS_ENABLED(CONFIG_SLS))
444+
#define SETCC_ALIGN (4 << IS_ENABLED(CONFIG_SLS))
445+
static_assert(SETCC_LENGTH <= SETCC_ALIGN);
446+
432447
#define FOP_SETCC(op) \
433-
".align 4 \n\t" \
448+
".align " __stringify(SETCC_ALIGN) " \n\t" \
434449
".type " #op ", @function \n\t" \
435450
#op ": \n\t" \
436451
#op " %al \n\t" \
@@ -1047,7 +1062,7 @@ static int em_bsr_c(struct x86_emulate_ctxt *ctxt)
10471062
static __always_inline u8 test_cc(unsigned int condition, unsigned long flags)
10481063
{
10491064
u8 rc;
1050-
void (*fop)(void) = (void *)em_setcc + 4 * (condition & 0xf);
1065+
void (*fop)(void) = (void *)em_setcc + SETCC_ALIGN * (condition & 0xf);
10511066

10521067
flags = (flags & EFLAGS_MASK) | X86_EFLAGS_IF;
10531068
asm("push %[flags]; popf; " CALL_NOSPEC

block/blk-core.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
#include "blk-mq-sched.h"
5151
#include "blk-pm.h"
5252
#include "blk-throttle.h"
53+
#include "blk-rq-qos.h"
5354

5455
struct dentry *blk_debugfs_root;
5556

@@ -314,6 +315,9 @@ void blk_cleanup_queue(struct request_queue *q)
314315
*/
315316
blk_freeze_queue(q);
316317

318+
/* cleanup rq qos structures for queue without disk */
319+
rq_qos_exit(q);
320+
317321
blk_queue_flag_set(QUEUE_FLAG_DEAD, q);
318322

319323
blk_sync_queue(q);

0 commit comments

Comments
 (0)