From patchwork Mon Feb 17 19:54:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1239543 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.a=rsa-sha256 header.s=20150623 header.b=QU3yhGzt; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48LvpF64NVz9sRG for ; Tue, 18 Feb 2020 06:54:45 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729608AbgBQTyo (ORCPT ); Mon, 17 Feb 2020 14:54:44 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:39933 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729481AbgBQTym (ORCPT ); Mon, 17 Feb 2020 14:54:42 -0500 Received: by mail-wr1-f66.google.com with SMTP id y11so21192525wrt.6 for ; Mon, 17 Feb 2020 11:54:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=XWr9d1ajXFj1+3i5dkAdmDb2mHo0visFJ3r0UjQmCPA=; b=QU3yhGzt1nI2tSShwBcrtbO8PsjxVzQf42Ad56dDCNe/2PndW4x+YwT43UAD+tMgSO x/Faym00HrVbq+9y63LY2lOz9PNpw0Zu+oMhLBFrwIXpCUIvLBuuuStlmcZoBVfS5osl GpWXToShF1Ny3an8qWLn57OPAX90d4JKpJpdx9XlNU2QCMXSed8qmKC5KzhwWAHtKHjC N87eK20TEDcRLCavoSm6UIL7b3z7zWLQsBCreQsMBIkwVPmG46i3rucA19h5kSDYHmq/ 4BbMwdTaOJCVW9CINC4aq/rfRGE2eR6VpkgK4VE2/vv/3TojugIhwJULOyS4W3VIPhGW y9FQ== 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:mime-version :content-transfer-encoding; bh=XWr9d1ajXFj1+3i5dkAdmDb2mHo0visFJ3r0UjQmCPA=; b=AMKhJmM2DzxdWJimyNHzopPXWsUzlhSsKMet5mw3rUrCx7prX1fsmdXfCukcNANnJU o3tYwYt63gNH1vlLjnJm57um5mTx7+mbBs0Wve7KUsrlzCEBJCr1tL3VUr18rBjUKQx8 NWkid1R9eTAV4TZoLVu5BpmI8vFeooIgUF4ieTl9uBJ5B6bH985IWRy+oLdMmY3MHWaS 1/yFV+3XnC5EI4c/7atsEpjkEs4auEEDgOc85HNz3/7LYeQ2yviWmRq5PtzSlgIKMJzs A9hreCCtwMdkrjK9Jkp3pKmSPnPystfYJONfgNahGFGJU/OVtpyl3EK/cVjKJX2AG01+ 40Dw== X-Gm-Message-State: APjAAAVNj5VLrmQDJrjcbFAYX2sig3ontpG0MXA2ozEr2Fgs3BbR1SSe zOGUwosmLhUo9/8GvGOrgYm3BxBT4nk= X-Google-Smtp-Source: APXvYqywsM8jPQ7r6g46gIuEMB7OfnXrRlAZ0KPt3Y7Pl/+BOIWuy+or7jMvqVTQPx91QlvOxzKdEg== X-Received: by 2002:a5d:498f:: with SMTP id r15mr23384114wrq.284.1581969279536; Mon, 17 Feb 2020 11:54:39 -0800 (PST) Received: from debian-brgl.local (8.165.185.81.rev.sfr.net. [81.185.165.8]) by smtp.gmail.com with ESMTPSA id v5sm2679469wrv.86.2020.02.17.11.54.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2020 11:54:39 -0800 (PST) From: Bartosz Golaszewski To: Linus Walleij , Srinivas Kandagatla , Khouloud Touil Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH 0/6] nvmem/gpio: fix resource management Date: Mon, 17 Feb 2020 20:54:29 +0100 Message-Id: <20200217195435.9309-1-brgl@bgdev.pl> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Bartosz Golaszewski This series addresses a couple problems with memory management in nvmem core. We fix an earlier memory leak in error path in patch 2/6. Patches 1/6, 5/6 & 6/6 add reference counting to gpio_desc structure and use it to correctly free the write-protect GPIO. Patches 3/6 & 4/6 fix newline problems. Bartosz Golaszewski (5): gpiolib: use kref in gpio_desc nvmem: fix memory leak in error path nvmem: remove a stray newline in nvmem_register() nvmem: add a newline for readability nvmem: increase the reference count of a gpio passed over config Khouloud Touil (1): nvmem: release the write-protect pin drivers/gpio/gpiolib.c | 26 +++++++++++++++++++++++--- drivers/gpio/gpiolib.h | 1 + drivers/nvmem/core.c | 14 ++++++++++---- include/linux/gpio/consumer.h | 1 + 4 files changed, 35 insertions(+), 7 deletions(-)