From patchwork Mon Sep 14 10:50:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1363513 X-Patchwork-Delegate: trini@ti.com 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=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=ibTDaxbH; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (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 4BqjqH0gdBz9sTS for ; Mon, 14 Sep 2020 20:52:11 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D0A59822FD; Mon, 14 Sep 2020 12:51:45 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de 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; secure) header.d=gmx.net header.i=@gmx.net header.b="ibTDaxbH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6028381BEB; Mon, 14 Sep 2020 12:51:43 +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=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 528F981BEB for ; Mon, 14 Sep 2020 12:51:39 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1600080695; bh=ZCwCjlcl5hJucOnmSViPr3crKkP+4YvqyVaTuNF6Mh8=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=ibTDaxbHkLZhmiQoDO062bNQ3U3kIZWIntIR57Wn9LiyngFz+p0qDUzgcokx25gpj kc3b8HIuGV2BA+KLP6oTvllmSMOGPKqg2Y6+IKpHxZFejl/4JoZnMY3djR5itUnkQG bu43y/ysdrdDl/++8LYIvembHn02rJ9H5msJvJhw= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from LT02.fritz.box ([178.202.41.107]) by mail.gmx.com (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1MJE2D-1jx4RA2pVD-00KfZL; Mon, 14 Sep 2020 12:51:35 +0200 From: Heinrich Schuchardt To: Tom Rini Cc: Philippe Reynes , Simon Glass , Patrick Delaunay , Walter Lozano , Wolfgang Wallner , u-boot@lists.denx.de, Heinrich Schuchardt Subject: [PATCH v2 2/3] drivers: gpio: keep output value for input on sandbox Date: Mon, 14 Sep 2020 12:50:55 +0200 Message-Id: <20200914105056.174287-3-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200914105056.174287-1-xypron.glpk@gmx.de> References: <20200914105056.174287-1-xypron.glpk@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:WhOYg9VksOknSrE8/v1K6j+1MDKmGvgb7oBf9fZew9KiDD+o6VG Fa2oyvw9AHVW2OETquAOCLjH6j8pgpDyMeo8XuHuLMWJ7muav0uWrttXCwqm1KG8C2D4auc La4QZ/WVMrtlu/2MUU7IUyAU9esF8PJ7rHGzXbWEr1wWG92olOcOYB39DXXraQB/WSXwcKO JyNw+0J4YlmgJwA02pjiA== X-UI-Out-Filterresults: notjunk:1;V03:K0:v2ghCB7p3PQ=:Qymn3ro1YVUlYWo35A7m2B OgBSGuhdKgACPnQrHK0SCz5L46/MJ5BS++y40SNyEgVV4r4v334ZDFOg3zQG/FTnbDf/BDdGZ AQsj7Jk62616lui62RsP4IqQzKq2ZXOePZoIaEpEPiIuMunGvj8Oj0Hl9jP1PpevPRLnEbuhP EE4IUbOntO9O+L156Cm7zg7thpL5ZOHyOLfV8xY/6tcPXF/MOB/X7zI6Ry2++6HL7r6AyOk+U 5QUO35znqNDLPjdgMMC+IKWdxS2ZFkumQiNzFdLAeY3K2tn2PcYiwam4k7zg5XaOb56+8qAtH XRLih+A7+zEgjaS7vQ5PLuHa7WQ7jrIKKLVGUrX/0dERDLu0Sl7mDHoLVCOWAecsYX+WAgxgJ FjSP56ja3lDlz0uNu6seiqpUf/n8VyfTdbpaXVv/PFcO35QNqqUgbaLZMbDFbIxCgNA3+7DkT YQ03QelCTzOljKTikNHjK2ii/Zux+WHehGBydScQppa39W7NAgh5THkKZqgpn8nYufll18ZpJ xJyDMjbyS7jSFTj4QYFi2G4zGdeOT2P/qoShwdaegYxKRMRr6wd/hHZK4Y90tV6bDV3uTDn4m aC50LQ2EU+ygnImbfcqCcM1VSWZjwWjPYs0zshZIbaElPlFIqOwybYi2B8pvIeOFfvkBSH63j bofDW1xhF9vDSN43tHbh0xtzcEU6urnEw5Gzg+eV7uYBG2/+wdn2uNZ+H3zoS8ZkRzAzTd1Qh yWqyZHHoRnUeMPG8s/2jPUbDE7VWzvqSMFlz7lZ81UrNQF3CYamkUfwsHWhWINbNhQ9Lv5dm/ Hy5U0ITBuZiEZX8wSWYS1ek2mdxyhL4Ed1tjOI3QVFOzwMZ08i/ge3rED39g510WIfdTJKuso w8RHvGYDYsQv5/JCHONqAB9qPA3j+oTvnX7AwgH0tshInoqWsmj147O1PpqjcddPZqdmlzfKn yD+cjYYFSjR3rVImyCzhp5P37lJmk9E0O4aYUel4gF2Q8pxMSR5Kw2/i8qjVKGQ5QsBqgyYKp yErapNf+uzVmtixcsx13d6qqgO5hcr7Wzpcx/tfLgsjH8DH/61wkfPf+en/tPR8FuhEF9oBEo UN6yBTYc6UKmM/0efZmo/tpCtCfdzR/W39+mURSygHUDkTYZRBRTnZs0MCzBPrVaPGdqIHOA7 h2a4dB8kE54TCfjyZHAUn5dMJuvH/L/5ndJopuAfCVjSF8DsXjJf1POPGzzou/VXCY58L9i1f 598Ye0dIgU6MhjsKy3hHgLWhS7HBluJNPOzZi9A== X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.3 at phobos.denx.de X-Virus-Status: Clean For testing purposes keep the output value when switching to input. This allows us to manipulate the input value via the gpio command. Signed-off-by: Heinrich Schuchardt Reviewed-by: Philippe Reynes --- v2: new patch --- drivers/gpio/sandbox.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) -- 2.28.0 diff --git a/drivers/gpio/sandbox.c b/drivers/gpio/sandbox.c index c2f80472b8..eb2600de31 100644 --- a/drivers/gpio/sandbox.c +++ b/drivers/gpio/sandbox.c @@ -185,7 +185,15 @@ static int sb_gpio_set_dir_flags(struct udevice *dev, unsigned int offset, dir_flags = get_gpio_dir_flags(dev, offset); - *dir_flags = flags; + /* + * For testing purposes keep the output value when switching to input. + * This allows us to manipulate the input value via the gpio command. + */ + if (flags & GPIOD_IS_IN) + *dir_flags = (flags & ~GPIOD_IS_OUT_ACTIVE) | + (*dir_flags & GPIOD_IS_OUT_ACTIVE); + else + *dir_flags = flags; return 0; }