From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A38423EC83D for ; Thu, 13 Aug 2026 17:55:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786643731; cv=none; b=Mw+pXkQJaFIGkNse3/e0eIjNOdCKuFBcFoBGisbiGamlsaVy0A3sQSTi2Ap/GmAuP+iElWVJ1AskX5MzOFfJsZaGgxnDSf5On8psByLq8bnWBegxszo6vmjuoZmojnuJ0KPDZu8dd4XFLcqF2eiSaR/S6ykB1hHlPJzg8v9fQsw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786643731; c=relaxed/simple; bh=hVSfHalSZM4BQSZhFrz9BOuFauHsMl4uAgsGFJWsD/U=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=ohZ/wVJChA9+0EL8099fhRzj7fabCCjbwHW2FdQgq1lkOOfGPsossU0jhX+HaqEvfZdHVsQ8XmiwKokhm3P4wTRQho8kjKuUjm6MQ9aXFA6Y+lMZXFw4oc7D4b1cuKeye3ZXb+uudbjPHyk12xk0GxphMC0IaKuUdByj8olUBa0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=F+5tIOjc; arc=none smtp.client-ip=209.85.214.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="F+5tIOjc" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-2d049069377so2754605ad.0 for ; Thu, 13 Aug 2026 10:55:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786643723; x=1787248523; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=SF4su2A7LBkgNyuJx7QC3c3F7wOlkzt5ypMNp2gqA1w=; b=F+5tIOjcuZIKp8E6vsdeJdQF5mUppJc4BzQ9zA2b48L4K4HgBHlDFBcMV1ZgeD2008 07d89GqUraeOehLE3kf+EF7FmeiJUWsRJUckmtDPmYkPd8I1lZz4B1AkehiKbDj3d6oX CLWFBOhiwGzsJ4XZcKkWEgAb1CgymKlZy7wc88U78g7/MnjWrAvJ8LOc4PBp+gb7Pbpn SbtkZ8V0mGiv0g+Ec3+2syLBrOtdbXfyfDlkwyIbgJ4xxDvYi2eI9Uc0uOmDgrUpBsFy czl1BS2cvGYd++U+hWyfqrrvx+J1nmsVciKQD0HwWSNtj4Rnrv9J5l1zQ/8txzQv6MHS VznQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786643723; x=1787248523; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=SF4su2A7LBkgNyuJx7QC3c3F7wOlkzt5ypMNp2gqA1w=; b=eLJDzJvtedCR+cIFzjbYCKcz2teqts8q/+M7iFKNFGc6MBA7lmYD5JBSdZwFJNLZe5 Db92keKoh1fgAy9WMo4XsOcXgmspkao6fvNpEO8VGGHC6RBmkTvuD3YL+e+Fngx8SyK+ tTmZDPsiIeORKrY1Y0FDWJYiJUqvP3Dl5GBVBE3qRYgNpgM3Izl7MV7Bg2x5DNVKG7H+ 3rALFWLtuY4WsgM1eOE8cOi22uKVrCf5Ig1MUORcraUit2mX2pawGoahXOlFd4s8GbZd a1MdFd5xCZrX5CfoKV0bAE9XNK/23Q5cGNPsGsImna6TDDdnXvxhOfGXM9ifzpcPaU3m JZ7Q== X-Forwarded-Encrypted: i=1; AHgh+RrLImY6KcFmu4cYs3uOhlBU8SeVFpKNvPz6bS8d3wnl20LCJWcouqyJTQ+yPZyuBTzT8uvbwtu3N7o5Dt8=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5utzQP553c0VmR1v8VQxCx7ezlx2wHnpLnIXzG+OKJtNGuWwY +KpDc3KEKgynxdeeqU0f6vrfGfdbCtFCrb2v69AY5n/0SsxYT2x9Ny3E X-Gm-Gg: AR+sD12oD35NrPqiBnBnSirSvfANunJJsH6hRr8z5Rp53tIOmR/Mp+4qLwBC1GCl/09 V6kyumyETmhl2ME0e4ZMvOP/b6ZBv0R/leP9XMQBicS9R6QeKIIK41bFetRXghTu0ZsDJExfNIE HClgfPi08f35a5CvjCCDp8fU3LoDPXaLqkQ6gVaFl0bUcDCI+1eG1aR4D9I2mFRVsApjv/FjHeb 6mGrVVMW6R/sUX3OLwLp+ot5TQk2lrAxhFMFsxTgN43H6ihzgAILW73nyrct6qCl0Y8t+dUc5fl FSMSsdjOEAOwlqbSry7r4dG0J8W7+/jvbCiWBP80SLNxbP6u6RoqNj+zglydmNgoSHyeNxYGzgv xmaLah+NHpYu9yINdjh5fQnMubjcbtwkrIm75X5gaUf4MGjFJHfF5YKIsc/5KI2EpSTgwexDvH6 lXllQ+ttjx5GqK58tNsN//bm2y+zhvJF3WtZem/VoWFs77zS+ug4QzXrWxXc3UF9dH6F/BPLEvq imGOCjkusfIOwqVGQRxExdHAWV6iLh/hlwfL9AA/TSnwNsdwjMQck77YzF2DbFyeTa/ X-Received: by 2002:a17:902:c948:b0:2c0:b6c7:227e with SMTP id d9443c01a7336-2d37d52e1d6mr84044455ad.5.1786643723510; Thu, 13 Aug 2026 10:55:23 -0700 (PDT) Received: from LAPTOP-M4N25KQ5.tail73068d.ts.net (1-160-237-124.dynamic-ip.hinet.net. [1.160.237.124]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d3aec05197sm675935ad.81.2026.08.13.10.55.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Aug 2026 10:55:23 -0700 (PDT) From: Sean Chang To: Chun-Kuang Hu , Philipp Zabel , Thomas Zimmermann Cc: David Airlie , Simona Vetter , Matthias Brugger , AngeloGioacchino Del Regno , dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Sean Chang Subject: [PATCH v1] drm/mediatek: mtk_dsi: Open-code drm_simple_encoder_init() Date: Fri, 14 Aug 2026 01:55:17 +0800 Message-ID: <20260813175517.156893-1-seanwascoding@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The drm_simple_encoder_init() helper is deprecated because it adds an intermediate abstraction layer that only wraps drm_encoder_init() with an empty or minimal drm_encoder_funcs struct. Replace drm_simple_encoder_init() with explicit calls to drm_encoder_init() and define driver-specific drm_encoder_funcs carrying the cleanup callback. Signed-off-by: Sean Chang --- drivers/gpu/drm/mediatek/mtk_dsi.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c index 49dfc0f825cb..276d57f8407b 100644 --- a/drivers/gpu/drm/mediatek/mtk_dsi.c +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c @@ -226,6 +226,10 @@ struct mtk_dsi { const struct mtk_dsi_driver_data *driver_data; }; +static const struct drm_encoder_funcs mtk_dsi_encoder_funcs = { + .destroy = drm_encoder_cleanup, +}; + static inline struct mtk_dsi *bridge_to_dsi(struct drm_bridge *b) { return container_of(b, struct mtk_dsi, bridge); @@ -918,8 +922,9 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) { int ret; - ret = drm_simple_encoder_init(drm, &dsi->encoder, - DRM_MODE_ENCODER_DSI); + ret = drm_encoder_init(drm, &dsi->encoder, + &mtk_dsi_encoder_funcs, + DRM_MODE_ENCODER_DSI, NULL); if (ret) { drm_err(drm, "Failed to encoder init to drm\n"); return ret; -- 2.43.0