drm_mode_config_reset() has a dual role: it creates the initial KMS state at probe time, and resets hardware and software state during suspend/resume cycles. However, the two roles need different behaviors, notably for objects like drm_private_obj that must persist across suspend/resume and are excluded from drm_mode_config_reset() by design.
Previous series introduced drm_mode_config_create_initial_state() to handle only the initial state creation at probe time, including drm_private_obj. Unlike drm_mode_config_reset(), it returns an error code, allowing drivers to properly handle allocation failures. This series switches all drivers calling drm_mode_config_reset() at probe time to drm_mode_config_create_initial_state(). The conversion was done using a Coccinelle semantic patch. This is part, and the final piece, of a larger transition to remove the overloaded reset semantics from the KMS subsystem, following similar series for planes, CRTCs, connectors, and bridges. Signed-off-by: Maxime Ripard <[email protected]> --- Maxime Ripard (83): drm/adp: Switch to drm_mode_config_create_initial_state drm/amdgpu: Switch to drm_mode_config_create_initial_state drm/appletbdrm: Switch to drm_mode_config_create_initial_state drm/komeda: Switch to drm_mode_config_create_initial_state drm/hdlcd: Switch to drm_mode_config_create_initial_state drm/malidp: Switch to drm_mode_config_create_initial_state drm/armada: Switch to drm_mode_config_create_initial_state drm/aspeed: Switch to drm_mode_config_create_initial_state drm/ast: Switch to drm_mode_config_create_initial_state drm/atmel-hlcdc: Switch to drm_mode_config_create_initial_state drm/exynos: Switch to drm_mode_config_create_initial_state drm/fsl-dcu: Switch to drm_mode_config_create_initial_state drm/gud: Switch to drm_mode_config_create_initial_state drm/hisilicon/hibmc: Switch to drm_mode_config_create_initial_state drm/hisilicon/kirin: Switch to drm_mode_config_create_initial_state drm/hyperv: Switch to drm_mode_config_create_initial_state drm/imx/dc: Switch to drm_mode_config_create_initial_state drm/imx/dcss: Switch to drm_mode_config_create_initial_state drm/imx/ipuv3: Switch to drm_mode_config_create_initial_state drm/ingenic: Switch to drm_mode_config_create_initial_state drm/kmb: Switch to drm_mode_config_create_initial_state drm/logicvc: Switch to drm_mode_config_create_initial_state drm/loongson: Switch to drm_mode_config_create_initial_state drm/mcde: Switch to drm_mode_config_create_initial_state drm/mediatek: Switch to drm_mode_config_create_initial_state drm/meson: Switch to drm_mode_config_create_initial_state drm/mgag200: Switch to drm_mode_config_create_initial_state drm/msm: Switch to drm_mode_config_create_initial_state drm/lcdif: Switch to drm_mode_config_create_initial_state drm/mxsfb: Switch to drm_mode_config_create_initial_state drm/nouveau: Switch to drm_mode_config_create_initial_state drm/omap: Switch to drm_mode_config_create_initial_state drm/pl111: Switch to drm_mode_config_create_initial_state drm/qxl: Switch to drm_mode_config_create_initial_state drm/rcar-du: Switch to drm_mode_config_create_initial_state drm/rz-du: Switch to drm_mode_config_create_initial_state drm/shmobile: Switch to drm_mode_config_create_initial_state drm/rockchip: Switch to drm_mode_config_create_initial_state drm/st7571: Switch to drm_mode_config_create_initial_state drm/st7586: Switch to drm_mode_config_create_initial_state drm/st7735r: Switch to drm_mode_config_create_initial_state drm/st7920: Switch to drm_mode_config_create_initial_state drm/ssd130x: Switch to drm_mode_config_create_initial_state drm/sprd: Switch to drm_mode_config_create_initial_state drm/sti: Switch to drm_mode_config_create_initial_state drm/stm: Switch to drm_mode_config_create_initial_state drm/sun4i: Switch to drm_mode_config_create_initial_state drm/corebootdrm: Switch to drm_mode_config_create_initial_state drm/efidrm: Switch to drm_mode_config_create_initial_state drm/ofdrm: Switch to drm_mode_config_create_initial_state drm/simpledrm: Switch to drm_mode_config_create_initial_state drm/vesadrm: Switch to drm_mode_config_create_initial_state drm/tegra: Switch to drm_mode_config_create_initial_state drm/tests: drm_atomic_state_test: Switch to drm_mode_config_create_initial_state drm/tests: drm_atomic_test: Switch to drm_mode_config_create_initial_state drm/tests: drm_bridge_test: Switch to drm_mode_config_create_initial_state drm/tests: drm_hdmi_state_helper_test: Switch to drm_mode_config_create_initial_state drm/tidss: Switch to drm_mode_config_create_initial_state drm/tilcdc: Switch to drm_mode_config_create_initial_state drm/arcpgu: Switch to drm_mode_config_create_initial_state drm/bochs: Switch to drm_mode_config_create_initial_state drm/cirrus-qemu: Switch to drm_mode_config_create_initial_state drm/gm12u320: Switch to drm_mode_config_create_initial_state drm/hx8357d: Switch to drm_mode_config_create_initial_state drm/ili9163: Switch to drm_mode_config_create_initial_state drm/ili9225: Switch to drm_mode_config_create_initial_state drm/ili9341: Switch to drm_mode_config_create_initial_state drm/ili9486: Switch to drm_mode_config_create_initial_state drm/mi0283qt: Switch to drm_mode_config_create_initial_state drm/panel-mipi-dbi: Switch to drm_mode_config_create_initial_state drm/pixpaper: Switch to drm_mode_config_create_initial_state drm/repaper: Switch to drm_mode_config_create_initial_state drm/sharp-memory: Switch to drm_mode_config_create_initial_state drm/tve200: Switch to drm_mode_config_create_initial_state drm/udl: Switch to drm_mode_config_create_initial_state drm/vboxvideo: Switch to drm_mode_config_create_initial_state drm/vc4: Switch to drm_mode_config_create_initial_state drm/verisilicon: Switch to drm_mode_config_create_initial_state drm/virtio: Switch to drm_mode_config_create_initial_state drm/vkms: Switch to drm_mode_config_create_initial_state drm/vmwgfx: Switch to drm_mode_config_create_initial_state drm/xen: Switch to drm_mode_config_create_initial_state drm/xlnx: Switch to drm_mode_config_create_initial_state drivers/gpu/drm/adp/adp_drv.c | 4 +--- drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 4 +++- .../amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c | 3 ++- .../amd/display/amdgpu_dm/tests/amdgpu_dm_mst_types_test.c | 4 +++- drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 4 +++- drivers/gpu/drm/arm/hdlcd_drv.c | 4 +++- drivers/gpu/drm/arm/malidp_drv.c | 4 +++- drivers/gpu/drm/armada/armada_drv.c | 4 +++- drivers/gpu/drm/aspeed/aspeed_gfx_drv.c | 4 +--- drivers/gpu/drm/ast/ast_mode.c | 4 +++- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 4 +++- drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 +++- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_kms.c | 4 +++- drivers/gpu/drm/gud/gud_drv.c | 4 +++- drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 6 ++++-- drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 6 ++++-- drivers/gpu/drm/hyperv/hyperv_drm_modeset.c | 4 +--- drivers/gpu/drm/imx/dc/dc-kms.c | 4 +++- drivers/gpu/drm/imx/dcss/dcss-kms.c | 4 +++- drivers/gpu/drm/imx/ipuv3/imx-drm-core.c | 4 +++- drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 4 +++- drivers/gpu/drm/kmb/kmb_drv.c | 3 +-- drivers/gpu/drm/logicvc/logicvc_mode.c | 4 +++- drivers/gpu/drm/loongson/lsdc_drv.c | 4 +++- drivers/gpu/drm/mcde/mcde_drv.c | 4 +++- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 8 +++++++- drivers/gpu/drm/meson/meson_drv.c | 4 +++- drivers/gpu/drm/mgag200/mgag200_g200.c | 4 +++- drivers/gpu/drm/mgag200/mgag200_g200eh.c | 4 +++- drivers/gpu/drm/mgag200/mgag200_g200eh3.c | 4 +++- drivers/gpu/drm/mgag200/mgag200_g200eh5.c | 4 +++- drivers/gpu/drm/mgag200/mgag200_g200er.c | 4 +++- drivers/gpu/drm/mgag200/mgag200_g200ev.c | 4 +++- drivers/gpu/drm/mgag200/mgag200_g200ew3.c | 4 +++- drivers/gpu/drm/mgag200/mgag200_g200se.c | 4 +++- drivers/gpu/drm/mgag200/mgag200_g200wb.c | 4 +++- drivers/gpu/drm/msm/msm_kms.c | 4 +++- drivers/gpu/drm/mxsfb/lcdif_drv.c | 4 +++- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 4 +++- drivers/gpu/drm/nouveau/nouveau_display.c | 4 +++- drivers/gpu/drm/omapdrm/omap_drv.c | 4 +++- drivers/gpu/drm/pl111/pl111_drv.c | 4 +++- drivers/gpu/drm/qxl/qxl_display.c | 3 +-- drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c | 4 +++- drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c | 4 +++- drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.c | 4 +++- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 4 +++- drivers/gpu/drm/sitronix/st7571.c | 4 +++- drivers/gpu/drm/sitronix/st7586.c | 4 +++- drivers/gpu/drm/sitronix/st7735r.c | 4 +++- drivers/gpu/drm/sitronix/st7920.c | 4 +--- drivers/gpu/drm/solomon/ssd130x.c | 4 +--- drivers/gpu/drm/sprd/sprd_drm.c | 6 ++++-- drivers/gpu/drm/sti/sti_drv.c | 6 +++++- drivers/gpu/drm/stm/drv.c | 4 +++- drivers/gpu/drm/sun4i/sun4i_framebuffer.c | 4 +++- drivers/gpu/drm/sysfb/corebootdrm.c | 4 +++- drivers/gpu/drm/sysfb/efidrm.c | 4 +++- drivers/gpu/drm/sysfb/ofdrm.c | 4 +++- drivers/gpu/drm/sysfb/simpledrm.c | 4 +++- drivers/gpu/drm/sysfb/vesadrm.c | 4 +++- drivers/gpu/drm/tegra/drm.c | 4 +++- drivers/gpu/drm/tests/drm_atomic_commit_test.c | 4 +++- drivers/gpu/drm/tests/drm_atomic_test.c | 4 +++- drivers/gpu/drm/tests/drm_bridge_test.c | 12 +++++++++--- drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c | 4 +++- drivers/gpu/drm/tidss/tidss_drv.c | 6 +++++- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 4 +++- drivers/gpu/drm/tiny/appletbdrm.c | 4 +--- drivers/gpu/drm/tiny/arcpgu.c | 4 +++- drivers/gpu/drm/tiny/bochs.c | 4 +--- drivers/gpu/drm/tiny/cirrus-qemu.c | 4 +++- drivers/gpu/drm/tiny/gm12u320.c | 4 +++- drivers/gpu/drm/tiny/hx8357d.c | 4 +++- drivers/gpu/drm/tiny/ili9163.c | 4 +++- drivers/gpu/drm/tiny/ili9225.c | 4 +++- drivers/gpu/drm/tiny/ili9341.c | 4 +++- drivers/gpu/drm/tiny/ili9486.c | 4 +++- drivers/gpu/drm/tiny/mi0283qt.c | 4 +++- drivers/gpu/drm/tiny/panel-mipi-dbi.c | 4 +++- drivers/gpu/drm/tiny/pixpaper.c | 4 +++- drivers/gpu/drm/tiny/repaper.c | 4 +++- drivers/gpu/drm/tiny/sharp-memory.c | 4 +++- drivers/gpu/drm/tve200/tve200_drv.c | 4 +++- drivers/gpu/drm/udl/udl_modeset.c | 4 +++- drivers/gpu/drm/vboxvideo/vbox_mode.c | 5 ++++- drivers/gpu/drm/vc4/vc4_kms.c | 4 +++- drivers/gpu/drm/verisilicon/vs_drm.c | 4 +++- drivers/gpu/drm/virtio/virtgpu_display.c | 3 +-- drivers/gpu/drm/vkms/vkms_output.c | 4 +--- drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 4 +++- drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 4 +--- drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 4 +--- drivers/gpu/drm/xen/xen_drm_front_kms.c | 4 +++- drivers/gpu/drm/xlnx/zynqmp_kms.c | 6 ++++-- 95 files changed, 277 insertions(+), 124 deletions(-) --- base-commit: d2a8cee91bfa8616f713c7c8f539a81e8e3554ea change-id: 20260712-drm-no-more-config-reset-1ea89f56693d Best regards, -----BEGIN PGP SIGNATURE----- iJUEABMJAB0WIQTkHFbLp4ejekA/qfgnX84Zoj2+dgUCauyPHAAKCRAnX84Zoj2+ dkwsAX9NFbbJHCN9xg2CeHNoUE2b74hoQ5+vO2GWUoHj4SnPtC+G3wjjcqEZiRKZ xMEy+OMBgLIpXnrk4sqLj7r+OWFunhZwYsLromcY/UpASSNAT98Hro2QnIUo8S4f xStpohEISg== =9Kfg -----END PGP SIGNATURE----- -- Maxime Ripard <[email protected]>
