Commit a99d741df737 for kernel

commit a99d741df7372f2175677673d78a6335f3e0706f
Merge: 4cc4cc367fd5 a8b02aa82580
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri Aug 28 16:37:55 2026 -0700

    Merge tag 'drm-next-2026-08-29' of https://gitlab.freedesktop.org/drm/kernel

    Pull more drm updates from Dave Airlie:
     "As mentioned last week, an msm pull request fell down the side of the
      couch or whatever the email equivalent of that is. This has the msm
      next stuff + the usual fixes for amd/intel.

      core:
       - use drm_warn instead of warn

      msm:
       - Bindings:
          - Added Shikra support
          - Document a840, a704, a722
       - Core:
          - Use drm_client buffers for fbdev emulation
          - teardown fixes
          - ARM32 DMA fixup
          - Remove objects from evict list when re-validated
          - Bunch of corner case and error path fixes
       - DPU:
          - Dropped dev_pm_opp_set_rate(0) preventing burnout
          - Fixed SSPP offsets of Kaanapali
       - DP:
          - Dropped dev_pm_opp_set_rate(0) preventing burnout
          - Cleaned up core code in preparation for MST support
          - Fixed prepare() to let Pipewire continue in case of the unplugged cable
       - GPU:
          - Add support for a704
          - Add support for a722
       - HDMI:
          - Simplifed register access

      amdgpu:
       - eGPU fixes
       - Runtime PM fix
       - UserQ fixes
       - Backlight fix
       - Discovery sysfs fix
       - Reset handling fixes
       - Buffer func handling fix for xgmi
       - VCN boundary check fix
       - DC lut handling fixes
       - MES fixes
       - UVD fix
       - VCE 3 fix
       - Enforce isolation fix
       - HPD fix for VGA/LVDS
       - DML fix
       - DCN 6 fixes
       - DC gpu reset fix

      amdkfd:
       - Fix return value
       - CU occupancy for GFX 11
       - CU occupancy for GFX 12/12.1
       - Queue bounds checking fix
       - SVM fixes
       - CRIU bounds checking fix

      radeon:
       - iMac display fix

      xe:
       - error message cleanups
       - i2c global register definitions as dependency for xe/i2c fixes
       - Media workardound
       - Add CCS to gt_idle debugfs print
       - Page fault related fix
       - i2c related fixes
       - System Controller mailbox bit fix"

    * tag 'drm-next-2026-08-29' of https://gitlab.freedesktop.org/drm/kernel: (121 commits)
      drm/xe/sysctrl: Read mailbox phase bit from hardware
      drm/xe/i2c: Keep the i2c controller always enabled
      drm/xe/i2c: Fix the interrupt handling
      i2c: designware: Global register definitions
      drm/xe: Reject page faults from non-fault-mode scratch VMs
      drm/xe/xe_gt_idle: Add CCS to the powergating info print
      drm/xe: Do not apply WA 14025883347 to media 3503
      drm/amd/display: fix dc_lock leak on GPU reset error paths
      drm/amd/display: Fix redundant GPUVMEnable checks in dcn6 flip schedule
      drm/amd/display: Fix wrong bytes-per-pixel value for dml2_422_packed_10
      drm/amdkfd: guard against NULL restore_mqd in CRIU queue restore
      drm/amdgpu/userq: fix lock missing for userq fence error set
      drm/amdkfd: Fix the case that vm range is hole at svm_migrate_copy_to_vram
      drm/amdkfd: Fix error path at svm_migrate_copy_to_ram
      drm/amd/display: Log details when failing to register HPD IRQ
      drm/amd/display: Fix HPD consideration for VGA/LVDS connectors on DCE
      drm/amdgpu: clamp the isolation index for rings outside a partition
      drm/amdkfd: Reject zero-sized AQL queue allocations after size halving
      drm/amdgpu: Fix VCE 3 ring align_mask
      drm/kfd: Add CU occupancy support to GFX12.1
      ...

diff --cc drivers/gpu/drm/xe/xe_i2c.c
index 78a38363c8ae,d8fa68206f41..399099ff0dbc
--- a/drivers/gpu/drm/xe/xe_i2c.c
+++ b/drivers/gpu/drm/xe/xe_i2c.c
@@@ -105,26 -128,14 +123,16 @@@ static int xe_i2c_register_adapter(stru
  	 * 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;

- 	if (i2c->adapter_irq) {
- 		struct resource res;
-
- 		res = DEFINE_RES_IRQ_NAMED(i2c->adapter_irq, "xe_i2c");
-
- 		ret = platform_device_add_resources(pdev, &res, 1);
- 		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);