From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oi1-f180.google.com (mail-oi1-f180.google.com [209.85.167.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9607F350A36 for ; Wed, 11 Feb 2026 08:14:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770797659; cv=none; b=eCrmll/sMSLoNRmeQsCsP5fAbsExZTmozuWDhNGt0z6EzxRJxU7VrqphsL3ZWLm46Nu6rxdWy2MX5esNb/EwzXVp0d846yisMagIR447Ry98FdpdH+E8kb5lHCIyBkWCDWuvMynrSnsq3gUq46v3tepP+aGd9bp5IegfEPKKDY8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770797659; c=relaxed/simple; bh=tqXXY5duIcwljLAHXHGNBSSfoC8NsDselCm3mncAnsk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TdeozKqrO8VhOJP7oC8PpVSF/BzRY276c63RiALE4qacyf+rA9XOmO9CZTo8rIu0e4FxPnXJSNaPqBevAuHNUv4U74/pPA9euicTmwHFWJ/6QM4jsEMPaj4VS03HvmHSYIL3Ew27fiQcszeWExsxYOVKI5f/TDFusuXPhXjJ9Dc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HmC4tRNy; arc=none smtp.client-ip=209.85.167.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HmC4tRNy" Received: by mail-oi1-f180.google.com with SMTP id 5614622812f47-45f0dbe7dafso1759696b6e.3 for ; Wed, 11 Feb 2026 00:14:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770797656; x=1771402456; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Pguu8MUXddF1NDD8QGGi3BFiPLSK8t0wKet5P/7CmbE=; b=HmC4tRNyQy5GQjXKdLipBqaddW1zNLnO7aqqrVt+qwtUlTvNQPrbK+6Sla4a4U3nMi 6ZMlF5XElj1F5+alc9Ma0lH1mpMZSoOy+RSJ7XN7smUHVlyuRnmAHFzpc2MmbcM4NTmL qi6YdBkoOrnd8etaJLur1Onj5ChbsLaF/TwjcOTO80Lq8iTYWxxDkX1jaOO12MdPgRx1 gGKy0T5FnHwkD1PRGlxbNc/dE90brSDr/mVMc/Zz3ps5wy0hQGjrwFacZ9Jv3wC0Cy1M 7MZ9MxV+d0PBBCoBT/dt9xKvIsXJlFKoCrcXkdSXCBFwAfHMUQB5QLsgc5J6bWPeFc7E /Jyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770797656; x=1771402456; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Pguu8MUXddF1NDD8QGGi3BFiPLSK8t0wKet5P/7CmbE=; b=VI/JloLS708rIMjA2hQueOxUkk2/4ECEho5dptJGlFn43NBC7unupQJM6jHH2ThN/U ZAkCfK+LFSo2ObN0TZD/mHpgbzIeEU+RTIyWM8+nMUm47tf5phtaFXzf4vSxN/p2pwRy UGUyR+MASgTzjnXqqWLK5acsaf16jEYclAbnkAL6bMFjVsuTpuePPFuPOlUSznptFRX/ 4EreSIm8qBR/pA5knme7LJ0LeWWJukyLWFWs5La3Gag9mQONs4uEeK4a0gRCs4WbKoDc hKTkg/DA8sG5xaNjEG/dW6ARD3NERMA2OgDPRFvep4rJJSkU5dfzgi7qAXDChZSs/Bde d0bw== X-Forwarded-Encrypted: i=1; AJvYcCVv9CEjtas+59+EZ9WZ4NSL1kD0TubAuyoCNLb4XR3WheKR+cHP79V3r/2JY1wQ1CnRSP+jTnOkjfQKAmw=@vger.kernel.org X-Gm-Message-State: AOJu0Yxc5tO1ZnspTKM0QuW5HIAjvuym9q8nuvfLUKhiiZp7r9/piHOS y9pXCDDyKCik4ddQz7mokxpdnOFFKd1ewq8uZNGgnoBvYgSUfczQp1o+ X-Gm-Gg: AZuq6aKRUGLxSAzZ5Og+qArD1gSvnf6OA80DAlXQVsUH702C96K64a7amXVJ4K+CIGC IwY3HCeVwRcVt7BsUakFl+h2crxiqQNYbghc9JY21RCb4d0FoDvKqJUtDge27+5n8EZlHq2EOpD 2eGmTn4Rl2MqmD/IVeY5sqFui+nhzqtqA83IjlxAmW3EYa/icZf9c021/rBmOp5mZ1NJJHftFDi Sj6K+Eu4f1RHyzoqnckOd93GrG556bV5yKOr9BDevjjT0yWyC30NtvSi9ZJjF3C7leoJ4rc+EQC CjNIxxsKN0PSMhvhzpFP5+kABc+mzCiWcTYqqu97D9fbZra0bSvpnP+7BAA7WISKPU5oHDXXlBB XbWNDWgj9yg1mHHjHFB2zC66tf6fneANY7P7D5Ag79gOnEevOv1NyVwfuZPuoq2GBxejgAQ24OP YvXJBrqYuwj3KSmiXWXlziOSckB6yuQ7ZK0BGeHJUZDzWunMTpHTnM6jKiNXtkkyWsBy0jNKdm/ /ovMlFNTdPEyCXg7Xvu2VMSieGsv/FNxzsps3ItqCE1AO1eL3z6R0VBITxiK16b1AufS6E5Gw== X-Received: by 2002:a05:6808:150f:b0:44d:a817:2d72 with SMTP id 5614622812f47-46366633c0cmr910471b6e.60.1770797656445; Wed, 11 Feb 2026 00:14:16 -0800 (PST) Received: from james-x399.localdomain (71-218-105-26.hlrn.qwest.net. [71.218.105.26]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4636b093ee1sm624852b6e.14.2026.02.11.00.14.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Feb 2026 00:14:15 -0800 (PST) From: James Hilliard To: linux-gpio@vger.kernel.org Cc: James Hilliard , Geert Uytterhoeven , Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alexander Stein , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] gpio: aggregator: add gpio-aggregator DT compatible Date: Wed, 11 Feb 2026 01:13:50 -0700 Message-ID: <20260211081355.3028947-2-james.hilliard1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260211081355.3028947-1-james.hilliard1@gmail.com> References: <20260211081355.3028947-1-james.hilliard1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add an OF match entry for "gpio-aggregator" to support plain GPIO forwarding from devicetree without delay semantics. This allows exposing selected lines as a logical GPIO controller with stable aggregated offsets, so consumers can reference forwarded lines instead of physical controller offsets. It also allows creating bundled groups of named lines that can be exposed to userspace as a convenient virtual gpiochip interface. Using "gpio-delay" for this case is not suitable because it enables delay features and requires 3-cell GPIO specifiers. Signed-off-by: James Hilliard --- Changes v1 -> v2: - Split DT schema into a separate patch (suggested by Krzysztof Kozlowski) - Expand commit message rationale and use-case explanation (suggested by Krzysztof Kozlowski) - Clarify userspace use case with bundled named line groups --- drivers/gpio/gpio-aggregator.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpio/gpio-aggregator.c b/drivers/gpio/gpio-aggregator.c index 416f265d09d0..a09752fc5fe2 100644 --- a/drivers/gpio/gpio-aggregator.c +++ b/drivers/gpio/gpio-aggregator.c @@ -1635,6 +1635,9 @@ static int gpio_aggregator_probe(struct platform_device *pdev) } static const struct of_device_id gpio_aggregator_dt_ids[] = { + { + .compatible = "gpio-aggregator", + }, { .compatible = "gpio-delay", .data = (void *)FWD_FEATURE_DELAY, -- 2.43.0