From patchwork Fri May 29 22:03:54 2020
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Pratyush Yadav
X-Patchwork-Id: 1301047
Return-Path:
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
Authentication-Results: ozlabs.org;
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
(client-ip=85.214.62.61; helo=phobos.denx.de;
envelope-from=u-boot-bounces@lists.denx.de; receiver=)
Authentication-Results: ozlabs.org;
dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: ozlabs.org;
dkim=pass (1024-bit key;
unprotected) header.d=ti.com header.i=@ti.com header.a=rsa-sha256
header.s=ti-com-17Q1 header.b=JVyT/Ztn;
dkim-atps=neutral
Received: from phobos.denx.de (phobos.denx.de [85.214.62.61])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits))
(No client certificate requested)
by ozlabs.org (Postfix) with ESMTPS id 49YdrZ28qjz9sRN
for ; Sat, 30 May 2020 08:04:14 +1000 (AEST)
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
by phobos.denx.de (Postfix) with ESMTP id 7A6438067C;
Sat, 30 May 2020 00:04:08 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: phobos.denx.de;
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
Authentication-Results: phobos.denx.de;
dkim=pass (1024-bit key;
unprotected) header.d=ti.com header.i=@ti.com header.b="JVyT/Ztn";
dkim-atps=neutral
Received: by phobos.denx.de (Postfix, from userid 109)
id 36CBE80681; Sat, 30 May 2020 00:04:06 +0200 (CEST)
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
X-Spam-Level:
X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,
DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,SPF_HELO_NONE,URIBL_BLOCKED
autolearn=ham autolearn_force=no version=3.4.2
Received: from lelv0143.ext.ti.com (lelv0143.ext.ti.com [198.47.23.248])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by phobos.denx.de (Postfix) with ESMTPS id 247AA80679
for ; Sat, 30 May 2020 00:04:00 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=p.yadav@ti.com
Received: from lelv0265.itg.ti.com ([10.180.67.224])
by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id 04TM3wTi097635;
Fri, 29 May 2020 17:03:58 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
s=ti-com-17Q1; t=1590789838;
bh=VR7xbURY1q1YHu9C9nRjvR2GKd/yHRE/7MqSrpscz/I=;
h=From:To:CC:Subject:Date;
b=JVyT/Ztnan17mn0p8IzfNv4JMD2BWCNlZc19vxPYfCb6b86SUWVd0LVolywB2w+Xk
ZilqMZ4jSKz5GDWTpOrS1PVCDjiycSVuyv9Z73SYvxZt9lA0hi/owoMMwOlvdw3KPb
1IceDuTZ4crF46SpP5wRyC7mrxpiYvy02VpSClbY=
Received: from DFLE114.ent.ti.com (dfle114.ent.ti.com [10.64.6.35])
by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 04TM3wua124516
(version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL);
Fri, 29 May 2020 17:03:58 -0500
Received: from DFLE107.ent.ti.com (10.64.6.28) by DFLE114.ent.ti.com
(10.64.6.35) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3; Fri, 29
May 2020 17:03:58 -0500
Received: from fllv0040.itg.ti.com (10.64.41.20) by DFLE107.ent.ti.com
(10.64.6.28) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3 via
Frontend Transport; Fri, 29 May 2020 17:03:58 -0500
Received: from pratyush-OptiPlex-790.dhcp.ti.com (ileax41-snat.itg.ti.com
[10.172.224.153])
by fllv0040.itg.ti.com (8.15.2/8.15.2) with ESMTP id 04TM3uhR042574;
Fri, 29 May 2020 17:03:57 -0500
From: Pratyush Yadav
To: Simon Glass ,
CC: Pratyush Yadav , Vignesh Raghavendra ,
Sekhar Nori
Subject: [RFC PATCH 0/1] gpio: Handle NULL pointers gracefully
Date: Sat, 30 May 2020 03:33:54 +0530
Message-ID: <20200529220355.4396-1-p.yadav@ti.com>
X-Mailer: git-send-email 2.25.0
MIME-Version: 1.0
X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.30rc1
Precedence: list
List-Id: U-Boot discussion
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: u-boot-bounces@lists.denx.de
Sender: "U-Boot"
X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de
X-Virus-Status: Clean
Hi,
Patch [0] added devm_gpiod_get_index_optional() which would return NULL
when when no GPIO was assigned to the requested function. This is
convenient for drivers that need to handle optional GPIOs.
We need to take a stance on who is responsible for the NULL check: the
driver or the GPIO core? Do we want to trust drivers to take care of the
NULL checks, or do we want to distrust them and make sure they don't
send us anything bogus in the GPIO core. Linux does not generally trust
drivers and usually verifies anything it gets from them. And FWIW, I see
that the clk and phy subsystems in U-Boot also perform checks like this.
The downside of the checks is of course that they increase code size.
They might also slightly decrease performance. The benefit is that we
don't burden drivers with taking care of this.
The patch itself is based on a similar patch by Jean-Jacques.
[0] https://patchwork.ozlabs.org/project/uboot/patch/20200529213808.2815-2-p.yadav@ti.com/
Pratyush Yadav (1):
gpio: Handle NULL pointers gracefully
drivers/gpio/Kconfig | 9 ++++
drivers/gpio/gpio-uclass.c | 86 ++++++++++++++++++++++++++++++++++----
include/asm-generic/gpio.h | 2 +-
3 files changed, 88 insertions(+), 9 deletions(-)
---
2.26.2