From nobody Fri Apr 10 01:05:53 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 991F137EFF8 for ; Thu, 5 Mar 2026 09:52:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772704322; cv=none; b=rrI6gWMhlZcPHGVwL7hwJ6xm6T3h47yYwS/n9q2ZRx+ErlcIHQRhzNPlGHKoUU/oRndXabQfQFUBU8DAVrnngfLkCsXAlea48BKXPeUUtXqAWcijYSEo+dHiZK3GMqqZF7hBJrOKJiSvr6ppP/m6D685fBdCY3BOT5av8wiv7WA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772704322; c=relaxed/simple; bh=HHxKSnrx8QF12IYAV4N9qkzXGUbUGiRNZBd69B8GJus=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TQf31SKf3mlLXHveGRmBKa44I5NlAFQE9keoEShEH8pof7g9jJBn2WQxXYNXV0As96/7M2vBgtxZt/3FLBtMufpCNOzfbAa2zLBg8zchncbEPyEL7P81VZdbjYh+dkzYBzHTTR/bVHifd6j4XopOdsP1fBn1T655/iyqoLbjrT8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=am21ufQP; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HWHBddrk; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="am21ufQP"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HWHBddrk" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62594jCT020980 for ; Thu, 5 Mar 2026 09:52:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= CHD0ZvMybN/f9h6/Y0JvrxV1/0Bjsr+YtXr5TqQuVw0=; b=am21ufQPh0hu2PwZ 4Wg+bv86mBQiRBwf/Ej1najcNbnmrAMFcJkEeRUX1AOkHd+pe+guARxGfTpJHLAG fiRzI4lzaQHdYJx/E4RXfKcRp4ecSfTMwgzfUd9eVpVhXAHYIom9ldftEMRt8Xya wv6XDGDhdRoPmAYzPk3Tk7UanyNku573qvtwxshE9vwfiL2uuX3bMgJDYwsvCYpw ctroLjqDJaPmvisffJAyN7d1hhdvljE92rZt5I9YMMhhGy1YjM2hqz6tZhCJPtaE jDc/7PeUHEDGk+QhLJu7TzyJDRlf+nq6ZM5BHMfOXaUenIbBoRETNMP6heP8THWM 9ayEOA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpuptj79k-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 09:52:00 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cb52a9c0eeso5839099885a.2 for ; Thu, 05 Mar 2026 01:52:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772704320; x=1773309120; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=CHD0ZvMybN/f9h6/Y0JvrxV1/0Bjsr+YtXr5TqQuVw0=; b=HWHBddrkO2hA9iLfqsYrmwUa3DFYkl34890wOKLTVnvhyafby4cU6gz9TZUft8g6bA RdhhO1DYtvIMaJ75GpIWcniRQxf3/pMIafL/rsUbZqVs/8nGuroKzuGu3TkEcESJVJ58 3S6D39Z32rP+23gqtueB3iWpLtt5P+un3SAIP6A73iyYy66/0t1NfZA03znWgm1t9zdV h/eOwsumf0kHusG5fX26EZGu1JPP6OVV/myzqDjQ5EyxnD9tDUbO/EFRNzB6xOhHQsmb iGSDDAI4D74nKjz+ZlEQEJ8SPL/n9edCHdL5PwNTYXbbWHrg2oEMTl+agvF0Ddh8XH+h 7fFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772704320; x=1773309120; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=CHD0ZvMybN/f9h6/Y0JvrxV1/0Bjsr+YtXr5TqQuVw0=; b=MrSuJXtEzs9aRQlmXg6txw0lotyGRV0ygMehpuY7CTLEheRek53n8BNCfqDhMdK2Xw cuATC1jUs5xVnRnJj8g2KL84tOERIrTmvehlmOBxLs5j5W+L77/4QBWcnHlKO8lh1Gf8 VW6Gruc1k1FNcg9bG0bE+9g3hxAmVa3OSv7n/RmcCJMKGJKtp2Jx6Yq0Tnvpukqxewrk 3lS/w8AZe8HcQvRPgfsgw4FtyDqxcFrqV6mdBz++QOFaVBfNmh+uu6Lw/1f+L6N4ixjP h/RFNe33zvXqgTje9wuFn9JbsXh/rvMoublCCjK0ExcWsQDc+skhGSJ4/hUdr1QKlwTj GtDQ== X-Forwarded-Encrypted: i=1; AJvYcCXvKntnQK/o0dv7+aKBm/OAwlJPwjiTFbFaUvrxIUY/6j2WbTxWbEANhOTHkVWdvpRACZiluu57X12OOQM=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0aks3b29dMjQ0GjCp8EMH2W6ifjlSI7/A6knKHxzgjTmz7n6y V76JFARundpIAb8IKB6M55cNRgt5mWOYEBltqXj34OL0ayQDK1qZm7u5ezGm2hrmK0xwa9xIvbu bTNnwKwNV2yInUH/KtA4dwJZ365AW6QLSxXI7V2Jxa8MTeZW8ZgAYwnwbmJzp/jbTFIs= X-Gm-Gg: ATEYQzwcSYVuGafzRqR99NoE03psWW3yuYyaOgdhmR44inOx+4F6kyGkndZqhaCUmDP Rnj0fJaUykkg8JxqmQcSB8AHxQvRzyNSpEbikfhwU4bEqPew5VAjYnVaL+N3r9DqqaSZwMXjf8U pEepEWFReDw5X1EM5c5z7V2AUC0tSq5FCPTYi1CJkmUxnJ16BA9TDFx7eFAvE6APRiBGiUVBDkW mxOcc+IlHMGn+Waqc/2xMTgFIJxB0Rg96R0ZDrzDPsBYcuqQ672WEzg1Sduk82PdjUYTbu4jaDt s49Inw08xcTxeyC/EPMBM8NNLm55FtStK8MdMDlwKEawylJt7fEQbjFER1QVvU17w4Kvi2rTJpB z333dZRan6eWGBHWUDSCp4YA2Kx+rFetMPFTK8URfjDR2N3pJzjP3 X-Received: by 2002:a05:620a:29d1:b0:8cb:72b2:2a15 with SMTP id af79cd13be357-8cd5af12a64mr588824985a.33.1772704319987; Thu, 05 Mar 2026 01:51:59 -0800 (PST) X-Received: by 2002:a05:620a:29d1:b0:8cb:72b2:2a15 with SMTP id af79cd13be357-8cd5af12a64mr588823785a.33.1772704319561; Thu, 05 Mar 2026 01:51:59 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:8314:9d33:34c1:88ef]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851ad1656bsm35598215e9.24.2026.03.05.01.51.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 01:51:58 -0800 (PST) From: Bartosz Golaszewski Date: Thu, 05 Mar 2026 10:51:31 +0100 Subject: [PATCH 6/6] gpio: sim: allow to define the active-low setting of a simulated hog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260305-gpio-hog-fwnode-v1-6-97d7df6bbd17@oss.qualcomm.com> References: <20260305-gpio-hog-fwnode-v1-0-97d7df6bbd17@oss.qualcomm.com> In-Reply-To: <20260305-gpio-hog-fwnode-v1-0-97d7df6bbd17@oss.qualcomm.com> To: Linus Walleij , Bartosz Golaszewski , Geert Uytterhoeven , Frank Rowand , Mika Westerberg , Andy Shevchenko , Aaro Koskinen , Janusz Krzysztofik , Tony Lindgren , Russell King , Jonathan Corbet , Shuah Khan Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, linux-doc@vger.kernel.org, brgl@kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2203; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=HHxKSnrx8QF12IYAV4N9qkzXGUbUGiRNZBd69B8GJus=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpqVItGibV7CIxkL+FQcAk1MH5WBNN2KFBq4i2N nNYJebj6OOJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaalSLQAKCRAFnS7L/zaE w1gjD/9X6GlKnqvOTIly4upROqqQSVnKHqiA8DysHPSXiS5iN3krsYiZb4kjSRWtLDsjs6N9RSH 66v14HXZDcxmd97WQE2xt0cqBYYxE3LKHrw0901xDk1HzAcPxeoAOB8j6tOQbGN9N8U+frKyruq 6hRZNl6N4C4w60ZvrFbVT5KD0dJ7aynBsLgIFaB5v6bDK2uf993Pelr/fAVd3Wc64YtUUuM4Y4K Y82r8lGxsfD/t+wvUxxPu8GAkqGTuAEww+g+sGNR4F15yFwGTD1UXWmMiAaupBwB9D2XDTj5rxA 9d3GBcO/NXSX38ro2o6SlgMT5ZpZvXsAU28+rVB81JrKYavQn+u2B5Njj20vpXVHbOipFk1ZxpV PDxU0lZD9uOcaGv45XumkJVu52UROm9GhPYlfQE4y/NIIFChQ6YHwcxXR/NbR1VBn0EbHOL1+77 6eVE1ytqDcMd3kvU4aqZdvBMlL48SGz8x1c9rCnwAjcB1SYvzwMaOfWkXKgqsF0H9mC0CXJl77V EHGvjr8+nTeytrqVFiD9cQcB0f7L1rHDcJnztVNxu8uQYh68/3EUw0frZec8ZpGW67RQnC4JW5W uTN0EOg0HQSGwnKfd5gzUOVdVaYJxnZ+ykuxZ144n8Bbx474aE5atdX5Hn81viTWRb7pBy8dDwu t4r0f46Ohl1gLZg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDA3OSBTYWx0ZWRfX7jP3HMiTZRqV aZjitJKwAjNSHcal4B9pmDh5VMjtZyEKFxscQK8wjCpuCHuqGhPSO+wIU85sID4uzPU/7t7MD8f DFi/3ZJGX4F1VFxCVaI7YQ1vuTFwUM0VoE272xOh7rTdcGEKku1eJ9f6AjDDOqVXAuSACetkD02 YJpK8DxsMrOHJDrUA3Zir/xcRBd8qqGkEoijQNcLLmMQz5IUh+OH9Loje5iMM/OB2v2e9BAQc6u +8szpwyppejYmaXB8M5qcYhaQeThglPaBBKjTD3e9+OvTEv6DqT8cV+IBWyHhImOGAvrE7P08g5 L/Jjg0/DH6wkkzA7F2uhbs0BpSy6qiI3uHeb/LbiIoavUep2qt9RDvfDkIQYQHsHVldMZne7avj O/9QfETaXskpP/Zr62O55aPdrL7c2LAvwtvmZbxTpYxWBLpqddRkHybLMQ0TG6SaAbplnksKOer f4WKQiBixsQ3vgxS0uQ== X-Proofpoint-ORIG-GUID: dFgL9H5cfWKklwCOsNpz7RasNWmyhf7Y X-Authority-Analysis: v=2.4 cv=Ddsaa/tW c=1 sm=1 tr=0 ts=69a95240 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=Z_vE--IGminT9Q5MwdQA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-GUID: dFgL9H5cfWKklwCOsNpz7RasNWmyhf7Y X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_02,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 suspectscore=0 bulkscore=0 impostorscore=0 malwarescore=0 spamscore=0 adultscore=0 phishscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050079 Add a new configfs attribute to the hog group allowing to configure the active-low lookup flag for hogged lines. Signed-off-by: Bartosz Golaszewski Reviewed-by: Linus Walleij --- drivers/gpio/gpio-sim.c | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-sim.c b/drivers/gpio/gpio-sim.c index 51bcbdd91b4b027b7a340971a11cce5280ca1295..f32674230237eb08bbf8dd1337a= 79b5d0aa13259 100644 --- a/drivers/gpio/gpio-sim.c +++ b/drivers/gpio/gpio-sim.c @@ -654,6 +654,7 @@ struct gpio_sim_hog { =20 char *name; int dir; + bool active_low; }; =20 static struct gpio_sim_hog *to_gpio_sim_hog(struct config_item *item) @@ -836,7 +837,7 @@ static int gpio_sim_bank_add_hogs(struct gpio_sim_bank = *bank) hog =3D line->hog; =20 gpios[0] =3D line->offset; - gpios[1] =3D 0; + gpios[1] =3D hog->active_low ? 1 : 0; =20 memset(properties, 0, sizeof(properties)); =20 @@ -1315,9 +1316,46 @@ gpio_sim_hog_config_direction_store(struct config_it= em *item, =20 CONFIGFS_ATTR(gpio_sim_hog_config_, direction); =20 +static ssize_t gpio_sim_hog_config_active_low_show(struct config_item *ite= m, + char *page) +{ + struct gpio_sim_hog *hog =3D to_gpio_sim_hog(item); + struct gpio_sim_device *dev =3D gpio_sim_hog_get_device(hog); + + guard(mutex)(&dev->lock); + + return sprintf(page, "%c\n", hog->active_low ? '1' : '0'); +} + +static ssize_t +gpio_sim_hog_config_active_low_store(struct config_item *item, + const char *page, size_t count) +{ + struct gpio_sim_hog *hog =3D to_gpio_sim_hog(item); + struct gpio_sim_device *dev =3D gpio_sim_hog_get_device(hog); + bool active_low; + int ret; + + guard(mutex)(&dev->lock); + + if (gpio_sim_device_is_live(dev)) + return -EBUSY; + + ret =3D kstrtobool(page, &active_low); + if (ret) + return ret; + + hog->active_low =3D active_low; + + return count; +} + +CONFIGFS_ATTR(gpio_sim_hog_config_, active_low); + static struct configfs_attribute *gpio_sim_hog_config_attrs[] =3D { &gpio_sim_hog_config_attr_name, &gpio_sim_hog_config_attr_direction, + &gpio_sim_hog_config_attr_active_low, NULL }; =20 --=20 2.47.3