Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'dt/linus' into dt/next

Pull-in kunit kconfig fix

+107 -8
+54
Documentation/devicetree/bindings/display/elgin,jg10309-01.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/display/elgin,jg10309-01.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Elgin JG10309-01 SPI-controlled display 8 + 9 + maintainers: 10 + - Fabio Estevam <festevam@gmail.com> 11 + 12 + description: | 13 + The Elgin JG10309-01 SPI-controlled display is used on the RV1108-Elgin-r1 14 + board and is a custom display. 15 + 16 + allOf: 17 + - $ref: /schemas/spi/spi-peripheral-props.yaml# 18 + 19 + properties: 20 + compatible: 21 + const: elgin,jg10309-01 22 + 23 + reg: 24 + maxItems: 1 25 + 26 + spi-max-frequency: 27 + maximum: 24000000 28 + 29 + spi-cpha: true 30 + 31 + spi-cpol: true 32 + 33 + required: 34 + - compatible 35 + - reg 36 + - spi-cpha 37 + - spi-cpol 38 + 39 + additionalProperties: false 40 + 41 + examples: 42 + - | 43 + spi { 44 + #address-cells = <1>; 45 + #size-cells = <0>; 46 + 47 + display@0 { 48 + compatible = "elgin,jg10309-01"; 49 + reg = <0>; 50 + spi-max-frequency = <24000000>; 51 + spi-cpha; 52 + spi-cpol; 53 + }; 54 + };
+23 -3
Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml
··· 82 82 enum: 83 83 - fsl,ls1043a-extirq 84 84 - fsl,ls1046a-extirq 85 - - fsl,ls1088a-extirq 86 - - fsl,ls2080a-extirq 87 - - fsl,lx2160a-extirq 88 85 then: 89 86 properties: 90 87 interrupt-map: 91 88 minItems: 12 92 89 maxItems: 12 90 + interrupt-map-mask: 91 + items: 92 + - const: 0xf 93 + - const: 0 94 + 95 + - if: 96 + properties: 97 + compatible: 98 + contains: 99 + enum: 100 + - fsl,ls1088a-extirq 101 + - fsl,ls2080a-extirq 102 + - fsl,lx2160a-extirq 103 + # The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT 104 + # function to parser interrupt-map. So it doesn't consider '#address-size' 105 + # in parent interrupt controller, such as GIC. 106 + # 107 + # When dt-binding verify interrupt-map, item data matrix is spitted at 108 + # incorrect position. Remove interrupt-map restriction because it always 109 + # wrong. 110 + 111 + then: 112 + properties: 93 113 interrupt-map-mask: 94 114 items: 95 115 - const: 0xf
+1 -1
Documentation/devicetree/bindings/misc/fsl,qoriq-mc.yaml
··· 113 113 114 114 msi-parent: 115 115 deprecated: true 116 - $ref: /schemas/types.yaml#/definitions/phandle 116 + maxItems: 1 117 117 description: 118 118 Describes the MSI controller node handling message 119 119 interrupts for the MC. When there is no translation
-2
Documentation/devicetree/bindings/trivial-devices.yaml
··· 101 101 - domintech,dmard09 102 102 # DMARD10: 3-axis Accelerometer 103 103 - domintech,dmard10 104 - # Elgin SPI-controlled LCD 105 - - elgin,jg10309-01 106 104 # MMA7660FC: 3-Axis Orientation/Motion Detection Sensor 107 105 - fsl,mma7660 108 106 # MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer
+1
drivers/of/.kunitconfig
··· 1 1 CONFIG_KUNIT=y 2 2 CONFIG_OF=y 3 3 CONFIG_OF_KUNIT_TEST=y 4 + CONFIG_OF_OVERLAY=y 4 5 CONFIG_OF_OVERLAY_KUNIT_TEST=y
+1 -1
drivers/of/Kconfig
··· 111 111 tristate "Device Tree overlay KUnit tests" if !KUNIT_ALL_TESTS 112 112 depends on KUNIT 113 113 default KUNIT_ALL_TESTS 114 - select OF_OVERLAY 114 + select DTC 115 115 help 116 116 This option builds KUnit unit tests for the device tree overlay code. 117 117
+15
drivers/of/of_kunit_helpers.c
··· 10 10 #include <kunit/test.h> 11 11 #include <kunit/resource.h> 12 12 13 + #include "of_private.h" 14 + 15 + /** 16 + * of_root_kunit_skip() - Skip test if the root node isn't populated 17 + * @test: test to skip if the root node isn't populated 18 + */ 19 + void of_root_kunit_skip(struct kunit *test) 20 + { 21 + if (IS_ENABLED(CONFIG_ARM64) && IS_ENABLED(CONFIG_ACPI) && !of_root) 22 + kunit_skip(test, "arm64+acpi doesn't populate a root node"); 23 + } 24 + EXPORT_SYMBOL_GPL(of_root_kunit_skip); 25 + 13 26 #if defined(CONFIG_OF_OVERLAY) && defined(CONFIG_OF_EARLY_FLATTREE) 14 27 15 28 static void of_overlay_fdt_apply_kunit_exit(void *ovcs_id) ··· 48 35 { 49 36 int ret; 50 37 int *copy_id; 38 + 39 + of_root_kunit_skip(test); 51 40 52 41 copy_id = kunit_kmalloc(test, sizeof(*copy_id), GFP_KERNEL); 53 42 if (!copy_id)
+3
drivers/of/of_private.h
··· 43 43 extern struct list_head aliases_lookup; 44 44 extern struct kset *of_kset; 45 45 46 + struct kunit; 47 + extern void of_root_kunit_skip(struct kunit *test); 48 + 46 49 #if defined(CONFIG_OF_DYNAMIC) 47 50 extern int of_property_notify(int action, struct device_node *np, 48 51 struct property *prop, struct property *old_prop);
+3
drivers/of/of_test.c
··· 7 7 8 8 #include <kunit/test.h> 9 9 10 + #include "of_private.h" 11 + 10 12 /* 11 13 * Test that the root node "/" can be found by path. 12 14 */ ··· 38 36 39 37 static int of_dtb_test_init(struct kunit *test) 40 38 { 39 + of_root_kunit_skip(test); 41 40 if (!IS_ENABLED(CONFIG_OF_EARLY_FLATTREE)) 42 41 kunit_skip(test, "requires CONFIG_OF_EARLY_FLATTREE"); 43 42
+6 -1
drivers/of/overlay_test.c
··· 11 11 #include <kunit/of.h> 12 12 #include <kunit/test.h> 13 13 14 + #include "of_private.h" 15 + 14 16 static const char * const kunit_node_name = "kunit-test"; 15 17 static const char * const kunit_compatible = "test,empty"; 16 18 ··· 64 62 struct device *dev; 65 63 struct device_node *np; 66 64 65 + of_root_kunit_skip(test); 66 + if (!IS_ENABLED(CONFIG_OF_OVERLAY)) 67 + kunit_skip(test, "requires CONFIG_OF_OVERLAY to apply overlay"); 67 68 if (!IS_ENABLED(CONFIG_OF_EARLY_FLATTREE)) 68 69 kunit_skip(test, "requires CONFIG_OF_EARLY_FLATTREE for root node"); 69 70 ··· 78 73 79 74 np = of_find_node_by_name(NULL, kunit_node_name); 80 75 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, np); 81 - of_node_put_kunit(test, np); 76 + of_node_put_kunit(&fake, np); 82 77 83 78 pdev = of_find_device_by_node(np); 84 79 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pdev);