{"id":2220635,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2220635/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260407184805.807328-2-dev-josejavier.rodriguez@duagon.com/","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/1.1/projects/42/?format=json","name":"Linux GPIO development","link_name":"linux-gpio","list_id":"linux-gpio.vger.kernel.org","list_email":"linux-gpio@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260407184805.807328-2-dev-josejavier.rodriguez@duagon.com>","date":"2026-04-07T18:48:01","name":"[RFC,1/5] gpio: generic: add a generic register wrapper for MMIO and PMIO","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"39bf85c2c986bb689648c67b4fbe31d4efee1700","submitter":{"id":92011,"url":"http://patchwork.ozlabs.org/api/1.1/people/92011/?format=json","name":"Jose Javier Rodriguez Barbarin","email":"dev-josejavier.rodriguez@duagon.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260407184805.807328-2-dev-josejavier.rodriguez@duagon.com/mbox/","series":[{"id":499020,"url":"http://patchwork.ozlabs.org/api/1.1/series/499020/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/list/?series=499020","date":"2026-04-07T18:48:01","name":"gpio: add PMIO support to gpio-mmio","version":1,"mbox":"http://patchwork.ozlabs.org/series/499020/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2220635/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2220635/checks/","tags":{},"headers":{"Return-Path":"\n <linux-gpio+bounces-34838-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=duagon.com header.i=@duagon.com header.a=rsa-sha256\n header.s=selector1 header.b=YJapxY3N;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34838-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=duagon.com header.i=@duagon.com\n header.b=\"YJapxY3N\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=40.107.167.124","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=duagon.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=duagon.com"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org [104.64.211.4])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fqwGb5bS5z1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 08 Apr 2026 04:49:27 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id E383130142B9\n\tfor <incoming@patchwork.ozlabs.org>; Tue,  7 Apr 2026 18:49:25 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 7E79633263A;\n\tTue,  7 Apr 2026 18:49:24 +0000 (UTC)","from ZRZP278CU001.outbound.protection.outlook.com\n (mail-switzerlandnorthazon11021124.outbound.protection.outlook.com\n [40.107.167.124])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id E307F25A321;\n\tTue,  7 Apr 2026 18:49:22 +0000 (UTC)","from DUZPR01CA0237.eurprd01.prod.exchangelabs.com\n (2603:10a6:10:4b5::20) by ZR4P278MB2096.CHEP278.PROD.OUTLOOK.COM\n (2603:10a6:910:b3::11) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17; Tue, 7 Apr\n 2026 18:49:19 +0000","from DB1PEPF000509EE.eurprd03.prod.outlook.com\n (2603:10a6:10:4b5:cafe::57) by DUZPR01CA0237.outlook.office365.com\n (2603:10a6:10:4b5::20) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.35 via Frontend Transport; Tue,\n 7 Apr 2026 18:49:18 +0000","from hz-deliver01.de.seppmail.cloud (2a01:4f8:a0:13df::219) by\n DB1PEPF000509EE.mail.protection.outlook.com (2603:10a6:18:3::628) with\n Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id\n 15.20.9745.21 via Frontend Transport; Tue, 7 Apr 2026 18:49:18 +0000","from hz-glue01.de.seppmail.cloud (unknown [10.11.0.26])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby hz-deliver01.de.seppmail.cloud (Postfix) with ESMTPS id 4fqwGQ0pkhz4wfb;\n\tTue,  7 Apr 2026 20:49:18 +0200 (CEST)","from hz-glue01.de.seppmail.cloud (unknown [172.18.0.3])\n\tby hz-glue01.de.seppmail.cloud (Postfix) with ESMTP id 4fqwGQ0VYrz20hw;\n\tTue,  7 Apr 2026 20:49:18 +0200 (CEST)","from hz-scan09.de.seppmail.cloud (unknown [10.11.0.50])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits))\n\t(No client certificate requested)\n\tby hz-glue05.de.seppmail.cloud (Postfix) with ESMTPS id 4fqwGP6xq9z20Qq;\n\tTue,  7 Apr 2026 20:49:17 +0200 (CEST)","from hz-scan09 (localhost [127.0.0.1])\n\tby hz-scan09.de.seppmail.cloud (Postfix) with SMTP id 4fqwGP6Fctz19fG;\n\tTue, 07 Apr 2026 20:49:17 +0200 (CEST)","from hz-m365gate01.de.seppmail.cloud (unknown [10.11.0.27])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby hz-scan09.de.seppmail.cloud (Postfix) with ESMTPS;\n\tTue, 07 Apr 2026 20:49:16 +0200 (CEST)","from ZRAP278CU002.outbound.protection.outlook.com\n (mail-switzerlandnorthazlp17010004.outbound.protection.outlook.com\n [40.93.85.4])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange ECDHE (secp384r1) server-signature RSA-PSS (4096 bits)\n server-digest SHA256\n\t client-signature RSA-PSS (2048 bits) client-digest SHA256)\n\t(Client CN \"mail.protection.outlook.com\",\n Issuer \"DigiCert Cloud Services CA-1\" (not verified))\n\tby hz-m365gate01.de.seppmail.cloud (Postfix) with ESMTPS id 4fqwGM6mctz2xLQ;\n\tTue,  7 Apr 2026 20:49:15 +0200 (CEST)","from ZR0P278MB0523.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:34::6) by\n GV0P278MB0162.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:2d::12) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9769.18; Tue, 7 Apr 2026 18:49:13 +0000","from ZR0P278MB0523.CHEP278.PROD.OUTLOOK.COM\n ([fe80::30b2:3be9:48ab:c354]) by ZR0P278MB0523.CHEP278.PROD.OUTLOOK.COM\n ([fe80::30b2:3be9:48ab:c354%6]) with mapi id 15.20.9769.018; Tue, 7 Apr 2026\n 18:49:13 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775587764; cv=fail;\n b=EiVtviG6LVwnexBk8JzdWfp048qmJzs1EPRT4GH6mz3W5mkusdmiaEoahGYeFZlyl9dwE+1LBsJ6LK0hr1L929wQ6k7beqIRk/R2Fg5TLRMsyWVHdaiG9DFX1u+B5wOvvATX1PEjxE3ZoxQRK1yoRxLo20g4fIOz3cnN2W7tFb4=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=lJQWglIkhDFfvd+NAiV+QL8bOco0xeN8gfKG+kZy/MlhBkCv/Q/Py+84MOCqFetqgXPdhgcmoSaJumK6RxaLJfaDrFRkvr3WeE2YIAOXaWNngHGX8dyddDImW2todI6jk++ew/c9zB78+fGJ4NORiLMhLK513MhKA6o5hPNLtPwvdQG82UN/3FHshEivY9V9F8TNenRkw3LYC4Z1VGeemtaC5GE6VqKvynZ3rQoQPNzUAHE1v22C1LQFr+D0gR4m2cBlxre6fKQqyGygoMG0fTE29UDuPLvQY6kF1ovzPOWVZpi6B3CNB9UGefyP08qncxqPEQb9OYfPdIzibbAgCg=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775587764; c=relaxed/simple;\n\tbh=GsLT9skqXxNqS8tdVC0hBa9a+AJGlUePwwj06cat+Y0=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=B0VqG2lWcqSmPnCIiqZUUwKqWDLbeFIfZrAnYmCGSrb74PyVsOFYCi90f0VvBRvgwuIKkAvYIDEn7I55Fub/OmunpSdqT4lr+VeQkai/ZTKJa708I3KXO4kGdom/pgwU+U+CgQ5g1k6wXK0Ppeo1jE9Ljt8MmabYxRzI+9u7qqc=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=5tSU0evtGs8EtidQCG5nZVpGaFPEmE7FKr4PzsVR8Vs=;\n b=p4SVdjgFpf3g2ClHL6OyaTlY4fBiaEqu1hj8sDXyJ7fU/E45od5YAAe7vg449+7jbhpJektpvKbmij+ajiTtvz+yKQjOYiAy8/XhK9e4C7D+qEB6pvzBNoxwKm9rKft5ovpfclZ3A7j5ZNkt4HVNorsxDsaSi1RyOUCZbcW15rcO1b/rrTpPEGtSIrIpZQvkPb7J1ViK40QAeM3I19SthtM93uB2wFRFn4CSTWBEzPPwicbTiCPfRuNhAmytumWvFJ7LW4SriQMuvIgg4PaDnqGIRrO6Z8AoalgqmZYyRb/XBTWDTa7FVD/RTm26qefdHVm6bWomMkgSzujnGN8E1A=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=duagon.com;\n spf=pass smtp.mailfrom=duagon.com;\n dkim=pass (1024-bit key) header.d=duagon.com header.i=@duagon.com\n header.b=YJapxY3N; arc=fail smtp.client-ip=40.107.167.124","i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 40.93.85.4) smtp.rcpttodomain=kernel.org smtp.mailfrom=duagon.com; dmarc=pass\n (p=reject sp=reject pct=100) action=none header.from=duagon.com; dkim=none\n (message not signed); arc=none (0)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=duagon.com;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=5tSU0evtGs8EtidQCG5nZVpGaFPEmE7FKr4PzsVR8Vs=;\n b=YJapxY3NW2ll/lxFlRLY8sL8SAmzexm2TKLO1cuPIEliWZsWtIBOuy3gsVPY6zN2KKAlznbQKdLMp/PNvh08xosL/UCOG9xvHLqZy/N4oVtNEYYJxlAwQPKDWZ2AfDRi6fqX/NcxRNjoNo+7eON1WueyCj2tPQNdtzkdVTnHHz8=","X-MS-Exchange-Authentication-Results":"spf=pass (sender IP is 40.93.85.4)\n smtp.mailfrom=duagon.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=duagon.com;","Received-SPF":"Pass (protection.outlook.com: domain of duagon.com designates\n 40.93.85.4 as permitted sender) receiver=protection.outlook.com;\n client-ip=40.93.85.4; helo=ZRAP278CU002.outbound.protection.outlook.com; pr=C","X-SEPP-Suspect":"385a42524b254aafafe27cd15d8621e2","From":"Jose Javier Rodriguez Barbarin <dev-josejavier.rodriguez@duagon.com>","To":"linusw@kernel.org,\n\tbrgl@kernel.org","Cc":"linux-gpio@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tJose Javier Rodriguez Barbarin <dev-josejavier.rodriguez@duagon.com>","Subject":"[RFC PATCH 1/5] gpio: generic: add a generic register wrapper for\n MMIO and PMIO","Date":"Tue,  7 Apr 2026 20:48:01 +0200","Message-ID":"<20260407184805.807328-2-dev-josejavier.rodriguez@duagon.com>","X-Mailer":"git-send-email 2.53.0","In-Reply-To":"<20260407184805.807328-1-dev-josejavier.rodriguez@duagon.com>","References":"<20260407184805.807328-1-dev-josejavier.rodriguez@duagon.com>","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-ClientProxiedBy":"MA3P292CA0072.ESPP292.PROD.OUTLOOK.COM\n (2603:10a6:250:49::17) To ZR0P278MB0523.CHEP278.PROD.OUTLOOK.COM\n (2603:10a6:910:34::6)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-TrafficTypeDiagnostic":"\n\tZR0P278MB0523:EE_|GV0P278MB0162:EE_|DB1PEPF000509EE:EE_|ZR4P278MB2096:EE_","X-MS-Office365-Filtering-Correlation-Id":"bcb99e0a-195d-4ff6-fada-08de94d65fff","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam-Untrusted":"\n BCL:0;ARA:13230040|1800799024|366016|376014|52116014|56012099003|18002099003|22082099003|38350700014;","X-Microsoft-Antispam-Message-Info-Original":"\n w5jmIdVlO0mf5x6iOaQh8lrEWPYFTKFYmHIwXL4C5XiYNza9syIqT1ASk7A5I7usYlqDkdFFfwX2Mxmlxjo79i4t3F2Kcrb3iPD/bb1az3SHtiEQgPj2NeDf3ner+yUDuVkFeY7if4jMGLiT4AffdE9VeowBbW05PA2LTJXBqldLbgXPk65XVmA899x2EVz38RLk85EgE6npzBG3vA3e5/FLiVpQSfBiLsSDXvd2b043E/GXvV2hB/QwfJZkHsLovtg0dcqsJtHdBZeHwYZgcMuSz5zZl7tsJAjGcSwNgIta/ManleEpj6MTj/NQ8UBDGUlMxHkZmkaulnU8UOR7iTzopwt6fFFAP2wiFHYPMpN1Hyq2HiD3xmzizurNM/K2YyncUuBZZ0dvdfr/41+90Pg/0Tp6hEOayxme9JYJ36ZrxFwl8tu8iK8IKXV+Q0TQcOspS37dmDVanw8qvzkHREbks2KYOcZ53RCzgnwjvQJvwr0qlVDJVTbnCEa88R0aoxbSkwkmZy3Fvy6BRM9cqcpdXStQAyRaXV56QSMMS2ADqNYb9PSoTrC7Zw/lLkdF5T1XMHT3dxjhkm6DzwoNrJpUX+fV6Ch/JwIUgxBJF4zKX83yBEETXJstCU5pFxLXy4AxVeLKF1MyxrPCvT0PlsdNOkeGmIfRoW1hNr2C3aF5ZCh6n5VF5yHSEy4Irs+h+u4pSY2BQKUaP5XZknGDTe01i+eM34/9YuHQObmZVfrgGko45CSnJqE8P4ThYpUYooT6cxaY5rIUb5QwTNCFXPdZbsxqBjQF9vYj0HrP6vc=","X-Forefront-Antispam-Report-Untrusted":"\n CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZR0P278MB0523.CHEP278.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(52116014)(56012099003)(18002099003)(22082099003)(38350700014);DIR:OUT;SFP:1102;","X-Exchange-RoutingPolicyChecked":"\n DsD9f1DMy0caImeXlAhmQkSOWCpdsz6TmBMmI9fFuiFZnGgaG9H0lAo+YyE24ER4D8gUSLdSMfWfD3s/+xRn9uF8Gm6EXQKP1bePo7/EaQebsvg6Z4hdJZWp9mdKDjh2HBtTzkC0gHK/KtpeY9mkV1vPaMWCh0/IGsHLLs5/Sl/Cv1LbrCjMmjn5PrPjEXH2OY3DCyPURVKFb7yu5SwdF7LhinRjwJjl35rq4RWH26bhoEqCoRKpOWJRYvo+Is7fgV/UlyQVAKCJBHR9100UfbCTgBJK3RWLpmAqHJRKJOqII5SZxcTNhrZ1PrxbJo2ZS6roi1BveG96IEG2hR1veg==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":["GV0P278MB0162","ZR4P278MB2096"],"X-SEPP-CCCVersion":"2026-03-30T09:40:10+02:00 639c564b","X-EOPAttributedMessage":"0","X-MS-Exchange-SkipListedInternetSender":"\n ip=[40.93.85.4];domain=ZRAP278CU002.outbound.protection.outlook.com","X-MS-Exchange-ExternalOriginalInternetSender":"\n ip=[40.93.85.4];domain=ZRAP278CU002.outbound.protection.outlook.com","X-MS-Exchange-Transport-CrossTenantHeadersStripped":"\n DB1PEPF000509EE.eurprd03.prod.outlook.com","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id-Prvs":"\n\te2ba8c9b-98b9-4f2b-c1b9-08de94d65cf2","X-SM-ruleversion":"2.1.0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|35042699022|1800799024|82310400026|10070799003|376014|14060799003|36860700016|18002099003|22082099003|56012099003;","X-Microsoft-Antispam-Message-Info":"\n eACzm9sJklTyM+v5LGLWAFRvBBSLSIwgNNr2RU3mDetWuVbbmDufBhg7TE3LQKJbWYdZy+owQruQLLjSZdOEHlHMowBYtXgRidl72+yYh3G0zgxu21zSNjlMEnLzuHQ4+JZvpX1OCHlzMeQHDxJiqz0I1uvlSuju67TJjeA5Xm/BPylO632Kwsiu2eavM8k/SufPLqpFOUKvhklWqET3esUIpaFXZ9Torg3MCaa/OAvgzII3cRH3vuJ7nW9DxdMWSLN9FixHgmhP3cuwbGK6BDlQQjKWQJduI7B50zCv6k0v3Xz+7ebjIbTN7/xgzaXGDmgZ1XCJPyBSnUec0eAN/jgfpBbQncBxvet8L/6p+5F57seumUaiCPiP7F0t8Fsoe3H91uyts2IyRP19CA7lN5pyGa2azsyRRsoKWWh49JJnZmmGoTuQM3P0tZGHRXmJoodDAVbSE3d6C2Gg0zEaiD2YfP3LWDXn7sI1jcZe6aZm4gMEOYaEeHMK35SiaTyVdHMmUhUWMgAGhjxC4Y9l/8xR9a9GY0yqlKNFzRuj/nLWPLLUncNnisxIPu3psVdTRHwj+wWmL6LoGo/bz8K5d+pFskcgiepfymxQnju8CzOO8SWRMsLqE67aYO/GCL8SOmIxw+7D9+g/FesHl5D19oCwuv7/hj7VkH37JrnUheDhZuVqfRBy2CaFyQWsDqSYsUMLGkcOrBGtmYhhasVdjlCBWW+mwhKddYsS/rmIgw0jdCDXCDyn6f60pfN050571Dt7I6DHleF0SH8Gi71mDQ73EXe+6vIVHkNaS5C4j2GP48XG9R7vZR5T/wuNU8qFVSJmRow51OESy3Nyho+FTfWHflNOXracVIQqW8vUJCdGtLrGccDNrhsYwrabgpJQ3TohFzX7RRi0ASoJgor0uxSFDgQZtUnt0vFTPOR5XFBBLwa05X21lM2r1EBQ5PNcrV8CGkYSDBiW2UeN2cv5X24jZ5DUv+MZKMqNAMH9Ynyu0KsmRBOLJmhj0py6x1jF/otPsURy41EOOAV4xx1pUvAcNZhWlhSswPuFgOywQE65fnyvzqfzG2XF+32tGehFcUy7RrNwzTuKLRvasnOXyLDT9SRpDlWd2maDC0Mmeatep6tV7ppMva9w80ljwG9NSc3SzyrlZdufQgElK1JpxtnRILUiL224k4ilPBtVCWMqfHGBg+fDIbfeEbhZs9/QRG3oiw1l6pIxHzmeOeppFOMPuIopntjrBXm/PTfpdmKrMlJd+qYNklS3zAk84db+","X-Forefront-Antispam-Report":"\n\tCIP:2a01:4f8:a0:13df::219;CTRY:CH;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZRAP278CU002.outbound.protection.outlook.com;PTR:mail-switzerlandnorthazlp17010004.outbound.protection.outlook.com;CAT:NONE;SFS:(13230040)(35042699022)(1800799024)(82310400026)(10070799003)(376014)(14060799003)(36860700016)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1102;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n\tILGMHnT0h5bkhb5wkk2XDqA47/bNzQB8jkTl0POMOn2MDbu8ux9I0RzELFbtjiFzYOd2byjN6asDyT6jCED9fLc/TQmzlm+GPeiSgLYTT+evce3G1wS4drca4LNaUBN8dBAlQ5rAfMnzBgVH+nlTNwBq7T88wCsZw7yTU16IsbsFa1zIkKW2B3ECuIM03IGsn0pH+bqZ9VYqc5h/wca24BqlVxqKs7ZJg13ENy2BCwOj6jI32BMDePEJfmk/HOZFmBuoJbahGtNEs9qN4lioGuEAeCFA5fNlUwdRLXmF7NtmwwpXMXcBCN38Se1pvMk1xqtpsaVIUb34d3JUA6H8SH7ABzMnnZ4cmNMNpRny0oU/JeQEun9iVzS2HF5aUufdtMYN7ZIiEAS6yFroUtfGyLV8+Ltb5gZD8OdEo/In48awNu/gNR4bgTsE6FtDNC/I","X-OriginatorOrg":"duagon.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"07 Apr 2026 18:49:18.6512\n (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n bcb99e0a-195d-4ff6-fada-08de94d65fff","X-MS-Exchange-CrossTenant-Id":"e5e7e96e-8a28-45d6-9093-a40dd5b51a57","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"\n TenantId=e5e7e96e-8a28-45d6-9093-a40dd5b51a57;Ip=[2a01:4f8:a0:13df::219];Helo=[hz-deliver01.de.seppmail.cloud]","X-MS-Exchange-CrossTenant-AuthSource":"\n\tDB1PEPF000509EE.eurprd03.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem"},"content":"For adding support to port-mapped devices within gpio_generic_chip, a new\ndata type is required for passing to read_reg() and write_reg()\ncallbacks as I/O port-mapped and memory-mapped registers use different\ndata types.\n\nIntroduce a new struct gpio_chip_reg to encapsulate mmio addresses and\nI/O port numbers.\n\nSigned-off-by: Jose Javier Rodriguez Barbarin <dev-josejavier.rodriguez@duagon.com>\n---\n include/linux/gpio/generic.h | 14 ++++++++++++++\n 1 file changed, 14 insertions(+)","diff":"diff --git a/include/linux/gpio/generic.h b/include/linux/gpio/generic.h\nindex ff566dc9c3cb..87c624070901 100644\n--- a/include/linux/gpio/generic.h\n+++ b/include/linux/gpio/generic.h\n@@ -18,6 +18,7 @@ struct device;\n #define GPIO_GENERIC_NO_SET_ON_INPUT\t\tBIT(6)\n #define GPIO_GENERIC_PINCTRL_BACKEND\t\tBIT(7) /* Call pinctrl direction setters */\n #define GPIO_GENERIC_NO_INPUT\t\t\tBIT(8) /* only output */\n+#define GPIO_GENERIC_PORT_MAPPED\t\tBIT(9) /* port-mapped */\n \n /**\n  * struct gpio_generic_chip_config - Generic GPIO chip configuration data\n@@ -56,6 +57,19 @@ struct gpio_generic_chip_config {\n \tunsigned long flags;\n };\n \n+/**\n+ * struct gpio_chip_reg - Generic GPIO chip register descriptor for MMIO or port-mapped I/O\n+ * @mmio: MMIO register address.\n+ * @port: I/O Port register address.\n+ *\n+ * Describes a GPIO chip register located either in MMIO space or in\n+ * port-mapped I/O space.\n+ */\n+struct gpio_chip_reg {\n+\tvoid __iomem *mmio;\n+\tunsigned long port;\n+};\n+\n /**\n  * struct gpio_generic_chip - Generic GPIO chip implementation.\n  * @gc: The underlying struct gpio_chip object, implementing low-level GPIO\n","prefixes":["RFC","1/5"]}