From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) (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 AAB693812C8 for ; Tue, 7 Jul 2026 03:14:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783394048; cv=none; b=X1mj3COg7StuUqx3BnLKFg0Q4z19U+j98CmvXjKxLYTmmqCWNq7NdpgetDJyPwhgkxcQYdjV4Xfx9pWwV/LowrEKpEzWyqPWI3FAtIiQnpxme3CiWtOgoGSlzxGCBIJTehuHYQdzhijGO1v4l+XjtN2hCdnKAw8reJaSnDbkteE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783394048; c=relaxed/simple; bh=23ZMI3BNq1Z9j7vAAvxAPIlBUZZ9Zjk2yQ37dRvW0w4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZWeQTblGeAiL103BH2S9SbiMte3doY7B6Hy6cpw3xvQ3z3fykIxT4mfZWGc7KD6GVFLdbPkqzdQzS+8t+jefAczLbuQQeCJ4SjgAQY6eHZnLzmRSKPRZUSIqK+EYnsGla8dA+qkbeg0L9M59YtSyokfZblma7oKu5hwcowBDiCg= 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=LoTavUdV; arc=none smtp.client-ip=209.85.215.173 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="LoTavUdV" Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-c9e7391839cso3348861a12.0 for ; Mon, 06 Jul 2026 20:14:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783394047; x=1783998847; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=dZWRhCcUrvPvTTZjoxUn5wLx5Cz3X6hhXARWRFQg4Ow=; b=LoTavUdVMdU2D3viCpxesUdVw+lQqxD0MiivLdYfSj0e/f/SleiHcXHgGzbOYWjlmn zFWf6fa+hOBOnLz/Gf66Hp0NbQGfdnvdLf8KXZY7OL3I3nA9osTyZxzY/KIARVpQ9jUJ +Ix7C05r4ojNeK0/AC5at6Cyxr0/dm3SQh4M1AT9xHPGi5x/M3pMUhiGfNOv1S7rZqF3 NYhBEufm2CA9KZ1/E7zaOGkmaY+P+BzeTQL6ct7wcjZIaauIndQxUAY892j6kJVcAg93 sX4Y60mfG9SrSWvL1VwAjivABaK7PLRed4xZabLx3MjZb/H+vFsTIOoHIP0m67TqPJ7j 0PIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783394047; x=1783998847; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=dZWRhCcUrvPvTTZjoxUn5wLx5Cz3X6hhXARWRFQg4Ow=; b=baeB7jEtHhvWuod+V9fa6tfJ+xSUchBQmbnazu2F8B0x08yE/i0o99LLixJBn2yCtE NRfLCOH/NSOtglHkROlJV1FnG8J9Y5FGThrq4+NklxvPguEGvcK+Zn4xUV/BFtje7jQy fEbcMevpdgLO33qHc17OBh9MDxqxkRk4FwBhYQiri8jH21UY2b/Y0sbL/aaizQMpLLQS RoOdhdxMhyyNz55Yru7H5Hyd11KVY1xkQfPrAQRVWVGN76elDbq+3hzqOuzxqg8ttCFR NLq8eXUh7PXlYDh0ltrnZfXN91HTNSmOQhoWBpgfPmtkuWa/JE//vVp9AKtiP8sYm8dT 4O6w== X-Forwarded-Encrypted: i=1; AHgh+RrzKvCvxu5hP8P80sOJp0dQwOe70D34W4zMPvuaG5rBrVfCA0zgxaQrzXs2klczvXwoQ+sB/+NntsRiUzk=@vger.kernel.org X-Gm-Message-State: AOJu0YzG6ln8I3EuH5CdhZ6bpwI4a+Otgsj8S6aJZ3tqRztBk4UrQB93 muEtq8rSuayEKf+9UnEL0ihiZ8uuGWpToOmwp8HO7rraXRyglpPk1VY2 X-Gm-Gg: AfdE7cm36pTsh9D4NKt9QDMqROkjxMU0328H1rwe9wYVQThMW2iY4S1Fv2wz/i3b4mP gay2fJgqHfj9gf1jgR0YxIEC16uyIGxz2Iv0YFaCoUyWlVQhON2LwEJhDUQ4s8GH4KW6juVVUgW XhxyCxh4CmRuuKAtIYbvhEFNPY2g1oJovGsqT8O/Ij/I/b1+snjxnk3tbJhSkEDal86cfSM1HrE ZW8iEopAOS5VpNdmpxYAkKUZ1kQGVI7gUyF4KM6N2iKmTEHU94mDmkVawI3BZy49k6FH+s/+97P MFL240A0utwkyldwG667FI/CycQEoMQusF2OT0evtWC/141tZ8yp6xrqCaS/tNJKtAalH+5dgkr CCmEZn7XpG6bxcFKeaN4Ex4S75FZ5tIYz/C62170+cuK+gYRSsGDqOc3G1zJkSOjIZjYADSpEEZ qND1o2sA6/WKNPbmO5Yg2ECzlcfOg866QG6WteJfB6sCyFhJOgeVtkm8jD/Z4z9NYSHhBzrpVsn 2w+8wqJSpABcnY= X-Received: by 2002:a05:6a20:c996:b0:3b4:93b9:2b91 with SMTP id adf61e73a8af0-3c08ec7451dmr4414105637.12.1783394046925; Mon, 06 Jul 2026 20:14:06 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:d89b:1fdd:a8f2:dbeb]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13b659666e7sm3339905c88.7.2026.07.06.20.14.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jul 2026 20:14:06 -0700 (PDT) From: Dmitry Torokhov Date: Mon, 06 Jul 2026 20:14:00 -0700 Subject: [PATCH 1/4] gpio: sa1100: register software node for GPIO controller 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: 7bit Message-Id: <20260706-sa1100-swnode-v1-1-332759bbd930@gmail.com> References: <20260706-sa1100-swnode-v1-0-332759bbd930@gmail.com> In-Reply-To: <20260706-sa1100-swnode-v1-0-332759bbd930@gmail.com> To: Arnd Bergmann , Russell King , Linus Walleij , Bartosz Golaszewski , soc@lists.linux.dev Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org X-Mailer: b4 0.16-dev-b242f Define and register a static software node (sa1100_gpiochip_node) for the SA-1100 GPIO controller during sa1100_init_gpio(). Assign its firmware node directly to the GPIO chip prior to calling gpiochip_add_data(). This allows StrongARM SA-1100 board setup files to reference the SoC GPIO controller in property entries when converting legacy platform data to software nodes, resolving pin bindings directly via the attached firmware node without relying on name matching. Assisted-by: Antigravity:gemini-3.5-flash Signed-off-by: Dmitry Torokhov --- arch/arm/mach-sa1100/generic.h | 3 +++ drivers/gpio/gpio-sa1100.c | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-sa1100/generic.h b/arch/arm/mach-sa1100/generic.h index 5fe0d4fc0f8c..3cfe3b647711 100644 --- a/arch/arm/mach-sa1100/generic.h +++ b/arch/arm/mach-sa1100/generic.h @@ -48,6 +48,9 @@ int sa11xx_clk_init(void); struct gpiod_lookup_table; void sa11x0_register_pcmcia(int socket, struct gpiod_lookup_table *); +struct software_node; +extern const struct software_node sa1100_gpiochip_node; + struct fixed_voltage_config; struct regulator_consumer_supply; int sa11x0_register_fixed_regulator(int n, struct fixed_voltage_config *cfg, diff --git a/drivers/gpio/gpio-sa1100.c b/drivers/gpio/gpio-sa1100.c index 1938ffa2f4f3..ffa73dd3b982 100644 --- a/drivers/gpio/gpio-sa1100.c +++ b/drivers/gpio/gpio-sa1100.c @@ -13,6 +13,11 @@ #include #include #include +#include + +const struct software_node sa1100_gpiochip_node = { + .name = "sa1100-gpio", +}; struct sa1100_gpio_chip { struct gpio_chip chip; @@ -317,6 +322,7 @@ static const int sa1100_gpio_irqs[] __initconst = { void __init sa1100_init_gpio(void) { struct sa1100_gpio_chip *sgc = &sa1100_gpio_chip; + struct gpio_chip *gc = &sgc->chip; int i; /* clear all GPIO edge detects */ @@ -324,7 +330,9 @@ void __init sa1100_init_gpio(void) writel_relaxed(0, sgc->membase + R_GRER); writel_relaxed(-1, sgc->membase + R_GEDR); - gpiochip_add_data(&sa1100_gpio_chip.chip, NULL); + software_node_register(&sa1100_gpiochip_node); + gc->fwnode = software_node_fwnode(&sa1100_gpiochip_node); + gpiochip_add_data(gc, NULL); sa1100_gpio_irqdomain = irq_domain_create_simple(NULL, 28, IRQ_GPIO0, -- 2.55.0.rc2.803.g1fd1e6609c-goog