From patchwork Wed Oct 26 15:59:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danilo Krummrich X-Patchwork-Id: 11319 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp351158wru; Wed, 26 Oct 2022 09:01:35 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5uEH5wKLUNqkJtOB/DOl/U7zIgUZGdsJ7Mr3t6LF+mH3lFaOvYqSk/e9fgqNAV2pEG1vnN X-Received: by 2002:a05:6402:3c2:b0:461:78ef:e3a6 with SMTP id t2-20020a05640203c200b0046178efe3a6mr21842898edw.364.1666800094891; Wed, 26 Oct 2022 09:01:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666800094; cv=none; d=google.com; s=arc-20160816; b=faULDnTijvpsZJlsZfYps/dvnDBe141alFqJRiAnrvtUPpwCEDfig2D6EqiePEt706 c30e8KXvfCcl7G6SmpVAgDWZhbduNNUZGdMhp01PkDNQF/KahyUjvZxqSuFxPEsdBvOd aAK4qX0TNtO8NLXMjFmyf+qikRSoLPeLZ6+ojqkt5cvRazrFMBcLmaeGWGRagm2uXjyS ZMPwcFPxPUwgcVMct19/y0paeIbW/ms1dyBdKXwQnlbVE76BfAnbNG67XnZWC+4TtrbL Zfbsdlpy7mTQDp4lG6/9XA+cq7OvOoJZV5PazEt/UPPFI9ly72U9JIrdMfV7eh138KEV 6Ssg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=TF2idh4cfIfrFOF9EVS0R3ai/ZWpJhhFk/BXprIYCn4=; b=lQ5eDVAVS8SCvkeqkTa5OnQKGHeQ5G3NiSVQgxNtXHBdhdzvK3jpMY70fTzNjXhbJz M6HIKhp49eiwzqVDczDJ/mTxSM3PgZnNskmitjxf2Mo53nxeFM03D/J7PvWQ0pTnxd4J oKp3FcoXGoIKLu9MsksJwVmjFHZWuUrIxVibquLS25sR8jAs/Tu5Z0yk3KVnqRhu3YS0 c8JYfAf98F6lxxn9RPjm3ydKyI8ZIuJaBOq21cXubrmWBm48lxcIYqMzWItq9j+VlWqd sFfsG0z9sG14fm5XdGhOvOQVEeOV3lx9wrAvnPPRNDojHVRZ+bXUbA6z8URK2B1RQ6Qt jZuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=QYUUfs88; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w22-20020a05640234d600b00461d6a4afd1si7033445edc.8.2022.10.26.09.01.05; Wed, 26 Oct 2022 09:01:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=QYUUfs88; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234281AbiJZQA1 (ORCPT + 99 others); Wed, 26 Oct 2022 12:00:27 -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-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 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747766576122103724?= X-GMAIL-MSGID: =?utf-8?q?1747766576122103724?= 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 = 0, i; u32 version, out_depth = 0; - malidp = devm_kzalloc(dev, sizeof(*malidp), GFP_KERNEL); - if (!malidp) - return -ENOMEM; + malidp = devm_drm_dev_alloc(dev, &malidp_driver, typeof(*malidp), base); + if (IS_ERR(malidp)) + return PTR_ERR(malidp); + + drm = &malidp->base; - hwdev = devm_kzalloc(dev, sizeof(*hwdev), GFP_KERNEL); + hwdev = drmm_kzalloc(drm, sizeof(*hwdev), GFP_KERNEL); if (!hwdev) return -ENOMEM; @@ -753,12 +756,6 @@ static int malidp_bind(struct device *dev) if (ret && ret != -ENODEV) return ret; - drm = drm_dev_alloc(&malidp_driver, dev); - if (IS_ERR(drm)) { - ret = PTR_ERR(drm); - goto alloc_fail; - } - drm->dev_private = malidp; dev_set_drvdata(dev, drm); @@ -887,8 +884,6 @@ static int malidp_bind(struct device *dev) malidp_runtime_pm_suspend(dev); drm->dev_private = NULL; dev_set_drvdata(dev, NULL); - drm_dev_put(drm); -alloc_fail: of_reserved_mem_device_release(dev); return ret; @@ -917,7 +912,6 @@ static void malidp_unbind(struct device *dev) malidp_runtime_pm_suspend(dev); drm->dev_private = NULL; dev_set_drvdata(dev, NULL); - drm_dev_put(drm); 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 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 { }; struct malidp_drm { + struct drm_device base; struct malidp_hw_device *dev; struct drm_crtc crtc; struct drm_writeback_connector mw_connector; From patchwork Wed Oct 26 15:59:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danilo Krummrich X-Patchwork-Id: 11320 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp351495wru; Wed, 26 Oct 2022 09:02:01 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6gnrXlgH4J9wng9cNHQ/OOp+yhmVmY5QYenYyKwMz3a/setaj2h7IFCD6+UY9bpYIJ+iKE X-Received: by 2002:a05:6402:51ca:b0:462:273b:6ad6 with SMTP id r10-20020a05640251ca00b00462273b6ad6mr8102730edd.119.1666800120923; Wed, 26 Oct 2022 09:02:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666800120; cv=none; d=google.com; s=arc-20160816; b=TdMjRuHbzrKSe1mdf6dqyWmw46W7p4eyv+hPNVoiUpGhsHk56QGBQxW26i6cbDqobz Et8p+goGrC2KxK2Gc05vVWDq84kIBbWyw4Oh+DX57OxcZqHBQAD275y1WUNmwIeKQ94i H0cL59aw+Bdn7cnzH0PTT+6XqujItnRn4cDNaqeNp2vDrtnO/hnRxyHhMIhUxruycU6x G605o4NFPPGQ/1RSjj+rpFFuZI5vXdy+LyDmIqu+2I6Byrr/ZRigaQ4huEklG1DQbLmU cIR6qSfPqd2s63KFmqtvo9do13ZNgxiKkPRvBu6rRvz7Pkxs/NYc4tQ4Y0f/XXhPL1bl 6jlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=VkNRAFiSrosnva2K2Nfox+FAdpeu+OumI5CH8YjQjIA=; b=Z8jysT+WYk83bWIAhD7aFe15qKGI9xUp7zTT48ZqxCGl9w4H3PhAP3kXsx7o+QgPmc +g0PEdEWUlSRRpBxoTxL2Bn9v3k+XnQWP9vn1tF9JfiYgpWca/ciIMmBGNLbBiayvYdp 5ycroSz65JyvrsW11+7kCQKzIcV1eLiPkVnVsVY+GiAV5TNGzMFBVGTOQ7fE6mF4DvXQ eJukpYMR0HR0h6Syw5WqxHzRrm74BerbyPRB+1Bj8X18R0wdLnb4hRn4T0Zu1EDG+ytk lTcSGw5sh9G+ibfNwIrMJCuBIHnA0kgnAEPbfOnLKRPGuQFmvlohTkQxxRgGi8vWzTBV s3sw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=X4unO2zB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id rp16-20020a170906d97000b007a9b7e68634si5421343ejb.515.2022.10.26.09.01.24; Wed, 26 Oct 2022 09:02:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=X4unO2zB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234337AbiJZQAg (ORCPT + 99 others); Wed, 26 Oct 2022 12:00:36 -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-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 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747766603556034018?= X-GMAIL-MSGID: =?utf-8?q?1747766603556034018?= 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 = { int malidp_crtc_init(struct drm_device *drm) { - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct drm_plane *primary = NULL, *plane; int ret; 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_crtc *crtc, */ static int malidp_set_and_wait_config_valid(struct drm_device *drm) { - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct malidp_hw_device *hwdev = malidp->dev; int ret; @@ -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 = state->dev; - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); int loop = 5; malidp->event = malidp->crtc.state->event; @@ -231,7 +231,7 @@ static void malidp_atomic_commit_hw_done(struct drm_atomic_state *state) static void malidp_atomic_commit_tail(struct drm_atomic_state *state) { struct drm_device *drm = state->dev; - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = 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_config_funcs = { static int malidp_init(struct drm_device *drm) { int ret; - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct malidp_hw_device *hwdev = malidp->dev; drm_mode_config_init(drm); @@ -429,7 +429,7 @@ static int malidp_irq_init(struct platform_device *pdev) { int irq_de, irq_se, ret = 0; struct drm_device *drm = dev_get_drvdata(&pdev->dev); - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct malidp_hw_device *hwdev = malidp->dev; /* fetch the interrupts from DT */ @@ -463,7 +463,7 @@ static int malidp_dumb_create(struct drm_file *file_priv, struct drm_device *drm, struct drm_mode_create_dumb *args) { - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); /* allocate for the worst case scenario, i.e. rotated buffers */ u8 alignment = malidp_hw_get_pitch_align(malidp->dev, 1); @@ -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 = m->private; - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); unsigned long irqflags; struct malidp_error_stats de_errors, se_errors; @@ -532,7 +532,7 @@ static ssize_t malidp_debugfs_write(struct file *file, const char __user *ubuf, { struct seq_file *m = file->private_data; struct drm_device *drm = m->private; - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); unsigned long irqflags; spin_lock_irqsave(&malidp->errors_lock, irqflags); @@ -553,7 +553,7 @@ static const struct file_operations malidp_debugfs_fops = { static void malidp_debugfs_init(struct drm_minor *minor) { - struct malidp_drm *malidp = minor->dev->dev_private; + struct malidp_drm *malidp = drm_to_malidp(minor->dev); 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 = dev_get_drvdata(dev); - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); 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 = dev_get_drvdata(dev); - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct malidp_hw_device *hwdev = malidp->dev; /* 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 = dev_get_drvdata(dev); - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct malidp_hw_device *hwdev = malidp->dev; clk_prepare_enable(hwdev->pclk); @@ -756,7 +756,6 @@ static int malidp_bind(struct device *dev) if (ret && ret != -ENODEV) return ret; - drm->dev_private = malidp; dev_set_drvdata(dev, drm); /* 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 = NULL; dev_set_drvdata(dev, NULL); of_reserved_mem_device_release(dev); @@ -892,7 +890,7 @@ static int malidp_bind(struct device *dev) static void malidp_unbind(struct device *dev) { struct drm_device *drm = dev_get_drvdata(dev); - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct malidp_hw_device *hwdev = malidp->dev; 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 = 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 }; +#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) struct malidp_plane { diff --git a/drivers/gpu/drm/arm/malidp_hw.c b/drivers/gpu/drm/arm/malidp_hw.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_device *hwdev, u8 block, u32 ir static irqreturn_t malidp_de_irq(int irq, void *arg) { struct drm_device *drm = arg; - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = 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 = arg; - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); wake_up(&malidp->wq); @@ -1252,7 +1252,7 @@ void malidp_de_irq_hw_init(struct malidp_hw_device *hwdev) int malidp_de_irq_init(struct drm_device *drm, int irq) { - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct malidp_hw_device *hwdev = malidp->dev; int ret; @@ -1286,7 +1286,7 @@ void malidp_de_irq_fini(struct malidp_hw_device *hwdev) static irqreturn_t malidp_se_irq(int irq, void *arg) { struct drm_device *drm = arg; - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct malidp_hw_device *hwdev = malidp->dev; struct malidp_hw *hw = hwdev->hw; const struct malidp_irq_map *se = &hw->map.se_irq_map; @@ -1363,7 +1363,7 @@ static irqreturn_t malidp_se_irq_thread_handler(int irq, void *arg) int malidp_se_irq_init(struct drm_device *drm, int irq) { - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct malidp_hw_device *hwdev = malidp->dev; int ret; diff --git a/drivers/gpu/drm/arm/malidp_mw.c b/drivers/gpu/drm/arm/malidp_mw.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 *encoder, struct drm_connector_state *conn_state) { struct malidp_mw_connector_state *mw_state = to_mw_state(conn_state); - struct malidp_drm *malidp = encoder->dev->dev_private; + struct malidp_drm *malidp = drm_to_malidp(encoder->dev); struct drm_framebuffer *fb; int i, n_planes; @@ -207,7 +207,7 @@ static u32 *get_writeback_formats(struct malidp_drm *malidp, int *n_formats) int malidp_mw_connector_init(struct drm_device *drm) { - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); u32 *formats; int ret, n_formats; @@ -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 = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); struct drm_writeback_connector *mw_conn = &malidp->mw_connector; struct drm_connector_state *conn_state = mw_conn->base.state; struct malidp_hw_device *hwdev = malidp->dev; diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_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 = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); const struct malidp_hw_regmap *map = &malidp->dev->hw->map; if (WARN_ON(modifier == DRM_FORMAT_MOD_INVALID)) @@ -931,7 +931,7 @@ static const uint64_t linear_only_modifiers[] = { int malidp_de_planes_init(struct drm_device *drm) { - struct malidp_drm *malidp = drm->dev_private; + struct malidp_drm *malidp = drm_to_malidp(drm); const struct malidp_hw_regmap *map = &malidp->dev->hw->map; struct malidp_plane *plane = NULL; enum drm_plane_type plane_type; From patchwork Wed Oct 26 15:59:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danilo Krummrich X-Patchwork-Id: 11318 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp351041wru; Wed, 26 Oct 2022 09:01:22 -0700 (PDT) X-Google-Smtp-Source: AMsMyM48z4Snj+LK55THGC0ZEzyAzv1AtYD2mXj5L8x+SzeME/9BAXuIDUS6+siSxjPnjKlFpbNo X-Received: by 2002:aa7:c04f:0:b0:457:1b08:d056 with SMTP id k15-20020aa7c04f000000b004571b08d056mr43251667edo.146.1666800082817; Wed, 26 Oct 2022 09:01:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666800082; cv=none; d=google.com; s=arc-20160816; b=D8JESD0HT/DRml/rr41li20IbSMbNl5fiEhJmLfsR4tcn2HhcVtFD/StQeDyXlHI0B ONYWiBtgtj1nxCpaTuLseI5QEVmlxwBn/fE1wfjsFBtcpkhy39DTAb3pWLcOfbbJs2Jc 514MiEbXZP3Hwlt2SO/DhbEOP5Dfqg8mt8gZ1WTyRoWjvHI7pXiGoXHcnTR3jNt6P48+ V16JsCP3pZi4Itk+SPhAP7hftCTKoSUIFKJ3hsMWJyARs0hHj/qf+bp5qzfKxpT+VcWp B1MZoUg9lSkk8c/GdSmkeVAG1/ndvZvhhSZM/P0hYSGQvPkN1ym0Tf8PfKoBFgeOkQrQ Ueog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=zds5b/EQDqkx7Pyf1ZJFBZj3XHxRFNCLAcjtw1LYg8w=; b=OKCRuSBfWdSkq3krj7RUFz3NsMP2gP1kH04dlCBTXrblalHT36414lEs7PNKq6I0Re VtWXcybZkLAmGodl2GhQ8I2cH8TjtSRphkroEeOiLZWGLpi2hwG9ct7PmL51YmZfPTnk RBQdDKbiAoySoxQ/ilmKmOVy7C9X4xOM7P+W3NBi23TEzPFFG+3ZCONn4koRTIKi9wYy E6sFNk7PIZ7yLcJo2XgGVoQC1wfLnVM2shOtk/fRggIOGxKHBo/CD/cVeIo6K8oCqYQM MbFyWw0V0a8s5nsdL1u20hW7avhgvvJPXbqBJW/qt+Mrh7efLwu7K88nJYwGPRkm8VOI VFNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=BAtebcG8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sb1-20020a1709076d8100b0078dcd448f99si5674490ejc.855.2022.10.26.09.00.54; Wed, 26 Oct 2022 09:01:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=BAtebcG8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234492AbiJZQAX (ORCPT + 99 others); Wed, 26 Oct 2022 12:00:23 -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-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 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747766563289702131?= X-GMAIL-MSGID: =?utf-8?q?1747766563289702131?= 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) } static const struct drm_crtc_funcs malidp_crtc_funcs = { - .destroy = drm_crtc_cleanup, .set_config = drm_atomic_helper_set_config, .page_flip = drm_atomic_helper_page_flip, .reset = malidp_crtc_reset, @@ -548,8 +547,8 @@ int malidp_crtc_init(struct drm_device *drm) return -EINVAL; } - ret = drm_crtc_init_with_planes(drm, &malidp->crtc, primary, NULL, - &malidp_crtc_funcs, NULL); + ret = drmm_crtc_init_with_planes(drm, &malidp->crtc, primary, NULL, + &malidp_crtc_funcs, NULL); if (ret) return ret; From patchwork Wed Oct 26 15:59:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danilo Krummrich X-Patchwork-Id: 11322 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp353477wru; Wed, 26 Oct 2022 09:04:42 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7wYFrJ3qR6lM9YTdOu457M0Wx/HCvZ4TtxxpJ+nKlezJ5S5R26W4AqIXF9PquwcpsomyTv X-Received: by 2002:aa7:de9a:0:b0:44d:8191:44c5 with SMTP id j26-20020aa7de9a000000b0044d819144c5mr40978222edv.232.1666800282621; Wed, 26 Oct 2022 09:04:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666800282; cv=none; d=google.com; s=arc-20160816; b=bOG0nWMHZaXMoUPWmnZesqoN/Lps6SqMtB2GyT5BszzkNgQ2EWGxpAIsdZycjO+WXc 559Tgphkw9x33iXMP4jO2sqT00JKjgZl6ZaH1Eg5ZsHYqFkv3VRuf2LGMMRZ/kD9SCyw 8W32AOS0iTKffOpSbV8ezWr6wgze2i07zBpHsQNgW8rfYgziKdNVOhre4NzqUBRi6+lx stGdKl5BDoKlufr/7mZkqTFyUy/IPGMvSXs/nILl/XXE4wo5IKfPoj6n0qdRLn5XQzyL hAxjPbwfBaevV0wREcsOSxEO229K4/oLdfedVIlRcascW1QraGwXHrlTXVw2lVqnbZWH KI8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=gpNq1qUZhKiifLu+KM9SiJRwdNZ6qs1ZpRyRyQhvDJU=; b=pm0UTmrUxh/XexQpli6+9gW1fjAf5Y/FekPtlV+NOcT7tMZzrc3W9jLJNM10BVmWnG y+u6dJnGseFJXbJu4NIX602DJWa4S6wVJiCyKlMeMb2uErZe4lIxOgGwAl4WU+cxWV+H 3AOqJPcVLUSHFlZWbWGQJ9YFOgJ+xrBqf0vwxD6IsNc8SBMW6S0YuhU8ne9MCDirgfC+ saqTfRBTjMrBnUFpGvXpbMSUS6SHvj0FMe/ifqyRgsRT2gzoc7j+ecvhSRLGnC9OcVfT L9kacW+qojbzvlfis50e56jvVMT6eP0Bk3hLWAqmSQX1pXOy+gBSefoDJJtkuolSMLK5 Sxqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="cQMsX/2T"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f17-20020a17090660d100b0078decbc3fe4si5506933ejk.274.2022.10.26.09.04.07; Wed, 26 Oct 2022 09:04:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="cQMsX/2T"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234451AbiJZQAo (ORCPT + 99 others); Wed, 26 Oct 2022 12:00:44 -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-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 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747766772920191639?= X-GMAIL-MSGID: =?utf-8?q?1747766772920191639?= 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/malidp_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 -static void malidp_de_plane_destroy(struct drm_plane *plane) -{ - struct malidp_plane *mp = 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(struct drm_plane *plane, static const struct drm_plane_funcs malidp_de_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .destroy = malidp_de_plane_destroy, .reset = malidp_plane_reset, .atomic_duplicate_state = malidp_duplicate_plane_state, .atomic_destroy_state = malidp_destroy_plane_state, @@ -972,12 +963,6 @@ int malidp_de_planes_init(struct drm_device *drm) for (i = 0; i < map->n_layers; i++) { u8 id = map->layers[i].id; - plane = kzalloc(sizeof(*plane), GFP_KERNEL); - if (!plane) { - ret = -ENOMEM; - goto cleanup; - } - /* build the list of DRM supported formats based on the map */ for (n = 0, j = 0; j < map->n_pixel_formats; j++) { if ((map->pixel_formats[j].layer & id) == id) @@ -990,13 +975,14 @@ int malidp_de_planes_init(struct drm_device *drm) /* * All the layers except smart layer supports AFBC modifiers. */ - ret = drm_universal_plane_init(drm, &plane->base, crtcs, - &malidp_de_plane_funcs, formats, n, - (id == DE_SMART) ? linear_only_modifiers : modifiers, - plane_type, NULL); - - if (ret < 0) + plane = drmm_universal_plane_alloc(drm, struct malidp_plane, base, + crtcs, &malidp_de_plane_funcs, formats, n, + (id == DE_SMART) ? linear_only_modifiers : + modifiers, plane_type, NULL); + if (IS_ERR(plane)) { + ret = PTR_ERR(plane); goto cleanup; + } drm_plane_helper_add(&plane->base, &malidp_de_plane_helper_funcs); From patchwork Wed Oct 26 15:59:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danilo Krummrich X-Patchwork-Id: 11321 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp351805wru; Wed, 26 Oct 2022 09:02:25 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4C8Jo13kz8PsCOe9w39qn+KgjS5Ae+oW7Cjno3gX+hlHdPYZY+6Tdo3KWbWv9V51D1mFkf X-Received: by 2002:a17:906:7304:b0:6ff:a76:5b09 with SMTP id di4-20020a170906730400b006ff0a765b09mr37557438ejc.193.1666800145592; Wed, 26 Oct 2022 09:02:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666800145; cv=none; d=google.com; s=arc-20160816; b=JqRafY+BJttfKBx0dBwN82BO2zX5XM2PcFQunECLNM/mc4aByKTP+t1w93t1FjZw69 hA+kO7zbOZPm/acQqdAK9ZDRSuK87nyXvWNUVqEV7emdj7kbLb8WxeB79teGhqBuRTEP DUXS36H18BG/SXEkib4nGUa2eCJ6aMh1tYwiU/xA+L+eTKVWQFpXoW1VzCMi54UPHGLp J0pm3ykN5c+vIW+2AxEtw+HLhhHfCh1swmvYD6V8baTR+cJCSACXIKLuHJ35Iz4sg2E3 ik78yEpRhGyCWI3H8FxJpGQFfjBuluzAtP1abuuA8VLhFIFqlD1sVPhjQ41GmnIUEXqj Hs0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=itig1DysDm1r5HC5ecqxAlDsypjxBSfKhMXt70+uPpQ=; b=g7SBYfjnVGZkYIH4GeNZb/aIvYNnddFUdrXWaP3uAFBBySRI5bGVOtrHieqI9Imc5T xVyBLOrFL+m2zGUMnJFJDKF75qrH8nahc2p7UYMwb2GRIFEJx9u4B9w7j8v0usu6PSQ9 MVsy0+i/dynSFy8M02z/DRYQVrE+wmwXJ0ZESGQVOSlW8ApM3DDkrM6ufcLKNfU4y5co arwPoawrq1Zvx22mZBwHSUA7dRYjf7G71w2+xWRR1Ab4r5oLgVSnTlPOKnIT9Cr9aTFF ojkjsA9Q97BEcGbQBRH9TRWg98wH3w3YrtKsnL1ADMwmHOYRQnv4mlCbBVTGUNt538IJ 48Fg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=AiGnBsF6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a5-20020a05640213c500b0044ebf99d6f9si5197624edx.263.2022.10.26.09.01.56; Wed, 26 Oct 2022 09:02:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=AiGnBsF6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234620AbiJZQAw (ORCPT + 99 others); Wed, 26 Oct 2022 12:00:52 -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-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 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747766629411958952?= X-GMAIL-MSGID: =?utf-8?q?1747766629411958952?= 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 = drm_to_malidp(drm); struct malidp_hw_device *hwdev = malidp->dev; - drm_mode_config_init(drm); + ret = drmm_mode_config_init(drm); + if (ret) + goto out; drm->mode_config.min_width = hwdev->min_line_size; drm->mode_config.min_height = hwdev->min_line_size; @@ -407,24 +409,16 @@ static int malidp_init(struct drm_device *drm) ret = malidp_crtc_init(drm); if (ret) - goto crtc_fail; + goto out; ret = malidp_mw_connector_init(drm); if (ret) - goto crtc_fail; - - return 0; + goto out; -crtc_fail: - drm_mode_config_cleanup(drm); +out: return ret; } -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 = 0; @@ -874,7 +868,6 @@ static int malidp_bind(struct device *dev) bind_fail: of_node_put(malidp->crtc.port); malidp->crtc.port = 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 = NULL; - malidp_fini(drm); pm_runtime_put(dev); if (pm_runtime_enabled(dev)) pm_runtime_disable(dev);