From patchwork Thu Aug 23 10:33:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 144901 Delivered-To: patch@linaro.org Received: by 2002:a2e:1648:0:0:0:0:0 with SMTP id 8-v6csp24116ljw; Thu, 23 Aug 2018 03:33:53 -0700 (PDT) X-Google-Smtp-Source: AA+uWPwEu7exai04XwUO3VMQC5wjASihESR9KqgFMP7uC2X50BGMpgOTSIZlhtLMeligIMrt3eRv X-Received: by 2002:a65:448c:: with SMTP id l12-v6mr54907111pgq.277.1535020432879; Thu, 23 Aug 2018 03:33:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535020432; cv=none; d=google.com; s=arc-20160816; b=j5bFSto9Tix/1ZQvX2Ocpfp1A5RvZCdA2qEBZNpZw1FsikaxqdJj8LYPRYjOXbc+s1 V9/C7oY3nTSUUiicOaBaT5co71xXWRGoGtF+UKSSAC5l9JvgtNmSD5iKLo6WDusU/xCX 2ta3DjE1BcedXl9hNOdDtRPeWfGqyC1jXkzJkGEGU78O2uylhUva0pz5i9wlDWySHxFM /mYSsCYws87c1AKcsI5hVPw0GAm9MNrCfhC1ksDa2fUgtTZ/AjoKpOLLJetdMYz3nTlH TxruCu8sLwik4q4RQjvNrs7pDzbok4SmAOG9swjofksNKn9e5nh7pc3PL2C6FYCW8ADL WHAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=6Ph8FOTe30oWA9DunxxoHHQkqbM6/3H5VfapCYKHjz8=; b=klfAt8n2bf+IG4MObI4VGOCiv7jDafcjBNMeJvE253iNJ+j8YVr8jXKaXR3CsftkK/ ubreMs9L5j1ZaRMvm/QMrTPtsrPsXcu284CEosDA+gS0CapWLBB77DVHEa81zWyaS4pf ELjvjq2oyNU+b9op+a3jvW6Y1hSa0c5d5F3B4sa3SNYql1MYdyMSEvHpU+WtV9AMEG6v p5yfvyHp5evQ3iIKHRI/Xviiejyxp5ny9wnv0LZyRrjC1mwZ1A5wrzUu7wK9YDoRK4O3 dBo6D6MwEvS1ttyn/5VHofWFKD03blIJ5zBbANz1YJN8Ny40pShhUjIy/gnAzoCb3Msd a+AA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BJ5p2eeZ; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 5-v6si4040393pls.431.2018.08.23.03.33.52; Thu, 23 Aug 2018 03:33:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BJ5p2eeZ; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727823AbeHWOCz (ORCPT + 6 others); Thu, 23 Aug 2018 10:02:55 -0400 Received: from mail-lj1-f196.google.com ([209.85.208.196]:38019 "EHLO mail-lj1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728110AbeHWOCz (ORCPT ); Thu, 23 Aug 2018 10:02:55 -0400 Received: by mail-lj1-f196.google.com with SMTP id p6-v6so3761140ljc.5 for ; Thu, 23 Aug 2018 03:33:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=6Ph8FOTe30oWA9DunxxoHHQkqbM6/3H5VfapCYKHjz8=; b=BJ5p2eeZvSyIc0FV9hey+AybPljaO2vN/E8U0iNBNtBFRIzBE1+kVLk4rebb3Cmm99 kkuJ8AZZZmuSEtvLfC46rntJNB94gUeEXtKhWh9B1lzn+9GiIzKpw7TibRLtEBtoIQcm 1r3fubglzqMR6h6o0x2EmdnZ3/qV1gKOGhH4w= 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=6Ph8FOTe30oWA9DunxxoHHQkqbM6/3H5VfapCYKHjz8=; b=q3+STOlweLf2IR8TPXGbAq8iuxJGir33xMqZLyiNKx7RM3qWsDPMIsHaZ0e15z25P8 ONMWTQm7FFeWF83jYXYLVddfOUDnFKChpB1Ot5ObZrrWSRLG06RshhKo4AK79qrLBHvu WHNV76HqvCyfbPpkg1VywUch6qgWxJ7gejoVYjiLXEESskU+oPLFmgHjP4X7GtRpFjaf kuMby+hppzP2CNOkTJ5cuCN7GQvGwooElLh443fw5z5Mot68fcHkYl3wFd+pv3pXG36W qKjtqjLcsAIjuFGVOKfgG2EjYSqxqihjegymXqvpSPBYbL7FMRNluVz1zSsEFmHPRSn1 jl0A== X-Gm-Message-State: APzg51BQr37sEttkO4lLJf5SHpuUw93278/j5pbzq4Df+Md4Qu9GWV2D G32mdkzoz2Eb+t/wkjy1Uxz3bg== X-Received: by 2002:a2e:8807:: with SMTP id x7-v6mr5290625ljh.98.1535020429925; Thu, 23 Aug 2018 03:33:49 -0700 (PDT) Received: from genomnajs.ideon.se ([85.235.10.227]) by smtp.gmail.com with ESMTPSA id s74-v6sm556898lfg.79.2018.08.23.03.33.48 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 23 Aug 2018 03:33:48 -0700 (PDT) From: Linus Walleij To: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, dev@lists.96boards.org Cc: John Stultz , Manivannan Sadhasivam , Rob Herring , Mark Rutland , Frank Rowand , Mark Brown , Michal Simek , Andy Shevchenko , Mika Westerberg , Arnd Bergmann , Linus Walleij , Bartosz Golaszewski , linux-i2c@vger.kernel.org Subject: [PATCH 1/4] eeprom: at24: Allow passing gpiodesc from pdata Date: Thu, 23 Aug 2018 12:33:29 +0200 Message-Id: <20180823103332.32047-2-linus.walleij@linaro.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180823103332.32047-1-linus.walleij@linaro.org> References: <20180823103332.32047-1-linus.walleij@linaro.org> Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org This makes it possible to pass an initialized GPIO descriptor to the driver through platform data. This is useful when we are dealing with EEPROMs on expansion boards where the GPIO has to be looked up indirectly using a connector abstraction (several systems using the same connector) so the machine descriptor tables cannot be used to associate the descriptor with the device and we then want to pass this descriptor on to the EEPROM driver this way instead. Cc: Bartosz Golaszewski Cc: linux-i2c@vger.kernel.org Signed-off-by: Linus Walleij --- ChangeLog v1->v2: - No changes - Requesting an ACK from the EEPROM maintainer (Bartosz) so we can apply this to the ARM SoC tree with the series depending on it. --- drivers/misc/eeprom/at24.c | 6 +++++- include/linux/platform_data/at24.h | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) -- 2.17.0 diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index f5cc517d1131..d577cdbe221e 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -662,7 +662,11 @@ static int at24_probe(struct i2c_client *client) at24->client[0].client = client; at24->client[0].regmap = regmap; - at24->wp_gpio = devm_gpiod_get_optional(dev, "wp", GPIOD_OUT_HIGH); + if (pdata.wp_gpiod) + at24->wp_gpio = pdata.wp_gpiod; + else + at24->wp_gpio = + devm_gpiod_get_optional(dev, "wp", GPIOD_OUT_HIGH); if (IS_ERR(at24->wp_gpio)) return PTR_ERR(at24->wp_gpio); diff --git a/include/linux/platform_data/at24.h b/include/linux/platform_data/at24.h index 63507ff464ee..5606fb2ef76c 100644 --- a/include/linux/platform_data/at24.h +++ b/include/linux/platform_data/at24.h @@ -11,6 +11,7 @@ #include #include #include +#include /** * struct at24_platform_data - data to set up at24 (generic eeprom) driver @@ -55,6 +56,7 @@ struct at24_platform_data { void (*setup)(struct nvmem_device *nvmem, void *context); void *context; + struct gpio_desc *wp_gpiod; }; #endif /* _LINUX_AT24_H */