linux-next: manual merge of the drm-xe tree with the origin tree
From: Mark Brown
Date: Fri Aug 28 2026 - 09:28:00 EST
Hi all,
Today's linux-next merge of the drm-xe tree got a conflict in:
drivers/gpu/drm/xe/xe_i2c.c
between commits:
e766abbc5191b ("drm/xe/i2c: use platform_device_set_fwnode()")
0f485f88656af ("drm/xe/i2c: use device_create_managed_software_node()")
5d8ed6b64220a ("drm/xe/i2c: Allow per domain unique id")
f43fa4b8522ba ("drm/xe/i2c: Fix the interrupt handling")
244abef7f280a ("drm/xe/i2c: Keep the i2c controller always enabled")
from the origin tree and commits:
a55b76b8bc2c4 ("drm/xe/i2c: Fix the interrupt handling")
76cc14e2faed1 ("drm/xe/i2c: Keep the i2c controller always enabled")
from the drm-xe tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
diff --combined drivers/gpu/drm/xe/xe_i2c.c
index 399099ff0dbc1,d8fa68206f418..0000000000000
--- a/drivers/gpu/drm/xe/xe_i2c.c
+++ b/drivers/gpu/drm/xe/xe_i2c.c
@@@ -111,9 -111,14 +111,9 @@@ static int xe_i2c_register_adapter(stru
{
struct pci_dev *pci = to_pci_dev(i2c->drm_dev);
struct platform_device *pdev;
- struct fwnode_handle *fwnode;
int ret;
u32 id;
- fwnode = fwnode_create_software_node(xe_i2c_adapter_properties, NULL);
- if (IS_ERR(fwnode))
- return PTR_ERR(fwnode);
-
id = (pci_domain_nr(pci->bus) << 16) | pci_dev_id(pci);
/*
@@@ -123,16 -128,14 +123,16 @@@
* platform_device_register_full() is done.
*/
pdev = platform_device_alloc(adapter_name, id);
- if (!pdev) {
- ret = -ENOMEM;
- goto err_fwnode_remove;
- }
+ if (!pdev)
+ return -ENOMEM;
+
+ ret = device_create_managed_software_node(&pdev->dev,
+ xe_i2c_adapter_properties,
+ NULL);
+ if (ret)
+ goto err_pdev_put;
pdev->dev.parent = i2c->drm_dev;
- pdev->dev.fwnode = fwnode;
- i2c->adapter_node = fwnode;
i2c->pdev = pdev;
ret = platform_device_add(pdev);
@@@ -143,6 -146,8 +143,6 @@@
err_pdev_put:
platform_device_put(pdev);
-err_fwnode_remove:
- fwnode_remove_software_node(fwnode);
return ret;
}
@@@ -150,6 -155,7 +150,6 @@@
static void xe_i2c_unregister_adapter(struct xe_i2c *i2c)
{
platform_device_unregister(i2c->pdev);
- fwnode_remove_software_node(i2c->adapter_node);
}
/**
Attachment:
signature.asc
Description: PGP signature