Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1322486pxk; Fri, 25 Sep 2020 11:36:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzR7osLFDei7EL5CpqHRNb+KuI+gnZSw3CnDz2vNnQlIa1e2MG/rNXCg/0aNLp5vkZe3fXX X-Received: by 2002:a17:906:cb94:: with SMTP id mf20mr4244544ejb.8.1601058992629; Fri, 25 Sep 2020 11:36:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601058992; cv=none; d=google.com; s=arc-20160816; b=kxCzXMqlzdjb0irEFGJcZmKblBbv/QK5NvjRVEaI0TsiYbFAl5tsIfNzgepVfFHT/N 7nmiNF/bPSDV4Ct41chD36QyD70TAgE5co1fzX+RIWkjMK7eUgVfIqvk/Ozp/q66ZKbc 7cBBFsQZ9dgibrchwHKCZbZQQzB+6tACJJxsJv8OtEbrrz0u82PKkK9LLVtJqD+LcCK9 DgNikBbEcMx0cjW5NGWI2u74v/591+PYZSqdPSJJ4/sbYcRaHgJ3P13T4Z1O6UYmJ/li CoOJ+00PTyN4jI7Eta7O2pNGkRSYW4KAnqObgZyNt79dzGjon3iDFW3FCDt0njRakCy3 1Nlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=Y4t9XD5GcXO3lFZ+ybjaf1F+Annig7SwGk+A/Y+pjdk=; b=LwtgTkZxb3gvV+6wtTJHaDefv+fMewKb/YZUOREOob9dCHfiLOyWYPori9M5CZQyrg zfAfSVB41RxBUGzs8dLW05/pK6gAh04hIimSA1CzkakBnGQgSpeL5ACTBgG+06CYh7xS LRI8Fngg1Srd5lzo1AJX9hwgNhsKeyVpXKAoOsKk/J3sfNr2qU6B4Ym3tG526pQ63dJm +uEMZXHco5pwsW72qGAZcWbp8WORYK/kZrT8dfN6dqfon648NXB5CR7tQSO6GIfdrPCg N2AGVajjRshFUAucQRft/bTmCasswoeWIkrcKEShpP3TvcVcarhZhm2fIOEGB5GEJYGb Zcog== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=ps5alxjC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d8si2378346edt.19.2020.09.25.11.36.09; Fri, 25 Sep 2020 11:36:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=ps5alxjC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730075AbgIYSeK (ORCPT + 99 others); Fri, 25 Sep 2020 14:34:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35534 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729753AbgIYSeJ (ORCPT ); Fri, 25 Sep 2020 14:34:09 -0400 Received: from mail-pf1-x444.google.com (mail-pf1-x444.google.com [IPv6:2607:f8b0:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2F873C0613CE for ; Fri, 25 Sep 2020 11:34:09 -0700 (PDT) Received: by mail-pf1-x444.google.com with SMTP id w7so4020694pfi.4 for ; Fri, 25 Sep 2020 11:34:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Y4t9XD5GcXO3lFZ+ybjaf1F+Annig7SwGk+A/Y+pjdk=; b=ps5alxjCCkw3sEZk28BUPykUXqpAofgGVKU9pyPIjeI0A6G8AFZm4MK610NXSwkTWc 9h9DteIGcYZi8GsWRQty6IUxGO233CrA66oS+Ezdb5VzLnvvxGqfGpFp+XOidIdvnEEu 1A50cXL0gCgdAIoxKfE0fRxFxRMygwpVs07dyQFR7qgdvzoflwImMBf8v+dByU0huFoc Fei/kr3Ap0BWSNYLNuoDOYs4tsucvJChyZpuBib2Utn/z1dwI1bl3WszECgPdbCNm4CR XH+4adj29Q/OV1Va87/bn9e0gSAmodEt6I2SBQJjdfwVJFbuaSDsmFYBrI+Kiy7Kc4XT lKgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Y4t9XD5GcXO3lFZ+ybjaf1F+Annig7SwGk+A/Y+pjdk=; b=PndVVBvTh6st+8r2VmyP607CekqRlT4RwRglIacHoGbBRCjvrRPlYahJX9vDDw2rJS xs5uAsgrKlusmOyD8kWHY78NVjIkiq4A246i/9JJfJbh1roSopjFRG/EZyWeX2DwMHcg fJrTyUUjuVP2/IP6Z8+f0OXIKgPfueWQxgBJFfKLH55f7cRkiP718/TT4pvrCjPMwtuV t9dLsx1ygiU86NxS+QlcvKP6M3ZDs+eCZoEU64M0TP8eRK/iDvPYplnbBP/470uSOaat jkRUCHNFVF2aVA8FOcpwB2Uh/ib/SOwdd36PhZ4fLiehMZ8Vj8FVPqt3d6pUeyRpAAK7 1mOQ== X-Gm-Message-State: AOAM533TdFkT46gyE66MiSQ9K3UYcyZ5z5wm1dGUAmLs3IhegKI1qtlH +8IDzlb5muEKfojrgU70DgxQnQ== X-Received: by 2002:aa7:869a:0:b029:142:2501:34d1 with SMTP id d26-20020aa7869a0000b0290142250134d1mr582877pfo.42.1601058848735; Fri, 25 Sep 2020 11:34:08 -0700 (PDT) Received: from localhost.localdomain ([51.15.160.169]) by smtp.googlemail.com with ESMTPSA id r16sm2554546pjo.19.2020.09.25.11.34.03 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Sep 2020 11:34:08 -0700 (PDT) From: Corentin Labbe To: gregkh@linuxfoundation.org, mchehab@kernel.org, hverkuil@xs4all.nl, laurent.pinchart@ideasonboard.com Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Corentin Labbe Subject: [PATCH RFT/RFC v2 29/47] staging: media: zoran: use devm for videocodec_master alloc Date: Fri, 25 Sep 2020 18:30:39 +0000 Message-Id: <1601058657-14042-30-git-send-email-clabbe@baylibre.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1601058657-14042-1-git-send-email-clabbe@baylibre.com> References: <1601058657-14042-1-git-send-email-clabbe@baylibre.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Let's use devm allocations for videocodec, this simplify code. Signed-off-by: Corentin Labbe --- drivers/staging/media/zoran/zoran_card.c | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index fe0c5a7c967c..a3e7b0027d69 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -996,18 +996,10 @@ static void zoran_remove(struct pci_dev *pdev) goto exit_free; /* unregister videocodec bus */ - if (zr->codec) { - struct videocodec_master *master = zr->codec->master_data; - + if (zr->codec) videocodec_detach(zr->codec); - kfree(master); - } - if (zr->vfe) { - struct videocodec_master *master = zr->vfe->master_data; - + if (zr->vfe) videocodec_detach(zr->vfe); - kfree(master); - } /* unregister i2c bus */ zoran_unregister_i2c(zr); @@ -1036,7 +1028,7 @@ static struct videocodec_master *zoran_setup_videocodec(struct zoran *zr, { struct videocodec_master *m = NULL; - m = kmalloc(sizeof(*m), GFP_KERNEL); + m = devm_kmalloc(&zr->pci_dev->dev, sizeof(*m), GFP_KERNEL); if (!m) return m; @@ -1245,7 +1237,7 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) zr->codec = videocodec_attach(master_codec); if (!zr->codec) { pci_err(pdev, "%s - no codec found\n", __func__); - goto zr_free_codec; + goto zr_unreg_i2c; } if (zr->codec->type != zr->card.video_codec) { pci_err(pdev, "%s - wrong codec\n", __func__); @@ -1259,7 +1251,7 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) zr->vfe = videocodec_attach(master_vfe); if (!zr->vfe) { pci_err(pdev, "%s - no VFE found\n", __func__); - goto zr_free_vfe; + goto zr_detach_codec; } if (zr->vfe->type != zr->card.video_vfe) { pci_err(pdev, "%s = wrong VFE\n", __func__); @@ -1280,12 +1272,8 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) zr_detach_vfe: videocodec_detach(zr->vfe); -zr_free_vfe: - kfree(master_vfe); zr_detach_codec: videocodec_detach(zr->codec); -zr_free_codec: - kfree(master_codec); zr_unreg_i2c: zoran_unregister_i2c(zr); zr_free_irq: -- 2.26.2