mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
Devicetree fixes for v6.2, part 3:
- Fix interaction between fw_devlink and DT overlays causing devices to not be probed - Fix the compatible string for loongson,cpu-interrupt-controller -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmQ1t60ACgkQ+vtdtY28 YcNfvBAApQjSAtrvYlHH5Lp6ANCzNZiXJO2FX5kpPtcdIHMLB0Soo4z2IE6B9V1r e61dw5j21CuRDlsoOG1odg9//02/KK2Dgz7ebisKWVF+1UuWbps1stNuXO3MbLUj Cq4GH4EUs5JwED145jOhLWWq2/bkymJvgWVU8n3Q/q/uL+Fjm4aJxgx92p6IZdN3 CixxhXBAkWLOs9ij8f6bsSUts28XoPZsk+kucdXc+83UninAXJC2KzuvQga8mBPF MGuxQTXmD5vgdPyvqj1D9U3uqkDE6HudrUDXr1yq9esPObjvUTkh09/Wm7OqiDu9 GBUyhD+3GaBK18rKiL0JSDGbGamNR9BaFshovuPEmlAtaoHv8nbv/MmfTnCWwjjs 5lQ7LmOJCuRuQmcTOR8q1csVhUXxssNGaOaclOOXou/crItmSDlLAaj6XLRTPt45 4jPiNKgDH4Pj2vqGBeYnhNyPyc+Y5IVc88pV8kUxfsqnMluzsoLC+0JADXNMhk1T 3sfecpceQav4TFhPOcMIHAkgldBnPQomW6laEn4Ul+dAyAes7q6Y0SvjQy03gDKU LY5QIsHLs5YZXur8TYSbU7Yt44hr4SAm0uz1kcCArlmNtidcjYuw1tLAWnGTxZrx 5q+ZuQ6NTiPKwxTK0Zhf+HqZdzx2IE6JXaPBOeOdYxjTSWGmcKk= =x2A8 -----END PGP SIGNATURE----- Merge tag 'devicetree-fixes-for-6.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree fixes from Rob Herring: - Fix interaction between fw_devlink and DT overlays causing devices to not be probed - Fix the compatible string for loongson,cpu-interrupt-controller * tag 'devicetree-fixes-for-6.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: treewide: Fix probing of devices in DT overlays dt-bindings: interrupt-controller: loongarch: Fix mismatched compatible
This commit is contained in:
commit
4413ad01e2
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/interrupt-controller/loongarch,cpu-interrupt-controller.yaml#
|
||||
$id: http://devicetree.org/schemas/interrupt-controller/loongson,cpu-interrupt-controller.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: LoongArch CPU Interrupt Controller
|
||||
@ -11,7 +11,7 @@ maintainers:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: loongarch,cpu-interrupt-controller
|
||||
const: loongson,cpu-interrupt-controller
|
||||
|
||||
'#interrupt-cells':
|
||||
const: 1
|
||||
@ -28,7 +28,7 @@ required:
|
||||
examples:
|
||||
- |
|
||||
interrupt-controller {
|
||||
compatible = "loongarch,cpu-interrupt-controller";
|
||||
compatible = "loongson,cpu-interrupt-controller";
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
};
|
@ -329,6 +329,12 @@ static int of_weim_notify(struct notifier_block *nb, unsigned long action,
|
||||
"Failed to setup timing for '%pOF'\n", rd->dn);
|
||||
|
||||
if (!of_node_check_flag(rd->dn, OF_POPULATED)) {
|
||||
/*
|
||||
* Clear the flag before adding the device so that
|
||||
* fw_devlink doesn't skip adding consumers to this
|
||||
* device.
|
||||
*/
|
||||
rd->dn->fwnode.flags &= ~FWNODE_FLAG_NOT_DEVICE;
|
||||
if (!of_platform_device_create(rd->dn, NULL, &pdev->dev)) {
|
||||
dev_err(&pdev->dev,
|
||||
"Failed to create child device '%pOF'\n",
|
||||
|
@ -178,6 +178,11 @@ static int of_i2c_notify(struct notifier_block *nb, unsigned long action,
|
||||
return NOTIFY_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Clear the flag before adding the device so that fw_devlink
|
||||
* doesn't skip adding consumers to this device.
|
||||
*/
|
||||
rd->dn->fwnode.flags &= ~FWNODE_FLAG_NOT_DEVICE;
|
||||
client = of_i2c_register_device(adap, rd->dn);
|
||||
if (IS_ERR(client)) {
|
||||
dev_err(&adap->dev, "failed to create client for '%pOF'\n",
|
||||
|
@ -226,6 +226,7 @@ static void __of_attach_node(struct device_node *np)
|
||||
np->sibling = np->parent->child;
|
||||
np->parent->child = np;
|
||||
of_node_clear_flag(np, OF_DETACHED);
|
||||
np->fwnode.flags |= FWNODE_FLAG_NOT_DEVICE;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -737,6 +737,11 @@ static int of_platform_notify(struct notifier_block *nb,
|
||||
if (of_node_check_flag(rd->dn, OF_POPULATED))
|
||||
return NOTIFY_OK;
|
||||
|
||||
/*
|
||||
* Clear the flag before adding the device so that fw_devlink
|
||||
* doesn't skip adding consumers to this device.
|
||||
*/
|
||||
rd->dn->fwnode.flags &= ~FWNODE_FLAG_NOT_DEVICE;
|
||||
/* pdev_parent may be NULL when no bus platform device */
|
||||
pdev_parent = of_find_device_by_node(rd->dn->parent);
|
||||
pdev = of_platform_device_create(rd->dn, NULL,
|
||||
|
@ -4456,6 +4456,11 @@ static int of_spi_notify(struct notifier_block *nb, unsigned long action,
|
||||
return NOTIFY_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Clear the flag before adding the device so that fw_devlink
|
||||
* doesn't skip adding consumers to this device.
|
||||
*/
|
||||
rd->dn->fwnode.flags &= ~FWNODE_FLAG_NOT_DEVICE;
|
||||
spi = of_register_spi_device(ctlr, rd->dn);
|
||||
put_device(&ctlr->dev);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user