get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2232317/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2232317,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2232317/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260504-baytrail-real-swnode-v5-2-c7878b69e383@oss.qualcomm.com/",
    "project": {
        "id": 42,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/42/?format=api",
        "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": "<20260504-baytrail-real-swnode-v5-2-c7878b69e383@oss.qualcomm.com>",
    "date": "2026-05-04T10:58:57",
    "name": "[v5,2/2] platform/x86: x86-android-tablets: enable fwnode matching of GPIO chips",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "ef9f74ce60bed8a187c5cf57118177f7bd72134b",
    "submitter": {
        "id": 92196,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/92196/?format=api",
        "name": "Bartosz Golaszewski",
        "email": "bartosz.golaszewski@oss.qualcomm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260504-baytrail-real-swnode-v5-2-c7878b69e383@oss.qualcomm.com/mbox/",
    "series": [
        {
            "id": 502643,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/502643/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=502643",
            "date": "2026-05-04T10:58:55",
            "name": "platform/x86: x86-android-tablets: use real firmware node references with intel drivers",
            "version": 5,
            "mbox": "http://patchwork.ozlabs.org/series/502643/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2232317/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2232317/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <linux-gpio+bounces-36043-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 (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=YdaXGfuu;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=kcgeDmVE;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-gpio+bounces-36043-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=\"YdaXGfuu\";\n\tdkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=\"kcgeDmVE\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=205.220.168.131",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=oss.qualcomm.com"
        ],
        "Received": [
            "from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\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 4g8JZR0jKzz1y04\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 04 May 2026 20:59:59 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 1156A301874E\n\tfor <incoming@patchwork.ozlabs.org>; Mon,  4 May 2026 10:59:28 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 912D63A7859;\n\tMon,  4 May 2026 10:59:20 +0000 (UTC)",
            "from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n [205.220.168.131])\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 0ED7B3A759C\n\tfor <linux-gpio@vger.kernel.org>; Mon,  4 May 2026 10:59:19 +0000 (UTC)",
            "from pps.filterd (m0279864.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 6448fRhr459437\n\tfor <linux-gpio@vger.kernel.org>; Mon, 4 May 2026 10:59:18 GMT",
            "from mail-qt1-f198.google.com (mail-qt1-f198.google.com\n [209.85.160.198])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dwaejnagt-1\n\t(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n\tfor <linux-gpio@vger.kernel.org>; Mon, 04 May 2026 10:59:18 +0000 (GMT)",
            "by mail-qt1-f198.google.com with SMTP id\n d75a77b69052e-50fb3c7b989so71800631cf.0\n        for <linux-gpio@vger.kernel.org>;\n Mon, 04 May 2026 03:59:18 -0700 (PDT)",
            "from brgl-qcom.local ([2a01:cb1d:dc:7e00:56cb:50e1:b507:63d9])\n        by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48a8eb69698sm474728135e9.1.2026.05.04.03.59.14\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Mon, 04 May 2026 03:59:15 -0700 (PDT)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777892360; cv=none;\n b=EuSdxG/qnBA0sp/P6Uf86q9DR+PFg0G2uSzBIID7coIiUS3WvPBmPvEkRQTPw9hgIgUTImQ4Ks0W8KoiZpRqxZjpyFL4z06J36oxvsxf0SFRZjZzmq/k+IAIvvPmIl5H1EtDdDk+7RQo/Ys8SP1oqxCqE+g/6MnuKN4k6iWfqRo=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777892360; c=relaxed/simple;\n\tbh=7JxG9a0+MCIZqlKYdVA9Lfg5AHcwDLPHiaU90aY4OuQ=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=Il2kvevGrIBgYtQp8ehDp/vwjeuPUERLQ+FtB37j0M0xTY74bbyHj339zl7JdTgkn7cg0XIHXRnWgFmClH3fR0WWII7NytBWYt5QC8AbCeyQrT2+Ptv+aIG3Rn/2bh8ZCrX5VMGGAcGU24B8ZAs7MkB1olUVSMhEKMOGzxVnlmk=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com;\n spf=pass smtp.mailfrom=oss.qualcomm.com;\n dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=YdaXGfuu;\n dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=kcgeDmVE; arc=none smtp.client-ip=205.220.168.131",
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n\tcc:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n\tym0DookTYIjJdHtgNOrhmdkhvs2SuwVIeR42yl8FikQ=; b=YdaXGfuuGJnGgu1N\n\tzMGDSSXG+G941arQ0MAiAbf4M5iTS0kZnaANzqBCirJCh5vTbUG1EAVTZpLgm25U\n\tRgueE8LROaOrRaX0fzwceizG6DGIztZ/py96V0fLQfTGT1T2wypU81qT/V5N+k+t\n\tsSO7bmy65o3+f21zb9SqodORdHjaNM7PWyezh7/kpGd1QkpWQIdg3hNBi33CpeEK\n\tk1UoAFpkV0CT+M8GA4PtuZHlRLtgRfMBUwoBhIM+FT7R2hLJ+Kv4VsJf1kDuCHQO\n\tNTjbT8zrbpCNLgCFacSNp8k3TXCI/I8VxdRZ9zb6pRx+bB3KUmkQAR+Bx2wQ9Eqs\n\tUfv/FQ==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=oss.qualcomm.com; s=google; t=1777892357; x=1778497157;\n darn=vger.kernel.org;\n        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n         :mime-version:subject:date:from:from:to:cc:subject:date:message-id\n         :reply-to;\n        bh=ym0DookTYIjJdHtgNOrhmdkhvs2SuwVIeR42yl8FikQ=;\n        b=kcgeDmVE5GKCVrcVoLyZg7TQgoh0+QuJbFtLlrXBU3jhxDaxRH2wdyoVvXtMTJFXNs\n         155xo3fOT0zH3Op4VW2Ztvimr3nxwtrwQ32vP5zZoZeZHNNYbAoUFILu8RxalcNcAQ/k\n         m8wVgJk/f3yK3ZR9FNj7i3RtLySCzVcsW+MY9/+26upwm3fRCBcWDc7wa8P1cOe9Ug4Z\n         E436Fv8qVDZi6cz791GWPfsognOqut5QvdK+9kDWwKwzOA3gTYq/BxJp9tyhdnUNED+0\n         jQIduLoaczGikf6dhfTAzYuwbeRPV0HVv/g9KnTVlnUME+l+lqhbLqJ1LiLYFcy191zh\n         e1dg=="
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1777892357; x=1778497157;\n        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n         :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to\n         :cc:subject:date:message-id:reply-to;\n        bh=ym0DookTYIjJdHtgNOrhmdkhvs2SuwVIeR42yl8FikQ=;\n        b=N+hagJIw0S48AuypeFIf6myzX/yy2Pu5jHxiYOFF5d1Y3JyQTinc5phVFa1yVzEAQY\n         1vfn7Ak/QXCoxgbky87tGwhFpCkpCPwwhE0mapJLBe+O5Oxk108WIa36VfyOBrAdjjAV\n         nGap6v78JjCbkI3pCcp8/QCE6DrhNF2al9vUnwDwHLW190I9waQV/rU6vqN7q/UWN7mr\n         jOe4BOGEr0UXw3tYBgAOsF9bOdFuKHrxKDHWD0yXuBNV32vrQ14vYA5caXDFiZDgoilo\n         +/lF7IKbIRHcUSBArtnT4BY6AK9aU51EjGyJpudUe5nAGsWGpVRLV/iSuXpw9On5Ezpl\n         KUXQ==",
        "X-Forwarded-Encrypted": "i=1;\n AFNElJ+KpRdIyff+ZWELDnmKgXPavezAlvHGvJHpxS+KVUFbaJocvGvpZvZI/RhwbTGPYcp4DSI1llMHG2+d@vger.kernel.org",
        "X-Gm-Message-State": "AOJu0YyujXYhQTmkLojPgFhUx0TiqX72bBZKBG5hZ1p62U0kC4S2o/KO\n\t6IimVzJ2kQHzVKhEIKANeGNnMedDGoAr35t+iJqhimF2q+jDF1V0KAiPXGOb5zcQAiMrsxR2EOW\n\tiN4KzLF6wLsdSjJj7sIJtsbk8a696zHFIZQZBg4cRItCDnwobe2R8MC5CgsHoZO+s",
        "X-Gm-Gg": "AeBDievYHCSN8gJQIyp1P2MBn5AVAnoTBXqQd2Y9DZnzz4s37i8ux1iJDPXu8z3nwPK\n\ts0fRSncDLZs+EeYc2B0G2e3YNp+seVWgff1v8+Zs+G79IWEht2iW1oqY8ZSMaPPLf/fvi9ovKDz\n\tcr+txYs41zfNH2ShDmkAmA1xJNCcB57gryUS6qj8TpS22WHgz7PmfPOO/31SGP2lXeTje38mgoh\n\tkPYixXOISjd5GeZ+x9AI3ifgEj1dECyFdriWT5jJo1RojrIFkrBaO9ndTM00Sg+3qLrtvuMdnE3\n\tL77510V7mj5nB3KD3/51a4yL+sFRLGcY9CiFlIBh8Rp8nz0Scewab/d1UEJSNqFS8AT+TPdqR3R\n\tSQj0bUEB3MlVIoaQcM3zC4yonvy2+0VyMoAPhdbZCF3soifMWm1Jqk84q34/S3g==",
        "X-Received": [
            "by 2002:a05:622a:3d3:b0:50d:9c60:fe2a with SMTP id\n d75a77b69052e-5104bdf32afmr133826021cf.1.1777892357336;\n        Mon, 04 May 2026 03:59:17 -0700 (PDT)",
            "by 2002:a05:622a:3d3:b0:50d:9c60:fe2a with SMTP id\n d75a77b69052e-5104bdf32afmr133825771cf.1.1777892356882;\n        Mon, 04 May 2026 03:59:16 -0700 (PDT)"
        ],
        "From": "Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>",
        "Date": "Mon, 04 May 2026 12:58:57 +0200",
        "Subject": "[PATCH v5 2/2] platform/x86: x86-android-tablets: enable fwnode\n matching of GPIO chips",
        "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",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "7bit",
        "Message-Id": "<20260504-baytrail-real-swnode-v5-2-c7878b69e383@oss.qualcomm.com>",
        "References": "<20260504-baytrail-real-swnode-v5-0-c7878b69e383@oss.qualcomm.com>",
        "In-Reply-To": "\n <20260504-baytrail-real-swnode-v5-0-c7878b69e383@oss.qualcomm.com>",
        "To": "Andy Shevchenko <andriy.shevchenko@linux.intel.com>,\n Daniel Scally <djrscally@gmail.com>,\n Heikki Krogerus <heikki.krogerus@linux.intel.com>,\n Sakari Ailus <sakari.ailus@linux.intel.com>,\n Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n \"Rafael J. Wysocki\" <rafael@kernel.org>, Danilo Krummrich <dakr@kernel.org>,\n Mika Westerberg <mika.westerberg@linux.intel.com>,\n Andy Shevchenko <andy@kernel.org>, Linus Walleij <linusw@kernel.org>,\n Hans de Goede <hansg@kernel.org>,\n =?utf-8?q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@linux.intel.com>,\n Dmitry Torokhov <dmitry.torokhov@gmail.com>, Len Brown <lenb@kernel.org>",
        "Cc": "linux-acpi@vger.kernel.org, driver-core@lists.linux.dev,\n        linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,\n        platform-driver-x86@vger.kernel.org, brgl@kernel.org,\n        Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>",
        "X-Mailer": "b4 0.14.2",
        "X-Developer-Signature": "v=1; a=openpgp-sha256; l=3689;\n i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id;\n bh=7JxG9a0+MCIZqlKYdVA9Lfg5AHcwDLPHiaU90aY4OuQ=;\n b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp+Hv8F40bmal2NGM4+D73NxohtUby8U7XhNz9B\n oZXnOiF3dyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCafh7/AAKCRAFnS7L/zaE\n w9F+EACl5E46Y4zdsjIUMNaMjTFQxPyc/2sdshlfPC1wn2kRrq5ayfJWGAaz9FM9nR/H+ORq48/\n 1kukI3+S8sJg57yC9L9DLjkSnxn+u/lPTt2YBc+S1/cZwdniXgYQOCK46ofMd/VOIEAAUx7OZMt\n rSXlWFS9yjGdQ1dyTroupVZ96urBveKOfQYnIKccfbbyLNejwOhp44O8nygkkQyuxtc/Al3Ea9u\n qZ89NDfRgaVS8hl0Sb9OboCpnpakew478TEMSCFzPaY7FFuRNijCLAzTyHUopP2CQ117HWHYQUQ\n mbbe/bWSruOXBRtV640ADEsqbYWVgGAgG6vNR26+XxSdg2j3r2vlQQdvesSALxyG7NavDllHQ7R\n eFQEppGqjBFxl97k7fPGZnQ0lvmxRtp++X9i6pTW9oGB6wPYn84Uu7Wne3DyJqeW1IkGrjE7qOR\n j7Jqa86KG4mGMb3Y7fy9NT+95GJXoOkWIEnC9heDp1wQ2oZumid2ZvB0I8NC2/75vBNHzrrKacC\n H+UuH0dzb5kEG0E/U/EhoOxguI+HaDC4508+d96tCfGa9TiYRuQfEWNTtzDqpW21hlKYOoOgPVj\n gTnBPyesvsCaoPjeqmCC2+coGaQjEivkAIsBL32FMWPJIzq17FAIkEr6sRytIVi9GMi+CCnNPMD\n JxiGJHreBY8X05Q==",
        "X-Developer-Key": "i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp;\n fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNTA0MDExNiBTYWx0ZWRfXy5as21gdSv3z\n X+9Msn9chnvctJR4nVaq9T2BUyqJEt9CyH8wqg/bsnv7OX/D7lar8Ln0oyssvxYeNrzdihxYhxE\n XwAhiSXKsc07YiuAsXFghAFzvRrzOrvYuUpsDABDfN1nsINb7ChARAhXeP5mlsY3xH6sXWyAVA7\n e4ltaOraRv4sdrhDjDrcs8TaacOwtZX9PeP96DX5OGgRys5BZPYQfNKZs0uGGftrRxbBzfT4FKd\n cm66ppuGrvGD/Je3bV7QA20VlDMiSAqdCAqfNECeNJss5o9repDXm5vl0c3WoRNcqrp6KGx7a1T\n XQEkYy28QQLfA/+V7SXWXKD3P2D5H1JRjqt/3jzB4t8bzI/KuIx+M1ohfhNmUGQjCFC5g/WnLls\n IBY/NSuAGQwfcYbHF89V++qQQS1Szxcp60Z7gVNk8epBx6frhFsUVXmL6taT8P4pj+otWuCyS7S\n 6qT7RT7cFhg2hvDrDcg==",
        "X-Authority-Analysis": "v=2.4 cv=Wa48rUhX c=1 sm=1 tr=0 ts=69f87c06 cx=c_pps\n a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10\n a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8\n a=k_IdGrc-7EcYSgGcGvIA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22",
        "X-Proofpoint-ORIG-GUID": "oV1iXLQZvLHTYIrtxgFc14dnqCjxE5Ea",
        "X-Proofpoint-GUID": "oV1iXLQZvLHTYIrtxgFc14dnqCjxE5Ea",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-05-04_04,2026-04-30_02,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n lowpriorityscore=0 adultscore=0 clxscore=1015 impostorscore=0 suspectscore=0\n bulkscore=0 phishscore=0 spamscore=0 malwarescore=0 priorityscore=1501\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605040116"
    },
    "content": "In order to allow GPIOLIB to match cherryview and baytrail GPIO\ncontrollers by their firmware nodes instead of their names, we need to\nattach the - currently \"dangling\" - existing software nodes to their\ntarget devices dynamically.\n\nThe driver uses platform_create_bundle() and expects all required\nproviders to be present before it itself is probed. We know the name of\nthe device we're waiting for so look them up and assign the appropriate\nsoftware node as the secondary firmware node of the underlying ACPI node.\n\nScheduling fine-grained devres actions allows for proper teardown and\nunsetting of the secondary firmware nodes.\n\nSigned-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>\n---\n drivers/platform/x86/x86-android-tablets/core.c | 63 +++++++++++++++++++++++--\n 1 file changed, 60 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/drivers/platform/x86/x86-android-tablets/core.c b/drivers/platform/x86/x86-android-tablets/core.c\nindex 021009e9085bec3db9c4daa1f6235600210a6099..4126b49e7d07b64ab9cdb876326c315f9a73b16c 100644\n--- a/drivers/platform/x86/x86-android-tablets/core.c\n+++ b/drivers/platform/x86/x86-android-tablets/core.c\n@@ -13,6 +13,7 @@\n #include <linux/acpi.h>\n #include <linux/device.h>\n #include <linux/dmi.h>\n+#include <linux/fwnode.h>\n #include <linux/gpio/consumer.h>\n #include <linux/gpio/machine.h>\n #include <linux/irq.h>\n@@ -360,6 +361,61 @@ static const struct software_node *cherryview_gpiochip_node_group[] = {\n \tNULL\n };\n \n+static void gpio_secondary_unset(void *data)\n+{\n+\tstruct device *dev = data;\n+\n+\tset_secondary_fwnode(dev, NULL);\n+}\n+\n+static void gpio_secondary_unregister_node_group(void *data)\n+{\n+\tconst struct software_node **nodes = data;\n+\n+\tsoftware_node_unregister_node_group(nodes);\n+}\n+\n+static int gpio_secondary_fwnode_init(struct device *parent)\n+{\n+\tconst struct software_node *const *swnode;\n+\tstruct fwnode_handle *fwnode;\n+\tint ret;\n+\n+\tif (!gpiochip_node_group)\n+\t\treturn 0;\n+\n+\tret = software_node_register_node_group(gpiochip_node_group);\n+\tif (ret)\n+\t\treturn ret;\n+\n+\tret = devm_add_action_or_reset(parent,\n+\t\t\t\t       gpio_secondary_unregister_node_group,\n+\t\t\t\t       gpiochip_node_group);\n+\tif (ret)\n+\t\treturn ret;\n+\n+\tfor (swnode = gpiochip_node_group; *swnode; swnode++) {\n+\t\tstruct device *dev __free(put_device) =\n+\t\t\t\tacpi_bus_find_device_by_name((*swnode)->name);\n+\t\tif (!dev)\n+\t\t\treturn dev_err_probe(parent,\n+\t\t\t\t\t     -ENODEV, \"Failed to find the required GPIO controller: %s\\n\",\n+\t\t\t\t\t     (*swnode)->name);\n+\n+\t\tfwnode = software_node_fwnode(*swnode);\n+\t\tif (WARN_ON(!fwnode))\n+\t\t\treturn -ENOENT;\n+\n+\t\tset_secondary_fwnode(dev, fwnode);\n+\n+\t\tret = devm_add_action_or_reset(parent, gpio_secondary_unset, dev);\n+\t\tif (ret)\n+\t\t\treturn ret;\n+\t}\n+\n+\treturn 0;\n+}\n+\n static void x86_android_tablet_remove(struct platform_device *pdev)\n {\n \tint i;\n@@ -391,7 +447,6 @@ static void x86_android_tablet_remove(struct platform_device *pdev)\n \n \tsoftware_node_unregister_node_group(gpio_button_swnodes);\n \tsoftware_node_unregister_node_group(swnode_group);\n-\tsoftware_node_unregister_node_group(gpiochip_node_group);\n }\n \n static __init int x86_android_tablet_probe(struct platform_device *pdev)\n@@ -427,9 +482,11 @@ static __init int x86_android_tablet_probe(struct platform_device *pdev)\n \t\tbreak;\n \t}\n \n-\tret = software_node_register_node_group(gpiochip_node_group);\n-\tif (ret)\n+\tret = gpio_secondary_fwnode_init(&pdev->dev);\n+\tif (ret) {\n+\t\tx86_android_tablet_remove(pdev);\n \t\treturn ret;\n+\t}\n \n \tret = software_node_register_node_group(dev_info->swnode_group);\n \tif (ret) {\n",
    "prefixes": [
        "v5",
        "2/2"
    ]
}