From nobody Mon Jun 8 04:24:34 2026 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (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 32B4424E4C3 for ; Tue, 2 Jun 2026 05:01:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376515; cv=none; b=WYt+xR/q/71jF5UOi9hrR5wgbKFogsQhgpCUJ+LP5FOvjIXXgIOSnP1lY3tPsGTHtJ94OihXZmiHnhqA+1HIqTNKCY7vmsBC0KrNZsecMNyIzYQxte+mL8zFHrCiU+E1BEcrxBIZbaFd/r/oOQ+OcE7k1fKJG6DOjItX/vn7e8g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376515; c=relaxed/simple; bh=Rt3qyAEsfIkqikUW7PnMXRyV+OkDzZSUzNZRyxUvaVU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZsU9j8HdWcUlOQeJQTvBD45eKWgpL/lRiMbRSgt/TojVYOQ2AdTYNaPv5fv3kKsefozruq3mj7VwBtr2IWVf5qNWEQWu576Ne9Yqf3PeivG6mrYn3iz8tEFNz7+0JW70arYZUUOVoIiFC+jHIzdbAgJn6D6VHiCO48LGfqJp2c8= 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=b1BXafDc; arc=none smtp.client-ip=209.85.215.170 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="b1BXafDc" Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-c8587427468so954795a12.1 for ; Mon, 01 Jun 2026 22:01:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780376513; x=1780981313; 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=wGFxNfjzZNv84pjFOZFMUu5zdOh74zYkDbHbwTMiiog=; b=b1BXafDc0fGK0hWa7kK4Chr1gfgsRTIG2XDPEs5KaFkfrQV6QXwI7vyqRa+UHZGK90 /OHk5oZIfj4mif57conuc+h9+VHC3IutRjgjdLA23ZamIlONvUKmGvTNlGF2dHeJlHHA cx/gu8+jGjMTGYy0KJ4qlmU5EaVxFipU951IQqjt/sO7yonyJHQmeU4U26MX3GG2sFgC WGdBBFYtNFGDv0FIO80kRsUoDfZEYm1kuzsAMdYISxbDfUm6q3W3HIQ7YNQcpBbFLaPg w7U1FkXZIoywEjIEOaPczHpp9+nmkoUVu1gKPuUUTe5LrvBF33qfpu55w9H/8fZAkj8V PVLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780376513; x=1780981313; 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=wGFxNfjzZNv84pjFOZFMUu5zdOh74zYkDbHbwTMiiog=; b=LY54FEHKuB1mmNBWfIfkVv3yqt0ULrXkf8dgQSlpxJrL2O/BPDJEIVRkhwJGZvpPbb ut/gUGhuH3wd45e1nkv13lge8G8tKWMGsTxOxsHfN/HZoYo/y/nqo0DwTMwIxVl7HqMo d40yGjKRIgnLJgadeEzQV7wueCgC3fzSAY9P+FqmUqJsROVAlZLT2hlvSEdcyddQfIEf +d653ZMJjJV7acgf/F+gluMkS1VA7W0AubUNvoNyjfmjls+H1FAhvkqaZcc/iv1ANEKu 9ou3BwMQCIh7/3QsfHwCv9jC/2FMox8W9B0PhC7fYvM66KAkikJEEynU+WJ2JQkWrztM mO2g== X-Forwarded-Encrypted: i=1; AFNElJ/CZRmCmDyvKYDiMNFjA1l7s/WkuWLEpuuy1frA4H5zlFy8T3GUR+DTxk/+iumXF8VRqsJgJBOK+2qyptk=@vger.kernel.org X-Gm-Message-State: AOJu0YwO5SrZjv00tZz7gazpg5u0sZvf35Dd5FwpQ27+03jO9RQtihaP oZ/CBrhadHkLQ01DjksBooxA4PGUEoGJNZFnyt2FZJ6Qco0zxxN4mdRr X-Gm-Gg: Acq92OGjB7tP5KzubzLsg9eO4kiWLvymV8lIOXtysyThoAVNU2RNQ0IX8LoE0OSoIEs c3ukaubOBLj0hRGtps+RaLPeIX6J1to9MI1hK4IW1WWqMnW1sTF5hhbEzjjl0K+f3sCB6I0AaG+ yhqWA+3EnAKghWaUsGDk4K8ieM6VxNMdgVV6RNq4rIA+4RJvck9dL5ZD88IsQ6fbWFPksW2SqQK Ommr8xLJvvrCtuHTX2dRQqU5MJSqpR+kL40br/FsLlJTIFiO5axKMNZVfG0EQEK269lMsQwjEwz twx/4EA50L/YOEY2qodCYhheCuyDK5wvsncQQmYb+fDBtNyJKJBlBQPsJWuLfTHCYsI0nm7O8DI KdMYRcDL8HUI8rqpS1jZ971KLjJW/M0ZLCAMoGdEpOiOEKr5hZoPqgtBOVrGnKjrtPOiUt8+oo4 K0HGHohkekaWH8NL84w0M4emj3aB4/wbOaAXz+vcaTDvu3fLVQay7u8kA3RhvTqPtbqKGXwteKK 18OTAGkJs5ytPdvOPO46YwkQCC62baaW96yT94mZDlEwg== X-Received: by 2002:a05:6a20:da11:b0:3b2:9360:4598 with SMTP id adf61e73a8af0-3b427e62c76mr16236422637.7.1780376513384; Mon, 01 Jun 2026 22:01:53 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c8589d055c7sm8958467a12.9.2026.06.01.22.01.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jun 2026 22:01:52 -0700 (PDT) From: Rosen Penev To: linux-gpio@vger.kernel.org Cc: Madhavan Srinivasan , chleroy@kernel.org, Michael Ellerman , Nicholas Piggin , Linus Walleij , Bartosz Golaszewski , linuxppc-dev@lists.ozlabs.org (open list:LINUX FOR POWERPC (32-BIT AND 64-BIT)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH 1/7] gpio: move ppc4xx gpio driver from arch/powerpc to drivers/gpio Date: Mon, 1 Jun 2026 22:01:25 -0700 Message-ID: <20260602050131.856789-2-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260602050131.856789-1-rosenp@gmail.com> References: <20260602050131.856789-1-rosenp@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: quoted-printable Content-Type: text/plain; charset="utf-8" Move the ppc4xx gpio driver out of arch/powerpc/platforms/44x/ into drivers/gpio/gpio-ppc44x.c. The driver has no architecture-specific dependencies and follows the same pattern as other PowerPC GPIO drivers already in drivers/gpio/ (e.g. gpio-mpc8xxx, gpio-mpc5200). - Renamed Kconfig symbol from PPC4xx_GPIO to GPIO_PPC44X - Updated ppc44x_defconfig and warp_defconfig to use the new symbol - Marked the new option as tristate (was bool) since the driver supports module build via module_platform_driver() Assisted-by: opencode:big-pickle Signed-off-by: Rosen Penev --- arch/powerpc/configs/44x/warp_defconfig | 2 +- arch/powerpc/configs/ppc44x_defconfig | 2 +- arch/powerpc/platforms/44x/Kconfig | 7 ------- arch/powerpc/platforms/44x/Makefile | 2 +- drivers/gpio/Kconfig | 8 ++++++++ drivers/gpio/Makefile | 1 + .../platforms/44x/gpio.c =3D> drivers/gpio/gpio-ppc44x.c | 0 7 files changed, 12 insertions(+), 10 deletions(-) rename arch/powerpc/platforms/44x/gpio.c =3D> drivers/gpio/gpio-ppc44x.c (= 100%) diff --git a/arch/powerpc/configs/44x/warp_defconfig b/arch/powerpc/configs= /44x/warp_defconfig index 5757625469c4..d6014b9c5708 100644 --- a/arch/powerpc/configs/44x/warp_defconfig +++ b/arch/powerpc/configs/44x/warp_defconfig @@ -12,7 +12,7 @@ CONFIG_MODULE_UNLOAD=3Dy # CONFIG_BLK_DEV_BSG is not set # CONFIG_EBONY is not set CONFIG_WARP=3Dy -CONFIG_PPC4xx_GPIO=3Dy +CONFIG_GPIO_PPC44X=3Dy CONFIG_HZ_1000=3Dy CONFIG_CMDLINE=3D"ip=3Don" # CONFIG_PCI is not set diff --git a/arch/powerpc/configs/ppc44x_defconfig b/arch/powerpc/configs/p= pc44x_defconfig index 41c930f74ed4..b0c7ad8c6d9b 100644 --- a/arch/powerpc/configs/ppc44x_defconfig +++ b/arch/powerpc/configs/ppc44x_defconfig @@ -22,7 +22,7 @@ CONFIG_GLACIER=3Dy CONFIG_REDWOOD=3Dy CONFIG_EIGER=3Dy CONFIG_YOSEMITE=3Dy -CONFIG_PPC4xx_GPIO=3Dy +CONFIG_GPIO_PPC44X=3Dy CONFIG_MATH_EMULATION=3Dy CONFIG_NET=3Dy CONFIG_PACKET=3Dy diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44= x/Kconfig index fc79f8466933..150813cea945 100644 --- a/arch/powerpc/platforms/44x/Kconfig +++ b/arch/powerpc/platforms/44x/Kconfig @@ -227,13 +227,6 @@ config PPC44x_SIMPLE help This option enables the simple PowerPC 44x platform support. =20 -config PPC4xx_GPIO - bool "PPC4xx GPIO support" - depends on 44x - select GPIOLIB - help - Enable gpiolib support for ppc440 based boards - # 44x specific CPU modules, selected based on the board above. config 440EP bool diff --git a/arch/powerpc/platforms/44x/Makefile b/arch/powerpc/platforms/4= 4x/Makefile index ca7b1bb442d9..4598d8b89bf4 100644 --- a/arch/powerpc/platforms/44x/Makefile +++ b/arch/powerpc/platforms/44x/Makefile @@ -15,4 +15,4 @@ obj-$(CONFIG_FSP2) +=3D fsp2.o obj-$(CONFIG_PCI) +=3D pci.o obj-$(CONFIG_PPC4xx_HSTA_MSI) +=3D hsta_msi.o obj-$(CONFIG_PPC4xx_CPM) +=3D cpm.o -obj-$(CONFIG_PPC4xx_GPIO) +=3D gpio.o + diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 89c77ec6c205..77991da43ec1 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -593,6 +593,14 @@ config GPIO_POLARFIRE_SOC help Say yes here to support the GPIO controllers on Microchip FPGAs. =20 +config GPIO_PPC44X + tristate "PPC44x GPIO support" + depends on 44x + select GPIO_GENERIC + select GPIOLIB + help + Enable gpiolib support for ppc440 based boards. + config GPIO_PXA bool "PXA GPIO support" depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile index 8ec03c9aec20..9e8c9ca1d3fb 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -146,6 +146,7 @@ obj-$(CONFIG_GPIO_PCIE_IDIO_24) +=3D gpio-pcie-idio-24= .o obj-$(CONFIG_GPIO_PCI_IDIO_16) +=3D gpio-pci-idio-16.o obj-$(CONFIG_GPIO_PISOSR) +=3D gpio-pisosr.o obj-$(CONFIG_GPIO_PL061) +=3D gpio-pl061.o +obj-$(CONFIG_GPIO_PPC44X) +=3D gpio-ppc44x.o obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) +=3D gpio-pmic-eic-sprd.o obj-$(CONFIG_GPIO_POLARFIRE_SOC) +=3D gpio-mpfs.o obj-$(CONFIG_GPIO_PXA) +=3D gpio-pxa.o diff --git a/arch/powerpc/platforms/44x/gpio.c b/drivers/gpio/gpio-ppc44x.c similarity index 100% rename from arch/powerpc/platforms/44x/gpio.c rename to drivers/gpio/gpio-ppc44x.c --=20 2.54.0 From nobody Mon Jun 8 04:24:34 2026 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (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 A985C2877F7 for ; Tue, 2 Jun 2026 05:01:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376520; cv=none; b=GAZ6MdO2qrdPI5zqHElBxcSzUrhx8PPaMp5PMlf5AgaOwgeuBJ7rJv8m/BxEB7x5Lr0ptI/dAG/KfBMav7Fi0b0+plgCUuq+MqqSHAm+Fkz1HWLwGz9c91QdKKVGO4PGrnEv5oWdeElfc0voSTTpSJX2ZO2hjdqWCxEiu/L3R+M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376520; c=relaxed/simple; bh=duKPiKUfyzrhMI6nYJuaZ71n6aBn6LzpO0CRA49RdW4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=K95TLCcRbwTfnB6giKOZabfzuR97UlY3v8M/Tyo4WLjXzD73Xl84PePKna0pjpzlHua2ckO/pSbO3yPJ7FzoaFbm0rSQOCfo90XtOKUceQAw9I35TseU3BFTgpg9AD4ATKM9K2docWIN7K0anm8QFO76FearXxb8WVQdUKqFbfc= 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=GyJNJFBU; arc=none smtp.client-ip=209.85.216.53 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="GyJNJFBU" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-36d630c0e35so2435624a91.3 for ; Mon, 01 Jun 2026 22:01:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780376516; x=1780981316; 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=GTvG89FycszAXpYpTdeo73IhzkPmvsyhREwqWmrsBdY=; b=GyJNJFBUdfZR85dHyGeKSQZHqLiB0/2oA838Onh7g8bL0hqRWD4hb8F/6RbQhbw4KM yyiSsO2SpPa1LvTSxW7td2F/vj7K/4dARzSdhTGRZ6QFNJTm13LMQ5hD03VgCBv7k9rz v3crwlyp63W59MUXVpt6l46hi1aQaSIAmNSY9ouAmM6C41JOEtKrKZkkkMewwxKl4FPC BBAJTyeUowzlCriROMok2PHvYR8qWCu79hpRGBPKzAKXqCZnQ2KWHdHDDrS6yV+Tk3ys 3wmYkeEz7DrSVi0W5w1/MuROmJUUZV+2PZYjZzjUoTSKUmslzwZZ3tdJiOoNvL+ctK8o vt4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780376516; x=1780981316; 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=GTvG89FycszAXpYpTdeo73IhzkPmvsyhREwqWmrsBdY=; b=SezO1LLM590nIuzVTmX7s6gq03JzEwOY2ASJH9fA/fj/d1ak373IsMPonAlA34KClA n0bA3dMfJ0bLnApbMRaWuYDLjJlDxeMRI95Qh++bFXe0X8oTUeKiIGcJ2OYfAT0qxW3g tDJWEeTX+wwkeeUfEbxaAtcrqiEDXQRe/Tju7hijy/d1h1W53JvyMN2T8dtzUbyV/e1A H+IooIJpja+9XIYVLUz0sd+KquwH+jSgULmN5JkugkugGSxd5hCzy1+DEiXT2tfQMVJE eDXVZkNr3O9M6y4QKxOl70ayF+ik+Q4z0/xdy/k+bolAoXFJ4Ozq74QgIWgU1E+ffzOV MzuA== X-Forwarded-Encrypted: i=1; AFNElJ/QALhd5WVDTQuGiggdgZLLwkYoZIbK8FO55x1aT653kahdU9QDFdNw2JbGRQnXmnnI3VvtMSCYlPtr41g=@vger.kernel.org X-Gm-Message-State: AOJu0YxRSS2fttX4XNN36VnhGd4oxlhbkbECQIPWWkzh7VygmT7f9Q6j 00AL87Gq7hxjkTmOHCvmXAdAg+Ypgq1l/3nA1dfvXDY8gRpb9tNogXV7 X-Gm-Gg: Acq92OGFHYRM888uoOUISFaLTpWU0TIAb4d6ew/EoX3ZxlDOmGdiMl/pFd1qrDnnTMW oSQO0Kr+SSEEx3XyhvDx3h6WuMK8g2zG8P7FOBVgnwKclxiylv6p0fmBVZ9jpcflb928B38ZiTd KXQiJE/FlXBhVq7i0nTAaQuqCWMggWQT4bzXR7DLYQnp/8KtrJib4SVUIDTaty2KeuioX/pqjbt pz3++6M2C7KyIbt4MMI3GabsKRSZl0Bd70sxBgIAiPKBB+4DYUyIIrjW+ulxKBbquP1wPYsxBM2 vAlRgSVcls2N65ZxDezaXZlLIP7Ws1fm6hCLt5pK4jF7HsHFfT+HH3Uxfj941ahHZ3pv1F0Lo1B ayjfJWr1nk3/egtIHjKFYSRjYMdU2EJNjYsGWySqWv8nVcKewYjC2Nj4ki1Doxzoww2NTm8L07S 8uUfydTfmWtu1fO6VpCaKzIveKuHizKsLC8XCxe4uwvhRsJoPI5mm58870bT7xyXF46UYCrfsTR A+GB2wLZEP/hjN6gs3M+GuvME61ueorXVsrBrNzg1bn7g== X-Received: by 2002:a05:6a21:7a8e:b0:3aa:f9ff:656b with SMTP id adf61e73a8af0-3b427c10895mr15671814637.7.1780376515909; Mon, 01 Jun 2026 22:01:55 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c8589d055c7sm8958467a12.9.2026.06.01.22.01.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jun 2026 22:01:55 -0700 (PDT) From: Rosen Penev To: linux-gpio@vger.kernel.org Cc: Madhavan Srinivasan , chleroy@kernel.org, Michael Ellerman , Nicholas Piggin , Linus Walleij , Bartosz Golaszewski , linuxppc-dev@lists.ozlabs.org (open list:LINUX FOR POWERPC (32-BIT AND 64-BIT)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH 2/7] gpio: ppc44x: Use module platform driver helper for GPIO Date: Mon, 1 Jun 2026 22:01:26 -0700 Message-ID: <20260602050131.856789-3-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260602050131.856789-1-rosenp@gmail.com> References: <20260602050131.856789-1-rosenp@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: quoted-printable Content-Type: text/plain; charset="utf-8" Replace the open-coded arch initcall registration with module_platform_driver(). The initcall level changes from arch_initcall to device_initcall, which is safe since the driver no longer needs architecture-specific ordering. Assisted-by: Codex:GPT-5.5 Signed-off-by: Rosen Penev --- drivers/gpio/gpio-ppc44x.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-ppc44x.c b/drivers/gpio/gpio-ppc44x.c index aea0d913b59d..0d2244272e32 100644 --- a/drivers/gpio/gpio-ppc44x.c +++ b/drivers/gpio/gpio-ppc44x.c @@ -203,8 +203,4 @@ static struct platform_driver ppc4xx_gpio_driver =3D { }, }; =20 -static int __init ppc4xx_gpio_init(void) -{ - return platform_driver_register(&ppc4xx_gpio_driver); -} -arch_initcall(ppc4xx_gpio_init); +module_platform_driver(ppc4xx_gpio_driver); --=20 2.54.0 From nobody Mon Jun 8 04:24:34 2026 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (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 5D2B924EAB1 for ; Tue, 2 Jun 2026 05:02:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376521; cv=none; b=YHxP2bLRbCbc0Pxn0Im/BUBiGMnS0kCgA2DFtB6VAkwNDElHJ+ooEDJNf5W1u73zdB8UkKYBy7QqIadsmEnHxBwlfG+N6gOxV4nkLP8gT1gmxiXC2Iaf9+Gvtr+aTchKhiuwgKkFTSRVORYdwxRjzcVGjZFlKMFi1G9w+mnOKA4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376521; c=relaxed/simple; bh=blhUGu1oPwp8bc3L4HpG86PruEuGmLzkdRbiACFT/go=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q5dP+PFNphgxxO/j/GltfDBVCsD4jWqoMD2MdRRS0MO85N+Z7YL0G5WnXW4Ba2L8vsXRoXC7xFVEUA3AugvBZrwxD+rtfgVr/arbzNi02GL29bqUb2TQciT3gHtZ3L8Js1bikUISNMdCx5VR6gJ5V9g3rtVbuUyNrpd++FTXjHs= 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=G9ia7i+q; arc=none smtp.client-ip=209.85.216.42 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="G9ia7i+q" Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-36da151a152so1327519a91.1 for ; Mon, 01 Jun 2026 22:02:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780376520; x=1780981320; 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=JqpZtb3L5AZBzchvpjx7HvUJPGkad1t8dle6FYbZAXY=; b=G9ia7i+q1pc6ylY/FT7qRwcD0arO36fhM5AAjdDLGT7i6CEs5Hr2Fttzn6K3oKi+Yz Tv+zEAD2dw3IqHd66jLOEkkGZjCsYavdvM+Z8JTjQoJ+iXSBPPrhfd9+ftnET4Hhh/gP m4oz2ZWwpcAYS+2TEWn89am4Hn+pX0bMsszY9JI7DMuca+h2k3ssjzMl4HfNEZQHy1RE WgSNjXkIhrWiiM6OWY1UC5SGfr7LC5l5OEBWF+rdcSSmveMmuvMjL2tcVw7QDu2eGzpu AeOLUOvewJF2VmeL9PlNrt4kecmykm9XyPJHWD2Flrfv4hb8tFQDMkuA9/onmgyXe9hj q0UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780376520; x=1780981320; 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=JqpZtb3L5AZBzchvpjx7HvUJPGkad1t8dle6FYbZAXY=; b=nUw4Fdu9BOAlH/gWEK/gK4tVeR63uULCod2FYqrVu17/XLpRq7/ZGqIt+qWAtmgs3/ lCX9cGGee6G7gbKiDYPCPnnkr0J0veDJCqw+EiWjTyAIbhL3GiUZY0rd2jlDSVF1QgUu StjNRzlVCJQl+Ca9W3IABM+NYU8PIv2W+XCWRvK0fMLY2CSHdxXlYdrRIwKopQ8SQJyv Is0tc0BMCTCu/2YRQo7I9pAE3RwkjL56gEmZuKxyKSHTUrQhIaP8jhXVm7RsUTqd9YxR nd1SolHL68ygKYDOlg3Aa/VPUeekNkSg+59a5F52Iz/9ePbjt/WmRHfn7GFFiNdVM+iq CvFg== X-Forwarded-Encrypted: i=1; AFNElJ+SEmuWJsd330VMpNVti0Dk56I38daoI2zNBk4br7v1thoAMr++U/GuvIKqnVLk0QmJaOqBk3X7lpQCTus=@vger.kernel.org X-Gm-Message-State: AOJu0Ywzr7kxtqzPXQNgbL5G0n6WOHjDGOxLTRs6Qva4lFnBD0KmkPau SYO/FpFD3WveGTgMWhC162FCu+7MkC2gUtTdAOSA8I5GEnLv1o9t8LLs X-Gm-Gg: Acq92OG/s9CwIY2BNcNugP7p/DDx8FuBO/U0jIL+sTaaLcIKHtBhlxiPrHLUqOJxvHM uX0sJBtVeVAIVhemhoLDXX2nAVF02VVf8okSBVT7NAjnAlK54HcqRp/LyKGWI+nfzX6cc50l0yc 8UW4y2O/xzLJT2MzMsvBdYI/59ojGh4TU45nnBClps7dj9tCjQQCTMhcge8l3jZbnekjRl7h1dM ZfvpgVTfapfLrVNkCVEnA3YZNGglgNty3Bhdsucc4QN/KGgbWxJor/o5LmrzxIu4G8N1p27Kujg x3HPugbsblfroNLedxKJeRWqkcxNQManpzQBqAPCf5NE9d7axRtCml/vHJ34KsQ8N4BUTRcDylC 2ipNr+InK76FRInJV3fFh0kpJv0ez1C2VFDnXrxqPVUMbEs7j1AS5v5YqrZGtelDxuYVTWYvGDW Zja5HqXd2mqVrTpPTS0PeLoxQZLp/mmXxNEAXF7IxK/4dkOQdowcsrKuqlRszNWRs1nPxVGsutb 1IVP4KGOUYepfeGPesJzdDqn9xPNlykfnh6M41+9h3jRA== X-Received: by 2002:a17:90b:354c:b0:369:7f25:cec0 with SMTP id 98e67ed59e1d1-36c2eba615emr9027043a91.0.1780376519593; Mon, 01 Jun 2026 22:01:59 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c8589d055c7sm8958467a12.9.2026.06.01.22.01.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jun 2026 22:01:57 -0700 (PDT) From: Rosen Penev To: linux-gpio@vger.kernel.org Cc: Madhavan Srinivasan , chleroy@kernel.org, Michael Ellerman , Nicholas Piggin , Linus Walleij , Bartosz Golaszewski , linuxppc-dev@lists.ozlabs.org (open list:LINUX FOR POWERPC (32-BIT AND 64-BIT)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH 3/7] gpio: ppc44x: Set GPIO chip firmware node Date: Mon, 1 Jun 2026 22:01:27 -0700 Message-ID: <20260602050131.856789-4-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260602050131.856789-1-rosenp@gmail.com> References: <20260602050131.856789-1-rosenp@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: quoted-printable Content-Type: text/plain; charset="utf-8" The PPC4xx GPIO driver stopped assigning an explicit firmware node to the gpio_chip when it moved away from of_mm_gpiochip_add_data(). Restore that association from the platform device so OF GPIO lookup can match phandles to the registered gpiochip. Tested on: Cisco MX60W. No more probe deferral. Assisted-by: Codex:GPT-5.5 Fixes: 1044dbaf2a77 ("powerpc/44x: Change GPIO driver to a proper platform = driver") Signed-off-by: Rosen Penev --- drivers/gpio/gpio-ppc44x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpio/gpio-ppc44x.c b/drivers/gpio/gpio-ppc44x.c index 0d2244272e32..07b699cc4dd9 100644 --- a/drivers/gpio/gpio-ppc44x.c +++ b/drivers/gpio/gpio-ppc44x.c @@ -169,6 +169,8 @@ static int ppc4xx_gpio_probe(struct platform_device *of= dev) =20 gc =3D &chip->gc; =20 + gc->parent =3D dev; + gc->fwnode =3D dev_fwnode(dev); gc->base =3D -1; gc->ngpio =3D 32; gc->direction_input =3D ppc4xx_gpio_dir_in; --=20 2.54.0 From nobody Mon Jun 8 04:24:34 2026 Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) (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 A83BF29D265 for ; Tue, 2 Jun 2026 05:02:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376522; cv=none; b=qzLg5ppWMsG/nXdvhHyyhWCrVFW8Z3/Ws9uc76XwhQprklx0YXRH/hyKH0VX/myZz4vEaRIfYk7twsJKsSUeZE6b4mcpMHLQ0EQp2glhYkp0GkGD5IG+FQ+V9CUICgFKD6KRq8D1i3GfTwFxuiM94juRZ56uE3YKkFkPtWPr9xY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376522; c=relaxed/simple; bh=juyPqGUar4sjOgSs+KMzK+h8Ag+Xq/KQ0ouMoI5butM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jrLSC34td2Idw2Oy2MPN7uxs+7y0ejG5XvTVgQDCEwTzrTx5NYQYluM/K1YXuCoK0AXVkKOmTxI6A5uuyGerLXneyisZRsQps5B1FuaXyWMw+3ZCw911fIJgVqdxzKs9cARl67TcATmqotMF9634p05bGGjDQ47H9Z3AHN5O/1s= 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=JAg4R7Vw; arc=none smtp.client-ip=209.85.215.176 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="JAg4R7Vw" Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-c859a374903so713452a12.3 for ; Mon, 01 Jun 2026 22:02:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780376521; x=1780981321; 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=OqTLkJRRJJvi006mVkaAc8E9sVbCF/KUy5AnwNp0FQE=; b=JAg4R7VwEnUM6LpbLVQymoCGkph1vck+i2dOc5vOcPf7rFgBFxxv9n4YeX+qJWu81Z 5nK7JEDj6iTZilVEhjCNWMhoJwykbDhTq+6ccoGAehZsV+zpmKSF+iD66XPsLYTp8JWV FSkkMmraD7d/Yu7a1Dm3Hl2cYr6++PFos5DI70G+v77LgUZBqoNtwEh4m81VCGMAT5P3 JQonC6xeu+8ShwbGTsoWcs62jGtH4uTr8yq5gJ9ZaqBzH7OBpsKxsBAtcwqL8DGqHZoY R1OCOL6j82+QL/eo+Ye6pdTWPd+BPKYqR3Chp4RfnaaafJ2qzb0DUByK3gVUuiDYTEpz 7M5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780376521; x=1780981321; 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=OqTLkJRRJJvi006mVkaAc8E9sVbCF/KUy5AnwNp0FQE=; b=XKlsg/3oK1bTDxwPymly76xcRgju+tCkOPDvh6Iaum/b31hRyLSz1W3hbUNUFSpKZL ARvdxIzh7HIxods4c7kKQ4fsgAkAIpwCJ7oD7mfJjXAknXB85vpdWt5b211zoicDvkbh 95AAOBZKXNAHyPpW/p/tap0vRb/NfAT/0AFTDrUZtyuuIadMzRwAcf31IfzTcDgYjOQv Anfi/3wfiVrc/AkvMN+NVIeSdFFqVZ9hppuTkfX+LPFhu4cmZFS8HOFrBNk6tYJi6wpP O86o/N1oH0SFHg4fGm5H1Nf3Jh736anZnvCWQqgbCxqMURg1N8Dl08mjFa4SpAUzqTPt IhoA== X-Forwarded-Encrypted: i=1; AFNElJ+NR6C5MQsVc/E5t9JFFq0f/7EQoE0ZmfEeptlkKr406tMMaTA8uD9TqpexgfBNx6vV0SacEVipRTfMJyw=@vger.kernel.org X-Gm-Message-State: AOJu0YxwiM351hhhqmpTyfuTDUhw1iZ4RwMAOfSzIUE6nDRgmjWW6EXe ZpHAZpVjxEl9oMD9Syjdl13li/HwkeI5O49OitsZ7i1aDR387xW8viYQ X-Gm-Gg: Acq92OFGd56APfIkJE7f12FD3JK6k1EYVTHtcWrAalqGF9HaGIBOvItWKbIN8Rw/m3k TJzIs1/IhRPgaslYTxCo0znb8uU9oDgMapU2AOqDn5DG73Z/QOD7SDsqEa8BKkPRoh4w/xkuWBa qrQr3cG7Ln56dLk6OK6hse65qNtjM5cXkira+6wxZYvTKDUeI5zy7v4Bu3+14ENiS2lwQ6ZLtlI iDkOp+v+odiJIOqlqB+VK3pLPJS+xdIM77PnbUtrqYpodfHK7NnK/qcSVSfZpwyN68BWmaUrfcZ QmIW4L02+8NqBHxDyq19tfspKSV9fwx7BeJlEWuEUObnYLjplJjfGdn0cf+Jeyku/FOlORkZ04b jKN2ZEWZZGm9sJSwP51h23n3duWuzwq2mGTmFR+9yHq0tpWcleARwc1VYvXPv5VvuLhJrwqHLBO x7QZkfHqW0q7I25pw0Fc8Tdiyg6fhcUWEDX9R5XvplHEySs7kcYKIcFslAiVsATPNXo4t2hELuH ey0vjj9HJ2TQ0gFCUvez1t4f/kII1W60IVcWzpYjep09g== X-Received: by 2002:a05:6a21:50c:b0:3a3:602d:a0d8 with SMTP id adf61e73a8af0-3b427c2a20fmr16311938637.17.1780376520969; Mon, 01 Jun 2026 22:02:00 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c8589d055c7sm8958467a12.9.2026.06.01.22.01.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jun 2026 22:02:00 -0700 (PDT) From: Rosen Penev To: linux-gpio@vger.kernel.org Cc: Madhavan Srinivasan , chleroy@kernel.org, Michael Ellerman , Nicholas Piggin , Linus Walleij , Bartosz Golaszewski , linuxppc-dev@lists.ozlabs.org (open list:LINUX FOR POWERPC (32-BIT AND 64-BIT)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH 4/7] gpio: ppc44x: Use platform resource helper for GPIO MMIO Date: Mon, 1 Jun 2026 22:01:28 -0700 Message-ID: <20260602050131.856789-5-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260602050131.856789-1-rosenp@gmail.com> References: <20260602050131.856789-1-rosenp@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: quoted-printable Content-Type: text/plain; charset="utf-8" Map the PPC44x GPIO register block through the platform device resource instead of reparsing the firmware node directly. The GPIO node now probes as a platform device, so use the platform helper to keep resource handling aligned with the converted driver model and to report mapping failures with the platform device context. Assisted-by: Codex:GPT-5.5 Signed-off-by: Rosen Penev --- drivers/gpio/gpio-ppc44x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-ppc44x.c b/drivers/gpio/gpio-ppc44x.c index 07b699cc4dd9..b30ca357ab74 100644 --- a/drivers/gpio/gpio-ppc44x.c +++ b/drivers/gpio/gpio-ppc44x.c @@ -182,7 +182,7 @@ static int ppc4xx_gpio_probe(struct platform_device *of= dev) if (!gc->label) return -ENOMEM; =20 - chip->regs =3D devm_of_iomap(dev, np, 0, NULL); + chip->regs =3D devm_platform_ioremap_resource(ofdev, 0); if (IS_ERR(chip->regs)) return PTR_ERR(chip->regs); =20 --=20 2.54.0 From nobody Mon Jun 8 04:24:34 2026 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (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 4E6232DF138 for ; Tue, 2 Jun 2026 05:02:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376524; cv=none; b=c+hm+6VwUwREpLEwMQWg5WQg+gtydc32aof2+fQb/stJsmtY4xJwvb6iwu3LrfzcNBqwA1Tb6EQuq8qabUGFF7eFpVQkxMFFHxuQCmuxADlFAtv3PTE6b/y3YKT6IxjiI+lFG0Nb+OYf4W0HS7pvFKMqkldJvTIPtgde2IIWQ5M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376524; c=relaxed/simple; bh=YvQLjBWJRjLxKpMXlc55gK1BvM98fsTCqmx+fq/wk7U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XZ7w9lIh9vJhgLmfljvA0TEL5TYXDWiQAF2FDquTdMSplelTqEZM+9whod/KaiwJrmOKLkVLEPHSUx/9rSLw3NfR89zoZB6Jzlrq0bB3SNmdfZO2Xrz78LGH0voXPwDfeajXp8u8bT74TS4lyRwrCKS7FwwhhrQ55+XWbdKPfNM= 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=cQ9xQXz4; arc=none smtp.client-ip=209.85.216.53 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="cQ9xQXz4" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-36ba3ea5c46so2432127a91.1 for ; Mon, 01 Jun 2026 22:02:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780376522; x=1780981322; 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=p3KbSzoRI/icX/VWbVUw16WYqo0/swLg71aVPGe0bc4=; b=cQ9xQXz4fsmKfPrQwcnPY5ceEz1IfoRepnqIwQbhoMCPg0B2kEZY7aq947ryErH/im Dmw+l4nv0rmSksv8qFrVgJloBPD2jU2yIhwN49oIi2MiAYlr+67bFRN7JsrZfmRJYiUL hxTl4N0kyE0hagXbtn+cHiA8E2vMWlaS8R6jU16nx2iqCnt62eT19JZ3J0PfJZuxOMU3 ApigeYtiVdHREJkc8iR+CLzEUpv/SmLT5P7duYM1RGSB3wA9DDdDlB6p1htBD6hc5iIh r1PZkAfM+fJC7ks/Aq5x+rqvD1Vvtv1bDTppfXJtMDBYxnY15l8LFpKOwxsEq0w+DbRw i5ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780376522; x=1780981322; 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=p3KbSzoRI/icX/VWbVUw16WYqo0/swLg71aVPGe0bc4=; b=Bl6t63bYANYeBIyqsLv+1J092+l23hxjxTEL0wJ0RisqVMZK6wjJTPQJV86HUI2sCi EN5gdzhXOiq4eGj0U9jgz37uLvd7Dk/BgLtnAcf1hBtckmRCHGt/aagTg9CSyjXU6Wvw cMSCBPr/CPZTS7wYwt4YCfOCmj0mQ3Va3JCnf+rmRB8oYwGf+CVKIwQRpDszO6p6YOfP rewR/dUw9T0VY9HuAMnYxYguTEce2MOFFxSeFe/CcvomzviHlKtrSFU86u7XEHX2tmyM 5B2DRrOYcq5/4FjtZSqG1/ouvW/jU+ld2Cpu1NQJJ6Oq3uCoPiDX3o+qDEE1QUVcCS3g DYNw== X-Forwarded-Encrypted: i=1; AFNElJ8TrdsaQTEhRpCddlOpNMU9pBonoqi/MLmO4/JaXruEiLqzTVLdfKD3nXZXcjo3OedpjT3Gb+6TAd+ScUU=@vger.kernel.org X-Gm-Message-State: AOJu0Yyh3xy3mt8KWrxv2z53ymGx6eXIDTglRqPoniDKCG4POiRDMXus G6YGYgtlM29+NQSwuBXV/pYivhXj82hfgHQrRMqWUHRSX3jG0EBCLp0FIdGHyhFZ X-Gm-Gg: Acq92OH1F/T8fVWYMu3c33q4hZCUZGtI0kV86ENfOiHJz0NJr7CYQvOVP3bqjQNpGm9 RJWd604BRlz/GN+C9nd1lJHXLBa2Q5kFCCsdXzzlo2qyU038gL6j6mkTjXZqP892tU8xQROAFwZ 6MnyNJ5mjAWM0N9+TZOMGDp2G775mTCDHStHl42l+HgPr2cgFDvPYdJcDC+g2uX+pVsjkbzq+5j mfRvPCOHUvKO0L2j0+AiP5mX2Hqw7nWI/A1dZHYUN751P/HP4Id8JSnoMLCi2Ge9x9dyWENZSqw ChBXLB6HYJfdoOW4mxhDCH4YSkAnZWCt9zE29Zaqy8Y2exeaYf1V9AqX91sDoKvgLJRUXKiJEH1 xaoB7pcr/BFvucZ/XA8r0A9bs4cv3L6FEE1IBp75wWYhvH5QkGXnDVcsrl48lzZLTGdf/viBx9H pY6iSkmwjRoqsGT2e434VcQ/lgYw7LSx/NfO6IO02p6DgmmXeigs5dcfYXnN/HKQtlbRhWk09aS +0jRyiCYfo/yqKNjS98WLeIbrpdu2+c1tFFS6TZahcAYw== X-Received: by 2002:a05:6a20:748d:b0:3a3:a55f:405d with SMTP id adf61e73a8af0-3b427c572e9mr15361175637.13.1780376522535; Mon, 01 Jun 2026 22:02:02 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c8589d055c7sm8958467a12.9.2026.06.01.22.02.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jun 2026 22:02:01 -0700 (PDT) From: Rosen Penev To: linux-gpio@vger.kernel.org Cc: Madhavan Srinivasan , chleroy@kernel.org, Michael Ellerman , Nicholas Piggin , Linus Walleij , Bartosz Golaszewski , linuxppc-dev@lists.ozlabs.org (open list:LINUX FOR POWERPC (32-BIT AND 64-BIT)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH 5/7] gpio: ppc44x: Convert GPIO to generic MMIO Date: Mon, 1 Jun 2026 22:01:29 -0700 Message-ID: <20260602050131.856789-6-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260602050131.856789-1-rosenp@gmail.com> References: <20260602050131.856789-1-rosenp@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: quoted-printable Content-Type: text/plain; charset="utf-8" Use gpio_generic_chip_init() to set up the PPC44x GPIO chip instead of open-coding the basic get, set, locking and state handling. Keep the PPC44x-specific direction callbacks because they still need to program ODR and the OSR/TSR registers around the generic data and direction registers. Assisted-by: Codex:GPT-5.5 Signed-off-by: Rosen Penev --- drivers/gpio/gpio-ppc44x.c | 82 +++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 46 deletions(-) diff --git a/drivers/gpio/gpio-ppc44x.c b/drivers/gpio/gpio-ppc44x.c index b30ca357ab74..6b4814ed12b5 100644 --- a/drivers/gpio/gpio-ppc44x.c +++ b/drivers/gpio/gpio-ppc44x.c @@ -11,10 +11,9 @@ =20 #include #include -#include #include #include -#include +#include #include #include #include @@ -45,9 +44,8 @@ struct ppc4xx_gpio { }; =20 struct ppc4xx_gpio_chip { - struct gpio_chip gc; + struct gpio_generic_chip chip; void __iomem *regs; - spinlock_t lock; }; =20 /* @@ -56,55 +54,35 @@ struct ppc4xx_gpio_chip { * There are a maximum of 32 gpios in each gpio controller. */ =20 -static int ppc4xx_gpio_get(struct gpio_chip *gc, unsigned int gpio) -{ - struct ppc4xx_gpio_chip *chip =3D gpiochip_get_data(gc); - struct ppc4xx_gpio __iomem *regs =3D chip->regs; - - return !!(in_be32(®s->ir) & GPIO_MASK(gpio)); -} - static inline void __ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) { struct ppc4xx_gpio_chip *chip =3D gpiochip_get_data(gc); - struct ppc4xx_gpio __iomem *regs =3D chip->regs; + struct gpio_generic_chip *gen_gc =3D &chip->chip; =20 if (val) - setbits32(®s->or, GPIO_MASK(gpio)); + gen_gc->sdata |=3D GPIO_MASK(gpio); else - clrbits32(®s->or, GPIO_MASK(gpio)); -} + gen_gc->sdata &=3D ~GPIO_MASK(gpio); =20 -static int ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int va= l) -{ - struct ppc4xx_gpio_chip *chip =3D gpiochip_get_data(gc); - unsigned long flags; - - spin_lock_irqsave(&chip->lock, flags); - - __ppc4xx_gpio_set(gc, gpio, val); - - spin_unlock_irqrestore(&chip->lock, flags); - - pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val); - - return 0; + gpio_generic_write_reg(gen_gc, gen_gc->reg_set, gen_gc->sdata); } =20 static int ppc4xx_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) { struct ppc4xx_gpio_chip *chip =3D gpiochip_get_data(gc); + struct gpio_generic_chip *gen_gc =3D &chip->chip; struct ppc4xx_gpio __iomem *regs =3D chip->regs; unsigned long flags; =20 - spin_lock_irqsave(&chip->lock, flags); + gpio_generic_chip_lock_irqsave(gen_gc, flags); =20 /* Disable open-drain function */ clrbits32(®s->odr, GPIO_MASK(gpio)); =20 /* Float the pin */ clrbits32(®s->tcr, GPIO_MASK(gpio)); + gen_gc->sdir &=3D ~GPIO_MASK(gpio); =20 /* Bits 0-15 use TSRL/OSRL, bits 16-31 use TSRH/OSRH */ if (gpio < 16) { @@ -115,7 +93,7 @@ static int ppc4xx_gpio_dir_in(struct gpio_chip *gc, unsi= gned int gpio) clrbits32(®s->tsrh, GPIO_MASK2(gpio)); } =20 - spin_unlock_irqrestore(&chip->lock, flags); + gpio_generic_chip_unlock_irqrestore(gen_gc, flags); =20 return 0; } @@ -124,10 +102,11 @@ static int ppc4xx_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) { struct ppc4xx_gpio_chip *chip =3D gpiochip_get_data(gc); + struct gpio_generic_chip *gen_gc =3D &chip->chip; struct ppc4xx_gpio __iomem *regs =3D chip->regs; unsigned long flags; =20 - spin_lock_irqsave(&chip->lock, flags); + gpio_generic_chip_lock_irqsave(gen_gc, flags); =20 /* First set initial value */ __ppc4xx_gpio_set(gc, gpio, val); @@ -137,6 +116,7 @@ ppc4xx_gpio_dir_out(struct gpio_chip *gc, unsigned int = gpio, int val) =20 /* Drive the pin */ setbits32(®s->tcr, GPIO_MASK(gpio)); + gen_gc->sdir |=3D GPIO_MASK(gpio); =20 /* Bits 0-15 use TSRL, bits 16-31 use TSRH */ if (gpio < 16) { @@ -147,7 +127,7 @@ ppc4xx_gpio_dir_out(struct gpio_chip *gc, unsigned int = gpio, int val) clrbits32(®s->tsrh, GPIO_MASK2(gpio)); } =20 - spin_unlock_irqrestore(&chip->lock, flags); + gpio_generic_chip_unlock_irqrestore(gen_gc, flags); =20 pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val); =20 @@ -159,33 +139,43 @@ static int ppc4xx_gpio_probe(struct platform_device *= ofdev) struct device *dev =3D &ofdev->dev; struct device_node *np =3D dev->of_node; struct ppc4xx_gpio_chip *chip; + struct gpio_generic_chip_config config; struct gpio_chip *gc; + struct ppc4xx_gpio __iomem *regs; + int ret; =20 chip =3D devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL); if (!chip) return -ENOMEM; =20 - spin_lock_init(&chip->lock); - - gc =3D &chip->gc; + chip->regs =3D devm_platform_ioremap_resource(ofdev, 0); + if (IS_ERR(chip->regs)) + return PTR_ERR(chip->regs); =20 - gc->parent =3D dev; + regs =3D chip->regs; + config =3D (struct gpio_generic_chip_config) { + .dev =3D dev, + .sz =3D 4, + .dat =3D ®s->ir, + .set =3D ®s->or, + .dirout =3D ®s->tcr, + .flags =3D GPIO_GENERIC_BIG_ENDIAN | + GPIO_GENERIC_BIG_ENDIAN_BYTE_ORDER, + }; + + ret =3D gpio_generic_chip_init(&chip->chip, &config); + if (ret) + return ret; + + gc =3D &chip->chip.gc; gc->fwnode =3D dev_fwnode(dev); - gc->base =3D -1; - gc->ngpio =3D 32; gc->direction_input =3D ppc4xx_gpio_dir_in; gc->direction_output =3D ppc4xx_gpio_dir_out; - gc->get =3D ppc4xx_gpio_get; - gc->set =3D ppc4xx_gpio_set; =20 gc->label =3D devm_kasprintf(dev, GFP_KERNEL, "%pOF", np); if (!gc->label) return -ENOMEM; =20 - chip->regs =3D devm_platform_ioremap_resource(ofdev, 0); - if (IS_ERR(chip->regs)) - return PTR_ERR(chip->regs); - return devm_gpiochip_add_data(dev, gc, chip); } =20 --=20 2.54.0 From nobody Mon Jun 8 04:24:34 2026 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.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 DF7EF28C84A for ; Tue, 2 Jun 2026 05:02:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376530; cv=none; b=fSZvYDLNUs6xhoaW14CGL6CI3NwPzBt5M11bHCzbv6jwDkt2PYJwpF1VbpFIks7fxHFqvI0yg2ICam65fP5Ps7ol40LI+1k2JVLv33EHi+uSBnFG2DUYtGuDhYRMtRQCIa+u2dRP1XBt4IYiwU8WaNVvviCNGcIY1mF1YEYqqiw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376530; c=relaxed/simple; bh=PkS84usnPdqdxgf1CnilQiWCG1S+vb0BnjAvWxF/mYk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lOSl3oooUwM5AeyMCLvSdD48bH0xDOT6iX8oJ2wRgCcgRAj2CAibUZ4tKV8zSrSHNg/fB8XLCnxEpKelQA07tGxZGm6fVLkc2jfnTEHhpvBs+1Npx/9nzxRaO/+0QBAv/NScNQy3sREaA/A0NHZTnxO8wd6P0thljhl5RxguLaw= 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=iy/law28; arc=none smtp.client-ip=209.85.215.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="iy/law28" Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-c8585c51f1fso1049537a12.1 for ; Mon, 01 Jun 2026 22:02:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780376524; x=1780981324; 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=gM2FIUryBRQiEGRMHtydSbfKjl7tClJ0BToQ5C2TWsg=; b=iy/law28fQAONKO5YrlDt8AxBky93H9ogiI2Lh2pJKpJkI8BqHP9paX8JKcgFnTlpb y3hly9kPS6tx+MU7PKFAL4WHt7Cokz3W1a25Tn9iId8i0ABZt0WET/0fOQAYUq1HXhiw Sx/dZmo8qU/l1zqtPWroCGa154Cy6NI6CK9uvwdQNE3lhKh0ecG4od9e0g3zBhPJ7wiV 7u9l28k1yWJ6bIX67SnVgIE8qvsdGmMKl7S8uxqM972XWILVLvwY+pZu4NvET4voXzBs VUu+nD6x2OM5h0Fw59rPzJTMIj7Rkdfh748RkT2GTEqpSynsEVdf6rT4EJihygRNq9wZ 6Rlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780376524; x=1780981324; 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=gM2FIUryBRQiEGRMHtydSbfKjl7tClJ0BToQ5C2TWsg=; b=CCl7+FLupP0Ywo1gIdMWL70VI3tPJCxbKV2xZtEOKmcNwBQoX/mSW8abvdAngjUy5e HUWEu0K1YOCnLinzzH/vnFwS0CrJOCMu9r90dqBvNUq9Jf6aU46oxpOlaZcFwYPKwvJ3 cyQsDhmC0+mNDtJCnT0ug643sXVRLctwMmgfIpJWRhD5D/lJdwCPV74St/v3r2VYr6E+ ZkxUKZA2QsDvAoq/tSjs33phZQo8Wf0gr176vJlfL77CRGmbMoeffxe74Twi8FGDOwlg ijcm8CAN33HZvrRjIDiXuEXKmA7HdjbcafrsGwE2cp6JYXYVnzHnHY1A7Ea4IEamFXz0 qsfw== X-Forwarded-Encrypted: i=1; AFNElJ8EQqpj6pwKIdFFr+jWKUMsGfEQk2azkBfXDsmqoHALzVjeRCdeQWdVeZdLAq5i2SAH+nQHOBntVowF8nI=@vger.kernel.org X-Gm-Message-State: AOJu0YzY5sdY+qE3MSNjVhDhwlO4SaIYOKPhY6CKIs76kjqiu1yVLRe1 NDQmml4bPr7kGEV+KgcJycwcpcbSgcDjOfdaw3iQDusCja9VCnoEmppG X-Gm-Gg: Acq92OFQNGhmzBOHuCR+vqT2YnT28YcuvC+P6ms3/46LzLLoCzf8wdMBsoMhUJfeXF5 Z4bB2qfZriQDrCKBILqbbs6IEFc1cGCtZ33KZfbs8vQgo6uyEWDvuZ83dJI+ujLm1OZUQK9v1zc UOpxtZDyHBsJskMhM6l3kawdBA2sQESbtl276z4kVVhATH9IpDN5A4KvUUV+I3v/BU9CZF1NEND cxnyyd06/gAUbVqiJluDUAovpSfSjLNZFXBDRlzRHC9T/DuuSLyOgBhpAF6OA2B0g77b11GRRrU EfIaJuph/8A6lUqF9/53Tcj3Hr4GN6kG1Kwlq0mK8FSewj8NrpDd1K42a9Wv2IyGTuDWMiLF7/x kYzkpPrEPYtWzn1ltUFkGymjLFpvvoL4/QM2r+uvS9XHLD/eeddmG3b6J6xzbu7r3Vlq6MHOZsR 7H8rrklyx6Tp8xq9WLFTW97GCH7eeV5sGRfKStFiRdbYN34CNEHHJcxLd53/AhHrgd78IYGeXZQ cEZO4WRDZDoE3E9VHv0elDfCuP/YW5G7ygjX8Vtrvr9fQ== X-Received: by 2002:a05:6a20:c998:b0:3a2:d53f:691c with SMTP id adf61e73a8af0-3b478d11b1bmr2304417637.26.1780376524097; Mon, 01 Jun 2026 22:02:04 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c8589d055c7sm8958467a12.9.2026.06.01.22.02.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jun 2026 22:02:03 -0700 (PDT) From: Rosen Penev To: linux-gpio@vger.kernel.org Cc: Madhavan Srinivasan , chleroy@kernel.org, Michael Ellerman , Nicholas Piggin , Linus Walleij , Bartosz Golaszewski , linuxppc-dev@lists.ozlabs.org (open list:LINUX FOR POWERPC (32-BIT AND 64-BIT)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH 6/7] gpio: ppc44x: drop PPC-specific IO helpers and rename to ppc44x Date: Mon, 1 Jun 2026 22:01:30 -0700 Message-ID: <20260602050131.856789-7-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260602050131.856789-1-rosenp@gmail.com> References: <20260602050131.856789-1-rosenp@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: quoted-printable Content-Type: text/plain; charset="utf-8" Replace PPC-specific clrbits32()/setbits32() with local helpers using ioread32be()/iowrite32be() which are equivalent on PPC since commit 894fa235eb4c ("powerpc: inline iomap accessors"). This allows the driver to be compiled on any architecture with COMPILE_TEST. - Changed Kconfig dependency to depends on 44x || COMPILE_TEST Assisted-by: opencode:big-pickle Signed-off-by: Rosen Penev --- drivers/gpio/Kconfig | 3 +- drivers/gpio/gpio-ppc44x.c | 88 ++++++++++++++++++++++---------------- 2 files changed, 53 insertions(+), 38 deletions(-) diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 77991da43ec1..7374f82b7040 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -595,9 +595,8 @@ config GPIO_POLARFIRE_SOC =20 config GPIO_PPC44X tristate "PPC44x GPIO support" - depends on 44x + depends on 44x || COMPILE_TEST select GPIO_GENERIC - select GPIOLIB help Enable gpiolib support for ppc440 based boards. =20 diff --git a/drivers/gpio/gpio-ppc44x.c b/drivers/gpio/gpio-ppc44x.c index 6b4814ed12b5..cc7796e0cfbd 100644 --- a/drivers/gpio/gpio-ppc44x.c +++ b/drivers/gpio/gpio-ppc44x.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * PPC4xx gpio driver + * PPC44x gpio driver * * Copyright (c) 2008 Harris Corporation * Copyright (c) 2008 Sascha Hauer , Pengutronix @@ -22,7 +22,7 @@ #define GPIO_MASK2(gpio) (0xc0000000 >> ((gpio) * 2)) =20 /* Physical GPIO register layout */ -struct ppc4xx_gpio { +struct ppc44x_gpio { __be32 or; __be32 tcr; __be32 osrl; @@ -43,11 +43,27 @@ struct ppc4xx_gpio { __be32 isr3h; }; =20 -struct ppc4xx_gpio_chip { +struct ppc44x_gpio_chip { struct gpio_generic_chip chip; void __iomem *regs; }; =20 +static inline void ppc44x_clrbits32(void __iomem *addr, u32 mask) +{ + u32 val =3D ioread32be(addr); + + val &=3D ~mask; + iowrite32be(val, addr); +} + +static inline void ppc44x_setbits32(void __iomem *addr, u32 mask) +{ + u32 val =3D ioread32be(addr); + + val |=3D mask; + iowrite32be(val, addr); +} + /* * GPIO LIB API implementation for GPIOs * @@ -55,9 +71,9 @@ struct ppc4xx_gpio_chip { */ =20 static inline void -__ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) +__ppc44x_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) { - struct ppc4xx_gpio_chip *chip =3D gpiochip_get_data(gc); + struct ppc44x_gpio_chip *chip =3D gpiochip_get_data(gc); struct gpio_generic_chip *gen_gc =3D &chip->chip; =20 if (val) @@ -68,29 +84,29 @@ __ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gp= io, int val) gpio_generic_write_reg(gen_gc, gen_gc->reg_set, gen_gc->sdata); } =20 -static int ppc4xx_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) +static int ppc44x_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) { - struct ppc4xx_gpio_chip *chip =3D gpiochip_get_data(gc); + struct ppc44x_gpio_chip *chip =3D gpiochip_get_data(gc); struct gpio_generic_chip *gen_gc =3D &chip->chip; - struct ppc4xx_gpio __iomem *regs =3D chip->regs; + struct ppc44x_gpio __iomem *regs =3D chip->regs; unsigned long flags; =20 gpio_generic_chip_lock_irqsave(gen_gc, flags); =20 /* Disable open-drain function */ - clrbits32(®s->odr, GPIO_MASK(gpio)); + ppc44x_clrbits32(®s->odr, GPIO_MASK(gpio)); =20 /* Float the pin */ - clrbits32(®s->tcr, GPIO_MASK(gpio)); + ppc44x_clrbits32(®s->tcr, GPIO_MASK(gpio)); gen_gc->sdir &=3D ~GPIO_MASK(gpio); =20 /* Bits 0-15 use TSRL/OSRL, bits 16-31 use TSRH/OSRH */ if (gpio < 16) { - clrbits32(®s->osrl, GPIO_MASK2(gpio)); - clrbits32(®s->tsrl, GPIO_MASK2(gpio)); + ppc44x_clrbits32(®s->osrl, GPIO_MASK2(gpio)); + ppc44x_clrbits32(®s->tsrl, GPIO_MASK2(gpio)); } else { - clrbits32(®s->osrh, GPIO_MASK2(gpio)); - clrbits32(®s->tsrh, GPIO_MASK2(gpio)); + ppc44x_clrbits32(®s->osrh, GPIO_MASK2(gpio)); + ppc44x_clrbits32(®s->tsrh, GPIO_MASK2(gpio)); } =20 gpio_generic_chip_unlock_irqrestore(gen_gc, flags); @@ -99,32 +115,32 @@ static int ppc4xx_gpio_dir_in(struct gpio_chip *gc, un= signed int gpio) } =20 static int -ppc4xx_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) +ppc44x_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) { - struct ppc4xx_gpio_chip *chip =3D gpiochip_get_data(gc); + struct ppc44x_gpio_chip *chip =3D gpiochip_get_data(gc); struct gpio_generic_chip *gen_gc =3D &chip->chip; - struct ppc4xx_gpio __iomem *regs =3D chip->regs; + struct ppc44x_gpio __iomem *regs =3D chip->regs; unsigned long flags; =20 gpio_generic_chip_lock_irqsave(gen_gc, flags); =20 /* First set initial value */ - __ppc4xx_gpio_set(gc, gpio, val); + __ppc44x_gpio_set(gc, gpio, val); =20 /* Disable open-drain function */ - clrbits32(®s->odr, GPIO_MASK(gpio)); + ppc44x_clrbits32(®s->odr, GPIO_MASK(gpio)); =20 /* Drive the pin */ - setbits32(®s->tcr, GPIO_MASK(gpio)); + ppc44x_setbits32(®s->tcr, GPIO_MASK(gpio)); gen_gc->sdir |=3D GPIO_MASK(gpio); =20 /* Bits 0-15 use TSRL, bits 16-31 use TSRH */ if (gpio < 16) { - clrbits32(®s->osrl, GPIO_MASK2(gpio)); - clrbits32(®s->tsrl, GPIO_MASK2(gpio)); + ppc44x_clrbits32(®s->osrl, GPIO_MASK2(gpio)); + ppc44x_clrbits32(®s->tsrl, GPIO_MASK2(gpio)); } else { - clrbits32(®s->osrh, GPIO_MASK2(gpio)); - clrbits32(®s->tsrh, GPIO_MASK2(gpio)); + ppc44x_clrbits32(®s->osrh, GPIO_MASK2(gpio)); + ppc44x_clrbits32(®s->tsrh, GPIO_MASK2(gpio)); } =20 gpio_generic_chip_unlock_irqrestore(gen_gc, flags); @@ -134,14 +150,14 @@ ppc4xx_gpio_dir_out(struct gpio_chip *gc, unsigned in= t gpio, int val) return 0; } =20 -static int ppc4xx_gpio_probe(struct platform_device *ofdev) +static int ppc44x_gpio_probe(struct platform_device *ofdev) { struct device *dev =3D &ofdev->dev; struct device_node *np =3D dev->of_node; - struct ppc4xx_gpio_chip *chip; + struct ppc44x_gpio_chip *chip; struct gpio_generic_chip_config config; struct gpio_chip *gc; - struct ppc4xx_gpio __iomem *regs; + struct ppc44x_gpio __iomem *regs; int ret; =20 chip =3D devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL); @@ -169,8 +185,8 @@ static int ppc4xx_gpio_probe(struct platform_device *of= dev) =20 gc =3D &chip->chip.gc; gc->fwnode =3D dev_fwnode(dev); - gc->direction_input =3D ppc4xx_gpio_dir_in; - gc->direction_output =3D ppc4xx_gpio_dir_out; + gc->direction_input =3D ppc44x_gpio_dir_in; + gc->direction_output =3D ppc44x_gpio_dir_out; =20 gc->label =3D devm_kasprintf(dev, GFP_KERNEL, "%pOF", np); if (!gc->label) @@ -179,20 +195,20 @@ static int ppc4xx_gpio_probe(struct platform_device *= ofdev) return devm_gpiochip_add_data(dev, gc, chip); } =20 -static const struct of_device_id ppc4xx_gpio_match[] =3D { +static const struct of_device_id ppc44x_gpio_match[] =3D { { .compatible =3D "ibm,ppc4xx-gpio", }, {}, }; -MODULE_DEVICE_TABLE(of, ppc4xx_gpio_match); +MODULE_DEVICE_TABLE(of, ppc44x_gpio_match); =20 -static struct platform_driver ppc4xx_gpio_driver =3D { - .probe =3D ppc4xx_gpio_probe, +static struct platform_driver ppc44x_gpio_driver =3D { + .probe =3D ppc44x_gpio_probe, .driver =3D { - .name =3D "ppc4xx-gpio", - .of_match_table =3D ppc4xx_gpio_match, + .name =3D "ppc44x-gpio", + .of_match_table =3D ppc44x_gpio_match, }, }; =20 -module_platform_driver(ppc4xx_gpio_driver); +module_platform_driver(ppc44x_gpio_driver); --=20 2.54.0 From nobody Mon Jun 8 04:24:34 2026 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (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 AE3AA24EAB1 for ; Tue, 2 Jun 2026 05:02:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376529; cv=none; b=a09ytvCYmYl3gjkvbAMCSMF+92Pme9p7l984frtHSKk625Q/F9h69zKFziN633YYxZynYDvGrlAFDcZvrCg6Lu8XnPZsBf61zxqk0TnxiqGKjQdI3BDydrViYEuhVinOclMHgswuXHuRRXCwBpbawWOtIP1teG072NEls+bmIJQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780376529; c=relaxed/simple; bh=JSVa/7L94pAgW7eStyxeqPWGUrAP28rRgMZHcvTi0Kw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LijF7UMbfmWYizeON6PkvQCBeu1hxzEiLu7gwF1EWqfLvKjc3LIkqfm5dBc0+gjjdsgsKcXHxDPunggyp1vj22YDeR3ryVtFiHn5D9ftQfpCt0thrG6ETIg9jdT3Ztf4YMhITYlfklPAEHJIDYYMCTeuy1y/cCfZdsk2AleurXg= 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=ZTqlyFxT; arc=none smtp.client-ip=209.85.216.49 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="ZTqlyFxT" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-36b9ec98144so3154781a91.1 for ; Mon, 01 Jun 2026 22:02:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780376528; x=1780981328; 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=7Rc5e+pcCQNLSk7M/61K5VybU7Xya1+dcR9m3vlqSb4=; b=ZTqlyFxT+iE0uytSxPiqMsyKiMSn+vOcU3Ie5DmpwMRU422A3sfKR/KDyRhmxMYoV8 bN6G/7DGWnk5k1ZmjF5WfwJ0t1HmIALXUyo9h8yjfLqIGdItfs7NX5431QZRXUR3G03R Dt6njI+wXJCS9HS/AaJ5/vwrs5l4Mpo/d8KCvk/mGVwvHG0z4HsNShxX7yVdY/RPSWlo O1uBwW3ORuILEPH+MG9UaZ8BdpD/U3iiUsg7UJkOnH5rRJJKFqSEaUz+wjsz4sIKBYlc m82w0+OUqE1Uprs2xBFv2+xU0tDEaAbM+e8Jy94g2Lh46pGICDnsc9eCUcCKlemNwxJm xepw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780376528; x=1780981328; 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=7Rc5e+pcCQNLSk7M/61K5VybU7Xya1+dcR9m3vlqSb4=; b=XsYQIrS2j9uqZy+CIyiq9Ybk59Hs4n2xODJjsC6xSGm/CvZzQW9BCORJXHqqaNUjF6 MIw6IlC9Zp3nuahunrRr23uW/IDNyTtRbyYhWwZT8PXTkwybGXCrepLNv9Q0vDuT3P8J swHBRv9minNVGoFbfmH1PeNtWL19nqvjde38Njh+k9TJKoPzrciyF28bZ3CY8RcBPib5 hWUBJzjUza2XnVQaROx+XBBrNpANrJn8WoLlsmvPPCQQEZYg22co+K4klPNdYP4l4dkS /yTohYASPZT6ZWo1wX23n0fyMAHYaKWn6WNzsLtYYXt8tkVxy4veye32re9D9dPWzJi4 a4pg== X-Forwarded-Encrypted: i=1; AFNElJ8cLGL/PYlhtdnazHG5bbtDPPZmiRdwh8kDDIu76IV1UzVBHE+ZthClFcr7tB75l3JJQPaChak1C+u44b8=@vger.kernel.org X-Gm-Message-State: AOJu0YyXZrn325MUpcWzvn0cc24muaDXkmaWxSkueXO4KMoPN/sqB48D HTnHgL/RdHYJ46vOzA/Hh+/xfQ1h9eDiF6oqgIo32AqiMwieG+lOhv5M X-Gm-Gg: Acq92OG8VUHz9eWNELjiThIcfvfi5j3tfFJKGNQzOFS5fccHufCH14c0Vuog3JRar3l +7NCWTNlcdSwkpp6WmtLpiBGIRJ39eWyRo7ZwHoEXVCB5RuBSgB/+WcX35WCy5Ywoay0jZy/K2w uBpoYgaWmP1ft/XMSCKfvdyTVkW1c73oOfuMEKuvX/OxZmVvGFK2ipoM/divSCULDs6rjpkSMbs 834NLRklWHnopwupiaA37GHWUG5vZmNo9Ej1DjVD+02QLqxLGZymTl26dl0HD6uhjhPNC83KBUN BPm4ZcuAU16r/SU521n3R12lTRKqs6q09L3AUmfAaxCrRo9UbfCQM/FX3A9iGq9GlaJBfgjwP4D U4J7XKYp8dFz1JV8Huinh8uG8TrCZvKoJjU0vd14oTTpCT/tLMaXS9FVScSazO2hcxZoT1gXe9y D8GfJTJOtUfsz1sf8oA8KWoXupro8oVD2dK9Yu+xYPfn9p7+KZTACNShYTTo8z7vEtLZLHvxsov brFmQwu2nSwWbwuIxvxslVz/KCZSz1F5TjD7JB2pRjG+g== X-Received: by 2002:a17:90b:540c:b0:36d:c159:8f11 with SMTP id 98e67ed59e1d1-36dc159997amr5795090a91.26.1780376527983; Mon, 01 Jun 2026 22:02:07 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c8589d055c7sm8958467a12.9.2026.06.01.22.02.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jun 2026 22:02:06 -0700 (PDT) From: Rosen Penev To: linux-gpio@vger.kernel.org Cc: Madhavan Srinivasan , chleroy@kernel.org, Michael Ellerman , Nicholas Piggin , Linus Walleij , Bartosz Golaszewski , linuxppc-dev@lists.ozlabs.org (open list:LINUX FOR POWERPC (32-BIT AND 64-BIT)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH 7/7] gpio: ppc44x: add MODULE info Date: Mon, 1 Jun 2026 22:01:31 -0700 Message-ID: <20260602050131.856789-8-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260602050131.856789-1-rosenp@gmail.com> References: <20260602050131.856789-1-rosenp@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: quoted-printable Content-Type: text/plain; charset="utf-8" Fixes: ERROR: modpost: missing MODULE_LICENSE() in drivers/gpio/gpio-ppc44x.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpio/gpio-ppc44x.o Assisted-by: opencode:big-pickle Signed-off-by: Rosen Penev --- drivers/gpio/gpio-ppc44x.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpio/gpio-ppc44x.c b/drivers/gpio/gpio-ppc44x.c index cc7796e0cfbd..425ccbc234c8 100644 --- a/drivers/gpio/gpio-ppc44x.c +++ b/drivers/gpio/gpio-ppc44x.c @@ -211,4 +211,7 @@ static struct platform_driver ppc44x_gpio_driver =3D { }, }; =20 +MODULE_DESCRIPTION("PPC44x gpio driver"); +MODULE_LICENSE("GPL"); + module_platform_driver(ppc44x_gpio_driver); --=20 2.54.0