From nobody Sun May 19 11:37:24 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9C7DCC433FE for ; Wed, 26 Oct 2022 16:00:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234562AbiJZQAa (ORCPT ); Wed, 26 Oct 2022 12:00:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57470 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234366AbiJZQAO (ORCPT ); Wed, 26 Oct 2022 12:00:14 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8960BF025 for ; Wed, 26 Oct 2022 08:59:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1666799989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TF2idh4cfIfrFOF9EVS0R3ai/ZWpJhhFk/BXprIYCn4=; b=QYUUfs88OFE9U/EbEOpE0bBY6UgdrL3JutiAmiFTEbfaorjBJN/YzYynPBYLhC6rn3tvIk 0dw9dkwRSJYoZ/GMH1EdFY7mS4tv10wUKMD3+0muI1hbilG6IoL39T7JE1ZhOv7eBzytR8 /0NYoTjc8qCnnsnAwNrp6oW1V+aJv5Q= Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-52-KFPqdEdDOKS2NnKWye_PeQ-1; Wed, 26 Oct 2022 11:59:45 -0400 X-MC-Unique: KFPqdEdDOKS2NnKWye_PeQ-1 Received: by mail-ed1-f69.google.com with SMTP id m7-20020a056402430700b0045daff6ee5dso14245434edc.10 for ; Wed, 26 Oct 2022 08:59:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TF2idh4cfIfrFOF9EVS0R3ai/ZWpJhhFk/BXprIYCn4=; b=QGhy6XT28ZLIgxXYM86LclKqyWuZtoHRxEAOQQZrufZAZ1c92zzWG1BJgBrScheziD 3kpIhR6mRp+YONRtewoVn19/vyUWi+aPF9UA0LJluUVey4FZM7ElIhIAP+xMY7DIM9FB 3hbwBLr6Z/QxmmaD4YVXz10WJoJ7wtVWDzkoDAoQZSu6T4fbP36hiPjjaA2dY7PVUora B5WjzaZAqNQufypQhAXWVTGxDMZQ5usrD4+e1n19OthlKWQHsW9ZFFrxkCLDP9Ur6g/9 wdWjRtCXR5KJlu6S6+kh5O1rvARg4UJ3hE835Dp5xfVE8TV/nccj5+PiVLU4ojwswKKI 9SJQ== X-Gm-Message-State: ACrzQf0lB5c4o1GUtlJQyjNbFlepMhqM+uf3kFNLDrk5FPbxl7+tpWaU 7iZb+1YF8NpbxZpFHcaYZmGrYRhTTyoG1gMwBtLXLLq/4aGWN2el7g6fc9LYInYLkx13UXINQa2 Q96CbsTSlLmZ/2v9l7Bje4Qzv X-Received: by 2002:a17:907:96a0:b0:78d:dd45:a6d4 with SMTP id hd32-20020a17090796a000b0078ddd45a6d4mr38610050ejc.643.1666799984313; Wed, 26 Oct 2022 08:59:44 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5ii8CCAKar6QQOlbxy2yn47jUIqPXJUP1rbe5ZDO3WgicXHPJpDAiPJobAr6N1Rie8IEkLUw== X-Received: by 2002:a17:907:96a0:b0:78d:dd45:a6d4 with SMTP id hd32-20020a17090796a000b0078ddd45a6d4mr38610038ejc.643.1666799984183; Wed, 26 Oct 2022 08:59:44 -0700 (PDT) Received: from pollux.. ([2a02:810d:4b40:2ee8:642:1aff:fe31:a15c]) by smtp.gmail.com with ESMTPSA id a29-20020a509b5d000000b00461c1804cdasm3876740edj.3.2022.10.26.08.59.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Oct 2022 08:59:43 -0700 (PDT) From: Danilo Krummrich To: daniel@ffwll.ch, airlied@linux.ie, tzimmermann@suse.de, mripard@kernel.org, liviu.dudau@arm.com, brian.starkey@arm.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Danilo Krummrich Subject: [PATCH drm-misc-next v3 1/5] drm/arm/malidp: use drmm_* to allocate driver structures Date: Wed, 26 Oct 2022 17:59:30 +0200 Message-Id: <20221026155934.125294-2-dakr@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221026155934.125294-1-dakr@redhat.com> References: <20221026155934.125294-1-dakr@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use drm managed resources to allocate driver structures and get rid of the deprecated drm_dev_alloc() call and replace it with devm_drm_dev_alloc(). This also serves as preparation to get rid of drm_device->dev_private and to fix use-after-free issues on driver unload. Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/arm/malidp_drv.c | 20 +++++++------------- drivers/gpu/drm/arm/malidp_drv.h | 1 + 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_= drv.c index 1d0b0c54ccc7..41c80e905991 100644 --- a/drivers/gpu/drm/arm/malidp_drv.c +++ b/drivers/gpu/drm/arm/malidp_drv.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -716,11 +717,13 @@ static int malidp_bind(struct device *dev) int ret =3D 0, i; u32 version, out_depth =3D 0; =20 - malidp =3D devm_kzalloc(dev, sizeof(*malidp), GFP_KERNEL); - if (!malidp) - return -ENOMEM; + malidp =3D devm_drm_dev_alloc(dev, &malidp_driver, typeof(*malidp), base); + if (IS_ERR(malidp)) + return PTR_ERR(malidp); + + drm =3D &malidp->base; =20 - hwdev =3D devm_kzalloc(dev, sizeof(*hwdev), GFP_KERNEL); + hwdev =3D drmm_kzalloc(drm, sizeof(*hwdev), GFP_KERNEL); if (!hwdev) return -ENOMEM; =20 @@ -753,12 +756,6 @@ static int malidp_bind(struct device *dev) if (ret && ret !=3D -ENODEV) return ret; =20 - drm =3D drm_dev_alloc(&malidp_driver, dev); - if (IS_ERR(drm)) { - ret =3D PTR_ERR(drm); - goto alloc_fail; - } - drm->dev_private =3D malidp; dev_set_drvdata(dev, drm); =20 @@ -887,8 +884,6 @@ static int malidp_bind(struct device *dev) malidp_runtime_pm_suspend(dev); drm->dev_private =3D NULL; dev_set_drvdata(dev, NULL); - drm_dev_put(drm); -alloc_fail: of_reserved_mem_device_release(dev); =20 return ret; @@ -917,7 +912,6 @@ static void malidp_unbind(struct device *dev) malidp_runtime_pm_suspend(dev); drm->dev_private =3D NULL; dev_set_drvdata(dev, NULL); - drm_dev_put(drm); of_reserved_mem_device_release(dev); } =20 diff --git a/drivers/gpu/drm/arm/malidp_drv.h b/drivers/gpu/drm/arm/malidp_= drv.h index cdfddfabf2d1..00be369b28f1 100644 --- a/drivers/gpu/drm/arm/malidp_drv.h +++ b/drivers/gpu/drm/arm/malidp_drv.h @@ -29,6 +29,7 @@ struct malidp_error_stats { }; =20 struct malidp_drm { + struct drm_device base; struct malidp_hw_device *dev; struct drm_crtc crtc; struct drm_writeback_connector mw_connector; --=20 2.37.3 From nobody Sun May 19 11:37:24 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 166DFC38A2D for ; Wed, 26 Oct 2022 16:00:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234262AbiJZQAh (ORCPT ); Wed, 26 Oct 2022 12:00:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234361AbiJZQAO (ORCPT ); Wed, 26 Oct 2022 12:00:14 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9B29810FC0 for ; Wed, 26 Oct 2022 08:59:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1666799991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VkNRAFiSrosnva2K2Nfox+FAdpeu+OumI5CH8YjQjIA=; b=X4unO2zBCr49YveNknszmOiArVQKsvjSYkIkBLBl6GwMSWG5nCHE5we3YuLZJs3OIwGTAg EPICbN3mehFjVuJC06Sc4h4x82uPjD8pJs4w+kVN/H/HXTxCCG/c47R8gyB74jKfPH8+3T xN6TGhX/dcDeNXoV7CFAnFX7lzD7UNQ= Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-495-1iPNOwhGOoWwj0hZHKKMdA-1; Wed, 26 Oct 2022 11:59:50 -0400 X-MC-Unique: 1iPNOwhGOoWwj0hZHKKMdA-1 Received: by mail-ej1-f69.google.com with SMTP id ho8-20020a1709070e8800b0078db5e53032so4793515ejc.9 for ; Wed, 26 Oct 2022 08:59:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VkNRAFiSrosnva2K2Nfox+FAdpeu+OumI5CH8YjQjIA=; b=JvyrtedkLj+USTs8KrdLcpHp10K7Lux+9w3SoPTfsPozJ4eq8GvtIYiHHZ4Na36+2+ bs6yDznVs2zKzVdfrQSIv/A0+G9nCYSY2VSU5rMfEo5oX+VOgoyptZJgvXZcZwVPBi83 o3+AbdKWK7YJWg8Rp3fjBUGTW3krz1ODxEdjSJYudYaK0AktpHBeRnPPSvGP7DfLYVSj 5NSgB133Hx3yw/0SGVIkmAx9u1XFXbQ7LeFOXwGccNIsQNSpUBBkcn3oeAD2u5M+5MqT 7XvzWQRVe7z/Es3W03KmnBCG1nrkAOKbMSXZTwa1DksB473ftTaoYVI8gR1ke50hDX39 8JxA== X-Gm-Message-State: ACrzQf08Rg8/mBP20csenVFUluvjDwasrE2Cm5fcahmwy+fFtgh/AySp wqILlLB+/lxkI44642rfGb/xM7NmSFOt9QI3QRzgWTTM6vT+MsTpJxn+5jkWCrEScWuBzy4w/oO UQ58HOCqwJdKYBer5Inkc+g38 X-Received: by 2002:a17:907:a06b:b0:78d:d25f:b726 with SMTP id ia11-20020a170907a06b00b0078dd25fb726mr38294207ejc.203.1666799987913; Wed, 26 Oct 2022 08:59:47 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5ZOvx9Lv1Ux6LbAXBj+kc/Syor6+7jIlSjCIeXxIDyPeo7TpaUo8zSdEV55Jdzq9ahijA96Q== X-Received: by 2002:a17:907:a06b:b0:78d:d25f:b726 with SMTP id ia11-20020a170907a06b00b0078dd25fb726mr38294185ejc.203.1666799987657; Wed, 26 Oct 2022 08:59:47 -0700 (PDT) Received: from pollux.. ([2a02:810d:4b40:2ee8:642:1aff:fe31:a15c]) by smtp.gmail.com with ESMTPSA id i4-20020a50fd04000000b0045d59e49acbsm3814437eds.7.2022.10.26.08.59.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Oct 2022 08:59:47 -0700 (PDT) From: Danilo Krummrich To: daniel@ffwll.ch, airlied@linux.ie, tzimmermann@suse.de, mripard@kernel.org, liviu.dudau@arm.com, brian.starkey@arm.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Danilo Krummrich Subject: [PATCH drm-misc-next v3 2/5] drm/arm/malidp: replace drm->dev_private with drm_to_malidp() Date: Wed, 26 Oct 2022 17:59:31 +0200 Message-Id: <20221026155934.125294-3-dakr@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221026155934.125294-1-dakr@redhat.com> References: <20221026155934.125294-1-dakr@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Using drm_device->dev_private is deprecated. Since we've switched to devm_drm_dev_alloc(), struct drm_device is now embedded in struct malidp_drm, hence we can use container_of() to get the struct drm_device instance instead. Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/arm/malidp_crtc.c | 2 +- drivers/gpu/drm/arm/malidp_drv.c | 29 +++++++++++++---------------- drivers/gpu/drm/arm/malidp_drv.h | 1 + drivers/gpu/drm/arm/malidp_hw.c | 10 +++++----- drivers/gpu/drm/arm/malidp_mw.c | 6 +++--- drivers/gpu/drm/arm/malidp_planes.c | 4 ++-- 6 files changed, 25 insertions(+), 27 deletions(-) diff --git a/drivers/gpu/drm/arm/malidp_crtc.c b/drivers/gpu/drm/arm/malidp= _crtc.c index 962730772b2f..34ad7e1cd2b8 100644 --- a/drivers/gpu/drm/arm/malidp_crtc.c +++ b/drivers/gpu/drm/arm/malidp_crtc.c @@ -526,7 +526,7 @@ static const struct drm_crtc_funcs malidp_crtc_funcs = =3D { =20 int malidp_crtc_init(struct drm_device *drm) { - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct drm_plane *primary =3D NULL, *plane; int ret; =20 diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_= drv.c index 41c80e905991..678c5b0d8014 100644 --- a/drivers/gpu/drm/arm/malidp_drv.c +++ b/drivers/gpu/drm/arm/malidp_drv.c @@ -169,7 +169,7 @@ static void malidp_atomic_commit_se_config(struct drm_c= rtc *crtc, */ static int malidp_set_and_wait_config_valid(struct drm_device *drm) { - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev =3D malidp->dev; int ret; =20 @@ -190,7 +190,7 @@ static int malidp_set_and_wait_config_valid(struct drm_= device *drm) static void malidp_atomic_commit_hw_done(struct drm_atomic_state *state) { struct drm_device *drm =3D state->dev; - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); int loop =3D 5; =20 malidp->event =3D malidp->crtc.state->event; @@ -231,7 +231,7 @@ static void malidp_atomic_commit_hw_done(struct drm_ato= mic_state *state) static void malidp_atomic_commit_tail(struct drm_atomic_state *state) { struct drm_device *drm =3D state->dev; - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct drm_crtc *crtc; struct drm_crtc_state *old_crtc_state; int i; @@ -393,7 +393,7 @@ static const struct drm_mode_config_funcs malidp_mode_c= onfig_funcs =3D { static int malidp_init(struct drm_device *drm) { int ret; - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev =3D malidp->dev; =20 drm_mode_config_init(drm); @@ -429,7 +429,7 @@ static int malidp_irq_init(struct platform_device *pdev) { int irq_de, irq_se, ret =3D 0; struct drm_device *drm =3D dev_get_drvdata(&pdev->dev); - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev =3D malidp->dev; =20 /* fetch the interrupts from DT */ @@ -463,7 +463,7 @@ static int malidp_dumb_create(struct drm_file *file_pri= v, struct drm_device *drm, struct drm_mode_create_dumb *args) { - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); /* allocate for the worst case scenario, i.e. rotated buffers */ u8 alignment =3D malidp_hw_get_pitch_align(malidp->dev, 1); =20 @@ -509,7 +509,7 @@ static void malidp_error_stats_dump(const char *prefix, static int malidp_show_stats(struct seq_file *m, void *arg) { struct drm_device *drm =3D m->private; - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); unsigned long irqflags; struct malidp_error_stats de_errors, se_errors; =20 @@ -532,7 +532,7 @@ static ssize_t malidp_debugfs_write(struct file *file, = const char __user *ubuf, { struct seq_file *m =3D file->private_data; struct drm_device *drm =3D m->private; - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); unsigned long irqflags; =20 spin_lock_irqsave(&malidp->errors_lock, irqflags); @@ -553,7 +553,7 @@ static const struct file_operations malidp_debugfs_fops= =3D { =20 static void malidp_debugfs_init(struct drm_minor *minor) { - struct malidp_drm *malidp =3D minor->dev->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(minor->dev); =20 malidp_error_stats_init(&malidp->de_errors); malidp_error_stats_init(&malidp->se_errors); @@ -653,7 +653,7 @@ static ssize_t core_id_show(struct device *dev, struct = device_attribute *attr, char *buf) { struct drm_device *drm =3D dev_get_drvdata(dev); - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); =20 return snprintf(buf, PAGE_SIZE, "%08x\n", malidp->core_id); } @@ -671,7 +671,7 @@ ATTRIBUTE_GROUPS(mali_dp); static int malidp_runtime_pm_suspend(struct device *dev) { struct drm_device *drm =3D dev_get_drvdata(dev); - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev =3D malidp->dev; =20 /* we can only suspend if the hardware is in config mode */ @@ -690,7 +690,7 @@ static int malidp_runtime_pm_suspend(struct device *dev) static int malidp_runtime_pm_resume(struct device *dev) { struct drm_device *drm =3D dev_get_drvdata(dev); - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev =3D malidp->dev; =20 clk_prepare_enable(hwdev->pclk); @@ -756,7 +756,6 @@ static int malidp_bind(struct device *dev) if (ret && ret !=3D -ENODEV) return ret; =20 - drm->dev_private =3D malidp; dev_set_drvdata(dev, drm); =20 /* Enable power management */ @@ -882,7 +881,6 @@ static int malidp_bind(struct device *dev) pm_runtime_disable(dev); else malidp_runtime_pm_suspend(dev); - drm->dev_private =3D NULL; dev_set_drvdata(dev, NULL); of_reserved_mem_device_release(dev); =20 @@ -892,7 +890,7 @@ static int malidp_bind(struct device *dev) static void malidp_unbind(struct device *dev) { struct drm_device *drm =3D dev_get_drvdata(dev); - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev =3D malidp->dev; =20 drm_dev_unregister(drm); @@ -910,7 +908,6 @@ static void malidp_unbind(struct device *dev) pm_runtime_disable(dev); else malidp_runtime_pm_suspend(dev); - drm->dev_private =3D NULL; dev_set_drvdata(dev, NULL); of_reserved_mem_device_release(dev); } diff --git a/drivers/gpu/drm/arm/malidp_drv.h b/drivers/gpu/drm/arm/malidp_= drv.h index 00be369b28f1..bc0387876dea 100644 --- a/drivers/gpu/drm/arm/malidp_drv.h +++ b/drivers/gpu/drm/arm/malidp_drv.h @@ -45,6 +45,7 @@ struct malidp_drm { #endif }; =20 +#define drm_to_malidp(x) container_of(x, struct malidp_drm, base) #define crtc_to_malidp_device(x) container_of(x, struct malidp_drm, crtc) =20 struct malidp_plane { diff --git a/drivers/gpu/drm/arm/malidp_hw.c b/drivers/gpu/drm/arm/malidp_h= w.c index e9de542f9b7c..9b845d3f34e1 100644 --- a/drivers/gpu/drm/arm/malidp_hw.c +++ b/drivers/gpu/drm/arm/malidp_hw.c @@ -1168,7 +1168,7 @@ static void malidp_hw_clear_irq(struct malidp_hw_devi= ce *hwdev, u8 block, u32 ir static irqreturn_t malidp_de_irq(int irq, void *arg) { struct drm_device *drm =3D arg; - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev; struct malidp_hw *hw; const struct malidp_irq_map *de; @@ -1226,7 +1226,7 @@ static irqreturn_t malidp_de_irq(int irq, void *arg) static irqreturn_t malidp_de_irq_thread_handler(int irq, void *arg) { struct drm_device *drm =3D arg; - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); =20 wake_up(&malidp->wq); =20 @@ -1252,7 +1252,7 @@ void malidp_de_irq_hw_init(struct malidp_hw_device *h= wdev) =20 int malidp_de_irq_init(struct drm_device *drm, int irq) { - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev =3D malidp->dev; int ret; =20 @@ -1286,7 +1286,7 @@ void malidp_de_irq_fini(struct malidp_hw_device *hwde= v) static irqreturn_t malidp_se_irq(int irq, void *arg) { struct drm_device *drm =3D arg; - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev =3D malidp->dev; struct malidp_hw *hw =3D hwdev->hw; const struct malidp_irq_map *se =3D &hw->map.se_irq_map; @@ -1363,7 +1363,7 @@ static irqreturn_t malidp_se_irq_thread_handler(int i= rq, void *arg) =20 int malidp_se_irq_init(struct drm_device *drm, int irq) { - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev =3D malidp->dev; int ret; =20 diff --git a/drivers/gpu/drm/arm/malidp_mw.c b/drivers/gpu/drm/arm/malidp_m= w.c index ef76d0e6ee2f..626709bec6f5 100644 --- a/drivers/gpu/drm/arm/malidp_mw.c +++ b/drivers/gpu/drm/arm/malidp_mw.c @@ -129,7 +129,7 @@ malidp_mw_encoder_atomic_check(struct drm_encoder *enco= der, struct drm_connector_state *conn_state) { struct malidp_mw_connector_state *mw_state =3D to_mw_state(conn_state); - struct malidp_drm *malidp =3D encoder->dev->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(encoder->dev); struct drm_framebuffer *fb; int i, n_planes; =20 @@ -207,7 +207,7 @@ static u32 *get_writeback_formats(struct malidp_drm *ma= lidp, int *n_formats) =20 int malidp_mw_connector_init(struct drm_device *drm) { - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); u32 *formats; int ret, n_formats; =20 @@ -236,7 +236,7 @@ int malidp_mw_connector_init(struct drm_device *drm) void malidp_mw_atomic_commit(struct drm_device *drm, struct drm_atomic_state *old_state) { - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); struct drm_writeback_connector *mw_conn =3D &malidp->mw_connector; struct drm_connector_state *conn_state =3D mw_conn->base.state; struct malidp_hw_device *hwdev =3D malidp->dev; diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/mali= dp_planes.c index 45f5e35e7f24..815d9199752f 100644 --- a/drivers/gpu/drm/arm/malidp_planes.c +++ b/drivers/gpu/drm/arm/malidp_planes.c @@ -151,7 +151,7 @@ bool malidp_format_mod_supported(struct drm_device *drm, { const struct drm_format_info *info; const u64 *modifiers; - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); const struct malidp_hw_regmap *map =3D &malidp->dev->hw->map; =20 if (WARN_ON(modifier =3D=3D DRM_FORMAT_MOD_INVALID)) @@ -931,7 +931,7 @@ static const uint64_t linear_only_modifiers[] =3D { =20 int malidp_de_planes_init(struct drm_device *drm) { - struct malidp_drm *malidp =3D drm->dev_private; + struct malidp_drm *malidp =3D drm_to_malidp(drm); const struct malidp_hw_regmap *map =3D &malidp->dev->hw->map; struct malidp_plane *plane =3D NULL; enum drm_plane_type plane_type; --=20 2.37.3 From nobody Sun May 19 11:37:24 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A85A2C38A2D for ; Wed, 26 Oct 2022 16:00:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234329AbiJZQAY (ORCPT ); Wed, 26 Oct 2022 12:00:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57478 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234369AbiJZQAO (ORCPT ); Wed, 26 Oct 2022 12:00:14 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A5851147B for ; Wed, 26 Oct 2022 08:59:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1666799994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zds5b/EQDqkx7Pyf1ZJFBZj3XHxRFNCLAcjtw1LYg8w=; b=BAtebcG8RQcZMHwNp/HF9717vUaX+IdbxEKCLaUO/CSbjm0MhSNOW4sb+gewH1qzxx0UFi 7wWzG9mPOWCi4K/+RgzY1VSG0QeyoWNvRsoATjZ413VSK+eq8SVVUl2ShL0sv+se+7GaEw 5Y1VwG0vrWWQ7WOi8OyqJ36+2l7Ijh0= Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-275-GLbyE5sMPpKGcr9nkHilYg-1; Wed, 26 Oct 2022 11:59:52 -0400 X-MC-Unique: GLbyE5sMPpKGcr9nkHilYg-1 Received: by mail-ej1-f69.google.com with SMTP id qw17-20020a1709066a1100b0078e25b6a52fso4789978ejc.3 for ; Wed, 26 Oct 2022 08:59:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zds5b/EQDqkx7Pyf1ZJFBZj3XHxRFNCLAcjtw1LYg8w=; b=hteLIvOa7tkFyDCMRB+sNhoIvzZzIbbJiKIq31lPccGtrmVCGtoXuI81Nu40WHWjoV teewp2eoVoMucLL2WY8WsV/ZM6nfSQDabwh552P60Bo0qkjJjlftgr0hOBTzenCPHVYC B14wq2dnKCx5BVsNbA5ggbpkNSwT5GvRKjifJUk+naeKRpDiZsPNcw4sSbzzvzUJb+wp mKKwdDGfn4GSsMRYswtdQLLccIfiVNrwaGNcxBvNrC0+v/QzvEHTorpOJtEa/XZW9Iuo c3oY8KCEe8X1768krnym1a16xZUWuz4gtiynzgKGgORwo6A7uafaemydIvxJdP1T0aYx YOaw== X-Gm-Message-State: ACrzQf3t8AGVR5OpMRW4Bph05D5Z3q16RGilOMg25X+dHJOmO1AO+U2j l7Qz6eeQNKtulbheMbHhdYOtqi62J2OosHN5U0gHgN/myc0ilnMlceKW+E7NqsSPtP+T6HGgfem QNRduzNoq/IgWJ4gPFCeF9ACw X-Received: by 2002:a17:907:7f25:b0:7aa:acf9:c07e with SMTP id qf37-20020a1709077f2500b007aaacf9c07emr11861163ejc.280.1666799991737; Wed, 26 Oct 2022 08:59:51 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7WRefB+4uZiJzq4JmOLaBwL3ie2XJ4MVLpXX9v2tYlWPKvm20oby9JWTOy7syw9NVzzMm8tQ== X-Received: by 2002:a17:907:7f25:b0:7aa:acf9:c07e with SMTP id qf37-20020a1709077f2500b007aaacf9c07emr11861142ejc.280.1666799991498; Wed, 26 Oct 2022 08:59:51 -0700 (PDT) Received: from pollux.. ([2a02:810d:4b40:2ee8:642:1aff:fe31:a15c]) by smtp.gmail.com with ESMTPSA id b8-20020aa7d488000000b00461a6997c5dsm3708285edr.83.2022.10.26.08.59.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Oct 2022 08:59:50 -0700 (PDT) From: Danilo Krummrich To: daniel@ffwll.ch, airlied@linux.ie, tzimmermann@suse.de, mripard@kernel.org, liviu.dudau@arm.com, brian.starkey@arm.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Danilo Krummrich Subject: [PATCH drm-misc-next v3 3/5] drm/arm/malidp: crtc: use drmm_crtc_init_with_planes() Date: Wed, 26 Oct 2022 17:59:32 +0200 Message-Id: <20221026155934.125294-4-dakr@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221026155934.125294-1-dakr@redhat.com> References: <20221026155934.125294-1-dakr@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use drmm_crtc_init_with_planes() instead of drm_crtc_init_with_planes() to get rid of the explicit destroy hook in struct drm_plane_funcs. Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/arm/malidp_crtc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/arm/malidp_crtc.c b/drivers/gpu/drm/arm/malidp= _crtc.c index 34ad7e1cd2b8..dc01c43f6193 100644 --- a/drivers/gpu/drm/arm/malidp_crtc.c +++ b/drivers/gpu/drm/arm/malidp_crtc.c @@ -514,7 +514,6 @@ static void malidp_crtc_disable_vblank(struct drm_crtc = *crtc) } =20 static const struct drm_crtc_funcs malidp_crtc_funcs =3D { - .destroy =3D drm_crtc_cleanup, .set_config =3D drm_atomic_helper_set_config, .page_flip =3D drm_atomic_helper_page_flip, .reset =3D malidp_crtc_reset, @@ -548,8 +547,8 @@ int malidp_crtc_init(struct drm_device *drm) return -EINVAL; } =20 - ret =3D drm_crtc_init_with_planes(drm, &malidp->crtc, primary, NULL, - &malidp_crtc_funcs, NULL); + ret =3D drmm_crtc_init_with_planes(drm, &malidp->crtc, primary, NULL, + &malidp_crtc_funcs, NULL); if (ret) return ret; =20 --=20 2.37.3 From nobody Sun May 19 11:37:24 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id ED510C433FE for ; Wed, 26 Oct 2022 16:00:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234478AbiJZQAq (ORCPT ); Wed, 26 Oct 2022 12:00:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57408 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234383AbiJZQAS (ORCPT ); Wed, 26 Oct 2022 12:00:18 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E184215FFE for ; Wed, 26 Oct 2022 08:59:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1666799998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gpNq1qUZhKiifLu+KM9SiJRwdNZ6qs1ZpRyRyQhvDJU=; b=cQMsX/2TwhWlGCivL3TmNA3IAgeEXgqy83LsR47BA/O7JzhkgMyuRh72+TAmphXMfP5uZ0 c+6MCE+t1ZBs1+2IGrkoBHovNW7ew48BppEDnv74s3VodbseSzlic0CN6QvMlU0SGYQY0G z5qHG4RMS7bg/hOY9xElUhBe/yt0Dfk= Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-177-cBkUlQwhPc-NlAnxL9-JFw-1; Wed, 26 Oct 2022 11:59:56 -0400 X-MC-Unique: cBkUlQwhPc-NlAnxL9-JFw-1 Received: by mail-ej1-f72.google.com with SMTP id qk31-20020a1709077f9f00b00791a3e02c80so4853157ejc.21 for ; Wed, 26 Oct 2022 08:59:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gpNq1qUZhKiifLu+KM9SiJRwdNZ6qs1ZpRyRyQhvDJU=; b=HN6CFFMctbSvd1KaLYLA6fzbAVx9G8ZOW+9tc7sf1mTSpWHh+LL1KAQhmSixyrOerI P3W0O/sYicWmzuTHskdj+CLK7y5NrqBFRZjj3T0rOZGtjJkfCjPtbc8sxGHqiRxVWcMN niy2H9BFG3k24lWIGSh5JGmJPpZAQzRuM9mb0pQV6vZBZSvEGKen5gZcSiIBL2ifOwLv TaIWBHsNTdAG3W+ScZ3DmkKogwmWCAbHrVvqSfJoa+Byb11tJB7npw3wsmwA/zWByJc9 WfVFOTnodZ723l/d7cXrKdtbxH5HrZIAE3q5fIkOhTYw+ecDCZAQJXMb3dBoYcQQabrm YyFw== X-Gm-Message-State: ACrzQf0YsIs5v4kQ471a72yb76EMlIT2z/4MQl2LGVKUiDEZZdLPRStT Dl1BBbZgikKeyrVt6TVScvaMNlCHgFfnjx+mdv++Er/h7rkyUYKlFO7sKm4EroTSnic8tA0cBFY I5I/ZWdWgL+IXMoVYUEXcsQpm X-Received: by 2002:a17:907:7da5:b0:78e:2c3b:55a2 with SMTP id oz37-20020a1709077da500b0078e2c3b55a2mr37640213ejc.96.1666799995807; Wed, 26 Oct 2022 08:59:55 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5YrSAyisghiztcgWJNOopJzEmf3XBSlrRm9MEdt4PsEo1LmsNW0ikCNzTUPDQnoeFLY5vctg== X-Received: by 2002:a17:907:7da5:b0:78e:2c3b:55a2 with SMTP id oz37-20020a1709077da500b0078e2c3b55a2mr37640195ejc.96.1666799995600; Wed, 26 Oct 2022 08:59:55 -0700 (PDT) Received: from pollux.. ([2a02:810d:4b40:2ee8:642:1aff:fe31:a15c]) by smtp.gmail.com with ESMTPSA id a1-20020a1709064a4100b00730bfe6adc4sm3202386ejv.37.2022.10.26.08.59.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Oct 2022 08:59:55 -0700 (PDT) From: Danilo Krummrich To: daniel@ffwll.ch, airlied@linux.ie, tzimmermann@suse.de, mripard@kernel.org, liviu.dudau@arm.com, brian.starkey@arm.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Danilo Krummrich Subject: [PATCH drm-misc-next v3 4/5] drm/arm/malidp: plane: use drm managed resources Date: Wed, 26 Oct 2022 17:59:33 +0200 Message-Id: <20221026155934.125294-5-dakr@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221026155934.125294-1-dakr@redhat.com> References: <20221026155934.125294-1-dakr@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use drm managed resource allocation (drmm_universal_plane_alloc()) in order to get rid of the explicit destroy hook in struct drm_plane_funcs. Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/arm/malidp_planes.c | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/mali= dp_planes.c index 815d9199752f..34547edf1ee3 100644 --- a/drivers/gpu/drm/arm/malidp_planes.c +++ b/drivers/gpu/drm/arm/malidp_planes.c @@ -68,14 +68,6 @@ /* readahead for partial-frame prefetch */ #define MALIDP_MMU_PREFETCH_READAHEAD 8 =20 -static void malidp_de_plane_destroy(struct drm_plane *plane) -{ - struct malidp_plane *mp =3D to_malidp_plane(plane); - - drm_plane_cleanup(plane); - kfree(mp); -} - /* * Replicate what the default ->reset hook does: free the state pointer and * allocate a new empty object. We just need enough space to store @@ -260,7 +252,6 @@ static bool malidp_format_mod_supported_per_plane(struc= t drm_plane *plane, static const struct drm_plane_funcs malidp_de_plane_funcs =3D { .update_plane =3D drm_atomic_helper_update_plane, .disable_plane =3D drm_atomic_helper_disable_plane, - .destroy =3D malidp_de_plane_destroy, .reset =3D malidp_plane_reset, .atomic_duplicate_state =3D malidp_duplicate_plane_state, .atomic_destroy_state =3D malidp_destroy_plane_state, @@ -972,12 +963,6 @@ int malidp_de_planes_init(struct drm_device *drm) for (i =3D 0; i < map->n_layers; i++) { u8 id =3D map->layers[i].id; =20 - plane =3D kzalloc(sizeof(*plane), GFP_KERNEL); - if (!plane) { - ret =3D -ENOMEM; - goto cleanup; - } - /* build the list of DRM supported formats based on the map */ for (n =3D 0, j =3D 0; j < map->n_pixel_formats; j++) { if ((map->pixel_formats[j].layer & id) =3D=3D id) @@ -990,13 +975,14 @@ int malidp_de_planes_init(struct drm_device *drm) /* * All the layers except smart layer supports AFBC modifiers. */ - ret =3D drm_universal_plane_init(drm, &plane->base, crtcs, - &malidp_de_plane_funcs, formats, n, - (id =3D=3D DE_SMART) ? linear_only_modifiers : modifiers, - plane_type, NULL); - - if (ret < 0) + plane =3D drmm_universal_plane_alloc(drm, struct malidp_plane, base, + crtcs, &malidp_de_plane_funcs, formats, n, + (id =3D=3D DE_SMART) ? linear_only_modifiers : + modifiers, plane_type, NULL); + if (IS_ERR(plane)) { + ret =3D PTR_ERR(plane); goto cleanup; + } =20 drm_plane_helper_add(&plane->base, &malidp_de_plane_helper_funcs); --=20 2.37.3 From nobody Sun May 19 11:37:24 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DC32CC433FE for ; Wed, 26 Oct 2022 16:00:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234626AbiJZQAy (ORCPT ); Wed, 26 Oct 2022 12:00:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57404 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234295AbiJZQAS (ORCPT ); Wed, 26 Oct 2022 12:00:18 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 30E97165B4 for ; Wed, 26 Oct 2022 09:00:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1666800002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=itig1DysDm1r5HC5ecqxAlDsypjxBSfKhMXt70+uPpQ=; b=AiGnBsF6b2h2pkK1fzvvUkc31r+uNTzcSquim+2RBLBKbm1m7kltGHvyDNVwJANCJVO6CN z38QXLHez/OkH4VtY0C94WJt5RyFMGc+KPgnpwt6D3k8Xbl7TghgEceurW5GCtflIFoDwx hItzxBu3wsnYKr367Fcp9uuIIo0Idlo= Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-354-aRldX_DWPiaHUSySuefjCg-1; Wed, 26 Oct 2022 12:00:00 -0400 X-MC-Unique: aRldX_DWPiaHUSySuefjCg-1 Received: by mail-ej1-f71.google.com with SMTP id gn34-20020a1709070d2200b0079330e196c8so4814479ejc.16 for ; Wed, 26 Oct 2022 09:00:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=itig1DysDm1r5HC5ecqxAlDsypjxBSfKhMXt70+uPpQ=; b=pg7W0BDD6cka4w7PYjcGNMS6fndIPmQFccJw5I0FQJc2PwhP2ttEcg9WsJVb5EaBkH yu+6Mvi1sLIMjorcUABCWhHhmnCi64kFztADSz0B7Vh+N+wkZxpk5BpBonWzhVpOo2wd 7NGzzU0W4LnGOvfWFwfLcdweCE5itNRw/g9g4Tcoa4RopwboCbK9PWtqT/95LryiM2gd r5d3lk8PyN8qwnEVH1urTw8dTbYWXSgZVoyHb4ta/TaAo1iR8bwIFmo/niSlTRbxYmKV ZwUKzDd73fx1e6wE2dd/0VPDNPWSqV0A1aGMSYLIrz9xS7YTFhbffHDOklu6Jr12C8Le egcw== X-Gm-Message-State: ACrzQf3jAlAfcvJ1Xj2SeyQCGONd0tnsXXO6v4VNTn7bCZQW0y7gqNG3 utPHCqk27hELjUWdwwHHOKtDX0o11cD4dqWgWKagvIWrlsRF1kMzx//XaCOL1kD8suZ3q4H45Hr BkuzjHit6AcyF3ONHAqzFO9nN X-Received: by 2002:a17:906:7304:b0:6ff:a76:5b09 with SMTP id di4-20020a170906730400b006ff0a765b09mr37544941ejc.193.1666799999558; Wed, 26 Oct 2022 08:59:59 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6RAzeOky+aWicOwm978Au2a0Q8a4f3wMcSfD0JMt2cDzwU3i4EMkYFttEdSS0oSo40LYFJEA== X-Received: by 2002:a17:906:7304:b0:6ff:a76:5b09 with SMTP id di4-20020a170906730400b006ff0a765b09mr37544925ejc.193.1666799999427; Wed, 26 Oct 2022 08:59:59 -0700 (PDT) Received: from pollux.. ([2a02:810d:4b40:2ee8:642:1aff:fe31:a15c]) by smtp.gmail.com with ESMTPSA id i17-20020a17090685d100b00773f3ccd989sm3211326ejy.68.2022.10.26.08.59.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Oct 2022 08:59:58 -0700 (PDT) From: Danilo Krummrich To: daniel@ffwll.ch, airlied@linux.ie, tzimmermann@suse.de, mripard@kernel.org, liviu.dudau@arm.com, brian.starkey@arm.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Danilo Krummrich Subject: [PATCH drm-misc-next v3 5/5] drm/arm/malidp: remove calls to drm_mode_config_cleanup() Date: Wed, 26 Oct 2022 17:59:34 +0200 Message-Id: <20221026155934.125294-6-dakr@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221026155934.125294-1-dakr@redhat.com> References: <20221026155934.125294-1-dakr@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" drm_mode_config_init() simply calls drmm_mode_config_init(), hence cleanup is automatically handled through registering drm_mode_config_cleanup() with drmm_add_action_or_reset(). While at it, get rid of the deprecated drm_mode_config_init() and replace it with drmm_mode_config_init() directly. Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/arm/malidp_drv.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_= drv.c index 678c5b0d8014..bebaa5a07e27 100644 --- a/drivers/gpu/drm/arm/malidp_drv.c +++ b/drivers/gpu/drm/arm/malidp_drv.c @@ -396,7 +396,9 @@ static int malidp_init(struct drm_device *drm) struct malidp_drm *malidp =3D drm_to_malidp(drm); struct malidp_hw_device *hwdev =3D malidp->dev; =20 - drm_mode_config_init(drm); + ret =3D drmm_mode_config_init(drm); + if (ret) + goto out; =20 drm->mode_config.min_width =3D hwdev->min_line_size; drm->mode_config.min_height =3D hwdev->min_line_size; @@ -407,24 +409,16 @@ static int malidp_init(struct drm_device *drm) =20 ret =3D malidp_crtc_init(drm); if (ret) - goto crtc_fail; + goto out; =20 ret =3D malidp_mw_connector_init(drm); if (ret) - goto crtc_fail; - - return 0; + goto out; =20 -crtc_fail: - drm_mode_config_cleanup(drm); +out: return ret; } =20 -static void malidp_fini(struct drm_device *drm) -{ - drm_mode_config_cleanup(drm); -} - static int malidp_irq_init(struct platform_device *pdev) { int irq_de, irq_se, ret =3D 0; @@ -874,7 +868,6 @@ static int malidp_bind(struct device *dev) bind_fail: of_node_put(malidp->crtc.port); malidp->crtc.port =3D NULL; - malidp_fini(drm); query_hw_fail: pm_runtime_put(dev); if (pm_runtime_enabled(dev)) @@ -902,7 +895,6 @@ static void malidp_unbind(struct device *dev) component_unbind_all(dev, drm); of_node_put(malidp->crtc.port); malidp->crtc.port =3D NULL; - malidp_fini(drm); pm_runtime_put(dev); if (pm_runtime_enabled(dev)) pm_runtime_disable(dev); --=20 2.37.3