From nobody Wed Jun 17 05:12:15 2026 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 3086F38C42B for ; Mon, 27 Apr 2026 21:43:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777326201; cv=none; b=tnPkBqsRB3KMKg+pMKcvxyxqIlfwpJSdzuBhbtuLI1DjqtRGN3UfNofZra60PXsoavHIon9s5Bf5VyctHMcN399omUtnoKg7WoddTFocpnGkqX0EJJUT5b+cDuUAQEKKS7ZqlHyrCYNzq6y1iSvYpm4A3iyZOxDMKOXCfqlfeOw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777326201; c=relaxed/simple; bh=UZi0qepuaqHlW8QBtGVWyJ3TFaH0AKq/gLzYrAYY678=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=lu1SPKPq1YfBAGMK3gsWRkarkfGiKF/echXYAua2/Y01JaSVdpORGmOBilCMkd1hyH0M0vHP6bqtn2uYYkQIkNT0mzX0M2Q6Y88NA37FikIsDMRrYgu4mA1sSxr+A5TxueELew/lVDPIXLRkk+HnTd64nS4P57ciAYIaZntxNYc= 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=r5n2ctel; arc=none smtp.client-ip=209.85.221.44 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="r5n2ctel" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-43eb012ac4fso6451165f8f.0 for ; Mon, 27 Apr 2026 14:43:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777326198; x=1777930998; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=9zaJmxmPtYn1AnHNsGSnxP0G6t9RJZXJdc+PeFZxIeo=; b=r5n2ctel9ZTY3em35AZdnAaytR3nONCjv7CnRVH4WpSQobmrjOWWRzRksexRkNO8qW fngrYtklrOtL5/uW5lFjr0zIsSo4snWrU3f6Z1u6F64JMWt1upYtAnKEA9noHN8bJKCY yLOhDzOZoPQxZqiyGHer6lTssUHX3vwL0z1NwJ7uLlIpv4JRhalWDMM52Fq4nJl8s3B9 bu6bswmE9L+3PGQsOuszmjGG5mykE1ToB5sEZtdC6ikaq+gDl/rkpRBYGdlMLyZdKbw8 Ce46F3v9x/tvQPLggyO3XfcX5jyfMCTKpbZ9pOwVx9eKsDGV11ZfDu4RjNi+j0BwqGiD 26Tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777326198; x=1777930998; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9zaJmxmPtYn1AnHNsGSnxP0G6t9RJZXJdc+PeFZxIeo=; b=hgh1UF42dIGonf/UNG9OxBgDDDe5zEmSAo2w1iLX+mhQAReuboAksD9/P889qSxZHG GRscuNSZPrIBkgPs4dUEU2wwYBfPJhMvoD3LrcLbA9VXH/U2RWh/JHxQGUlLmqQcFKsO LGyC9njrzfeKe/g7WThe1zQdPVWHiNEa6Q4jx2qhj2i0hv7QlWO2mRWvyI0N7vblNLvx 5Gt2Os4Ly/vExo22cdmuQMQ1D0tXCVzUbWNjYjsSsF7qXQGWx+48eVbDM/PWESUw7Skv 65+WZcHlYusdEI6HUymnTS97TkN78pDOAbR40hmorcDPd7gYH8E0HLPRUbWxoBTYkClM qEPQ== X-Forwarded-Encrypted: i=1; AFNElJ+sKovUnu6TflahqehJKq6e/g29ti3eNhj5gcROyRqtwiWBGqoGUeB/dcUYAoiV39u/5GZj8IOiUdQG9Gk=@vger.kernel.org X-Gm-Message-State: AOJu0YzvNUumNbKYPIp/atIwR7Y1k6CCmoj7r0gijR9q8Hyqt/NfH+0t 3HflLOss1bx4VCyN+32BmVxDIBxVAn9etvwygXn+Fj8x85w9pfGNVvLKtKbaqHSIkns= X-Gm-Gg: AeBDietGv0Wecw/EJjq6a8WQ83+b0R3ZXaJ0E0EFiMJzwjj6dXVXqcX0WlNGtWOvQF5 /sbNXfchquX9qX87OAKxajexTRnTA9q2IFITaW0OSUKOGqmNOPhwc8YtMTEf5T6cK8tpuKFhA2n OPCYAcIAKf58ejVthCA84S2kkwPd7QOknnyEeIWh5BLxF4qYU3VRO/+h68sl97DC6AzECK6twuJ UuM/9pvSl7sM6VVrbTQsVRA+rZUBiKFlWNz+t/4uP5c02T5dbgyue2YiOydvksalxdIgX0MPVC0 agsyNze54hnBbJTQZWocrzPogOajsH1BELc62SfcnoG5dCb+Hb/LlT0cIlvRdV110Kxp6aQqmU5 AaZ+zLYn667/fkkvvcEjwvPKSEPC/xe0BEFDKae12yN5BZ9t2J8DdqjDkxR9T9OifLTo/MwBHUa KnKVNcO88dcoIxoKjT2cilF+k/h78Hms2bUd+L/TKyqtF8dhnhuNfPGZgS5CbDwOSDNiqCMsCy X-Received: by 2002:a05:6000:3101:b0:43d:1cec:4767 with SMTP id ffacd0b85a97d-44649c98decmr874235f8f.36.1777326198308; Mon, 27 Apr 2026 14:43:18 -0700 (PDT) Received: from ST.. ([102.187.193.100]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4463d02f2a2sm1174592f8f.10.2026.04.27.14.43.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 14:43:17 -0700 (PDT) From: Mohamed Ayman To: Linus Walleij , Imre Kaloz , Bartosz Golaszewski , linux-arm-kernel@lists.infradead.org (moderated list:ARM/INTEL IXP4XX ARM ARCHITECTURE), linux-gpio@vger.kernel.org (open list:GPIO SUBSYSTEM), linux-kernel@vger.kernel.org (open list) Cc: Mohamed Ayman , linux-arm-kernel@lists.infradead.org (moderated list:ARM/INTEL IXP4XX ARM ARCHITECTURE), linux-gpio@vger.kernel.org (open list:GPIO SUBSYSTEM), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] gpio: ixp4xx: switch to dynamic GPIO base Date: Tue, 28 Apr 2026 00:43:10 +0300 Message-Id: <20260427214311.331996-1-mohamedaymanworkspace@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Most IXP4xx platforms are Device Tree-based, and GPIO consumers use phandle-based descriptors rather than legacy integer GPIO numbers. Audit of the IXP4xx platform shows: - No gpio_request(), gpio_get_value(), or gpio_set_value() users in arch/arm/mach-ixp4xx/ - No platform data using fixed GPIO numbers This switches the gpiochip to dynamic base allocation, aligning with modern gpiolib expectations where GPIO numbers are not globally fixed and may be assigned dynamically. Set gpiochip.base =3D -1 to allow gpiolib to assign the GPIO base dynamically, avoiding global GPIO number space conflicts. Signed-off-by: Mohamed Ayman Reviewed-by: Linus Walleij --- drivers/gpio/gpio-ixp4xx.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/gpio/gpio-ixp4xx.c b/drivers/gpio/gpio-ixp4xx.c index f34d87869c8b..669b139cd499 100644 --- a/drivers/gpio/gpio-ixp4xx.c +++ b/drivers/gpio/gpio-ixp4xx.c @@ -311,12 +311,7 @@ static int ixp4xx_gpio_probe(struct platform_device *p= dev) } g->chip.gc.ngpio =3D 16; g->chip.gc.label =3D "IXP4XX_GPIO_CHIP"; - /* - * TODO: when we have migrated to device tree and all GPIOs - * are fetched using phandles, set this to -1 to get rid of - * the fixed gpiochip base. - */ - g->chip.gc.base =3D 0; + g->chip.gc.base =3D -1; g->chip.gc.parent =3D &pdev->dev; g->chip.gc.owner =3D THIS_MODULE; =20 --=20 2.34.1