Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2196917/?format=api
{ "id": 2196917, "url": "http://patchwork.ozlabs.org/api/patches/2196917/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260216-topic-sm8650-ayaneo-pocket-s2-base-v4-3-802c82795431@linaro.org/", "project": { "id": 28, "url": "http://patchwork.ozlabs.org/api/projects/28/?format=api", "name": "Linux PCI development", "link_name": "linux-pci", "list_id": "linux-pci.vger.kernel.org", "list_email": "linux-pci@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260216-topic-sm8650-ayaneo-pocket-s2-base-v4-3-802c82795431@linaro.org>", "list_archive_url": null, "date": "2026-02-16T14:21:47", "name": "[v4,3/9] pci: pwrctrl: rename pci-pwrctrl-slot as generic", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "12a688a560f94462b465c5eebfedcf4be404392d", "submitter": { "id": 84903, "url": "http://patchwork.ozlabs.org/api/people/84903/?format=api", "name": "Neil Armstrong", "email": "neil.armstrong@linaro.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260216-topic-sm8650-ayaneo-pocket-s2-base-v4-3-802c82795431@linaro.org/mbox/", "series": [ { "id": 492314, "url": "http://patchwork.ozlabs.org/api/series/492314/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=492314", "date": "2026-02-16T14:21:44", "name": "arm64: dts: qcom: Add support for the Ayaneo Pocket S2", "version": 4, "mbox": "http://patchwork.ozlabs.org/series/492314/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2196917/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2196917/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-pci+bounces-47370-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-pci@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=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=pTi/WSEb;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-47370-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org\n header.b=\"pTi/WSEb\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.128.50", "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linaro.org", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=linaro.org" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::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 4fF4lC5p6Cz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 01:23:51 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 65822304CA4C\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 16 Feb 2026 14:22:11 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 3335D311C37;\n\tMon, 16 Feb 2026 14:22:00 +0000 (UTC)", "from mail-wm1-f50.google.com (mail-wm1-f50.google.com\n [209.85.128.50])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id D603C312815\n\tfor <linux-pci@vger.kernel.org>; Mon, 16 Feb 2026 14:21:56 +0000 (UTC)", "by mail-wm1-f50.google.com with SMTP id\n 5b1f17b1804b1-48371119eacso29970815e9.2\n for <linux-pci@vger.kernel.org>; Mon, 16 Feb 2026 06:21:56 -0800 (PST)", "from arrakeen.starnux.net ([2a01:e0a:106d:1080:8261:5fff:fe11:bdda])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48370a63afesm86717475e9.9.2026.02.16.06.21.54\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 16 Feb 2026 06:21:54 -0800 (PST)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1771251720; cv=none;\n b=A5CEsGAwPMTrWRlaMUxMbF+YvdLiLtnS7MtVO+bavIGVyxV1NHuBOP711jAZPEbhhbGEojO9gcVxxkvdtHSxuLUGk2w+A7fqcdx5sOeRW7/5MZm7XHFlFOMkwhVwTw1dcM+I4ybPjx9xybb9pj96cKhqjqf4ceBdAl3jLIpdU3I=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1771251720; c=relaxed/simple;\n\tbh=e+EkWC2n4pNM3k4t8mwvlHMc2Vj8SO/DiCWja7TtWYg=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=mPqq+CqJDMgaAY3yAaWSXLrrF9SP1tVfS/nkKJxX4vDBA4DSGp2lU+hszdxbYzfVNH++1U8TuZ1OBo1a9+4mXqEvEIQD50yp4/Ji8gfPciz1TdgdVJTzgIomPghFHmNbw9ir5b0YVwv9/SFIfpOWJ2LCIGT95yuG+uv8gc48IPM=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linaro.org;\n spf=pass smtp.mailfrom=linaro.org;\n dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org\n header.b=pTi/WSEb; arc=none smtp.client-ip=209.85.128.50", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1771251715; x=1771856515;\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=f/9SQvmpy9H4vWRy3pZsPCqXW6+l8s5UosjKXnI3KRs=;\n b=pTi/WSEbIr6iZRdp9FST+wYVLFL9Ij28eLCNe9r0tdS1j8SP0WxCuMl2BZeEkkkMRm\n CUAeDuPSbGed/2E6DVGn0Bmja3Uu+/SHHZA/Vz0g7rgNZdwZXdYicu3imw8h5IJOAzj/\n xBNKjleiUakqR78ze+8TD74ohODozZ1PQUc7S7/Wo5HUVjehf8H3JABKFwR9KSsdGJ/1\n AoWi7sUrKik6AgrYlIW5N7I/qNz06dfS2r4K6Ui22ASWHBNV/On1RWJM0r9erxj6IHFA\n V2p2xhO+LsF10hc9VL9WtzF/VOEQjjL8HKMoG95X/9v3b7SVGNcshNN3vTDiQ6Wxw+kC\n Cp3Q==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1771251715; x=1771856515;\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=f/9SQvmpy9H4vWRy3pZsPCqXW6+l8s5UosjKXnI3KRs=;\n b=QzVUH/OXbBU83KiDteqCedZXGSqUV6t5RckaKTn52JD4diBFi7vfwghOvaTyMsN7YW\n aRMHs2J8jsZNqtcw1X2GLnrCl+42rmr/wxdlxzpKv3cLK1JYnIt4n+8EoU+74vHefwxo\n sK3kTBt0Ni85Z1c3j9f5xStROxVE+vm9H0Vt4NMq/n5YsqzMjtHRhuUqocXKdrWyohDi\n FwBos9PY4ltC/FzrZI4U6js04JucoPogEg0OqIn/tAfwl8p2xbcSXz+DrRogzZDVTn+W\n YKaZLujRyi3qCdGXs456ozrucLBLsaIfk2zpIK9mo5z/ew9ycmzOiFYVcujSfBpcqVCt\n WIKQ==", "X-Forwarded-Encrypted": "i=1;\n AJvYcCX+bEv1cM4P/dbqhp79FM880iyWihA8FSny/KkU0DReGB4zsjrXyeFqBTlbNYOGaBLsolSKzWIXNtc=@vger.kernel.org", "X-Gm-Message-State": "AOJu0YzJ/GVm867MWjE9KmdSoGW/8WyImHre+jL0nU7L9l0+TRWJ8m6y\n\tCL9sRuiyA5OQ4w17U7M/Ns2/NwrIo2aCD5uBhhH1mwa07wkUTOtjPQJufOTZAeRtuoM=", "X-Gm-Gg": "AZuq6aJuaramoFkS7ezM+O2VscdIGWWwh2LzIn4HEJZc0WKsDix7tPHNtfqK1Q0IfPJ\n\tmsMjnigeyTD5OsI7DI+kcD9WNfHTJRloywEqrOimc7Wd0eAVQUsFzwRL05utKLtfigvybnYGeio\n\t2Zq3Z8j52Q+apQir9Ifg5Qngi9zIBfxMjMjEWo6e+6aA/2Vz0PFvB3LmJ1GZTJ7ZHiMTbePQZ3f\n\t57rXglrHfGLc/KHWekR5Vl6CiNyXTafh9c3P0I47gjTycys7i43J6Qv1qeR4R4PIzknUBYVu/av\n\tyqDCQcsJFDtSnYBwazaEl3NzujMTHIE1r02k/h1H19d58lCsqMlUjx/5bWdChEtw+0EB1aWujaw\n\tvgbgyMKMdxmvOdF+hMMwVQzkwXy5LeEh4H8Aqj/Q1kYkjlJaaosqISVK7RSTLn9o0LzbUVPh22m\n\tv7YB+LK/ag8HGkMB1bYuzhfF4gsfuxc6mmtbsXWNg5i3qU5Zkno+ozSA4=", "X-Received": "by 2002:a05:600c:6206:b0:477:76c2:49c9 with SMTP id\n 5b1f17b1804b1-48373a0842fmr151498205e9.2.1771251715087;\n Mon, 16 Feb 2026 06:21:55 -0800 (PST)", "From": "Neil Armstrong <neil.armstrong@linaro.org>", "Date": "Mon, 16 Feb 2026 15:21:47 +0100", "Subject": "[PATCH v4 3/9] pci: pwrctrl: rename pci-pwrctrl-slot as generic", "Precedence": "bulk", "X-Mailing-List": "linux-pci@vger.kernel.org", "List-Id": "<linux-pci.vger.kernel.org>", "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "\n <20260216-topic-sm8650-ayaneo-pocket-s2-base-v4-3-802c82795431@linaro.org>", "References": "\n <20260216-topic-sm8650-ayaneo-pocket-s2-base-v4-0-802c82795431@linaro.org>", "In-Reply-To": "\n <20260216-topic-sm8650-ayaneo-pocket-s2-base-v4-0-802c82795431@linaro.org>", "To": "Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>,\n Conor Dooley <conor+dt@kernel.org>,\n Geert Uytterhoeven <geert+renesas@glider.be>,\n Magnus Damm <magnus.damm@gmail.com>, Bartosz Golaszewski <brgl@kernel.org>,\n Manivannan Sadhasivam <mani@kernel.org>,\n Bjorn Helgaas <bhelgaas@google.com>, Bjorn Andersson <andersson@kernel.org>,\n Konrad Dybcio <konradybcio@kernel.org>", "Cc": "linux-usb@vger.kernel.org, devicetree@vger.kernel.org,\n linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org,\n linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org,\n Neil Armstrong <neil.armstrong@linaro.org>", "X-Mailer": "b4 0.14.3", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=8065;\n i=neil.armstrong@linaro.org; h=from:subject:message-id;\n bh=e+EkWC2n4pNM3k4t8mwvlHMc2Vj8SO/DiCWja7TtWYg=;\n b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBpkyf7fyk4ar/een2ppTz2YyuSmnqLKeArdKG+TMgw\n zqVdnQmJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaZMn+wAKCRB33NvayMhJ0deeD/\n wJnFTpLZmDCw9qKPW+jgW/zNUnvsE8dTJVgiNjPZQsOlGCuIkw9HhkdRlfM22TNC2BHmXEIktlAash\n bpNCZhVVmLGWVOg8BllIr1JlAZU7ZO96AindbWuzw2xXnMU/s/sfJHm8Bt/CwDSvFh8L1t2ksUyl8n\n VZK69EeFXHS4HQwpIipTSFJ/DeUVliqq/TUrKCrMi9XtvDJHW7RHoaJinoAQ3Z8InHSlzdCVsGjOMC\n sPn36JTwPTd0iX7r02vUuZlqczLxMR+NC3Q/qjEZbMU0nTGYSLueW1Q2UvB7nfXqfFj8ujyHbkeFlm\n 1FQyHuBiaod6JCldxBs5XZQghb7VzgqXdP69A20i/vEm/+TM76QlAJ8RdU/uI9P0/h30980ctGZ8I+\n wNvrDveS8LH47jwLZ7jPQ3TMqKovfWVT9Hb4L/IXObvNU0+5D4b+UHXPnugxRJVfRpEyypiYMZ388j\n tLH8AmRCaqRKiJ67mzLndw9JJONWejhHwvY60CXU7E/yn5xCGKWT8hwh/Llq6v6DCU0mj0lfEe0POp\n 8xZPkZI3TGX+lQwNMyXb+xxaHxmdd8GrVkycDvIf4akcrhF5LKwDEuBz94h4jXf+7u3F/Q3LMn+iIT\n St0nl7coBNxVw4xyUuQIq2+QC/B3BK6gElom6O1I/rBLBbQZVtMvkSE5YEQw==", "X-Developer-Key": "i=neil.armstrong@linaro.org; a=openpgp;\n fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE" }, "content": "The driver is pretty generic and would fit for either\nPCI Slots or endpoints connected to PCI ports, so rename\nthe driver and module as pci-pwrctrl-generic.\n\nSuggested-by: Manivannan Sadhasivam <mani@kernel.org>\nSigned-off-by: Neil Armstrong <neil.armstrong@linaro.org>\n---\n drivers/pci/pwrctrl/Kconfig | 13 ++++---\n drivers/pci/pwrctrl/Makefile | 4 +-\n drivers/pci/pwrctrl/generic.c | 91 +++++++++++++++++++++++++++++++++++++++++++\n drivers/pci/pwrctrl/slot.c | 91 -------------------------------------------\n 4 files changed, 100 insertions(+), 99 deletions(-)", "diff": "diff --git a/drivers/pci/pwrctrl/Kconfig b/drivers/pci/pwrctrl/Kconfig\nindex e0f999f299bb..0ba095729694 100644\n--- a/drivers/pci/pwrctrl/Kconfig\n+++ b/drivers/pci/pwrctrl/Kconfig\n@@ -11,16 +11,17 @@ config PCI_PWRCTRL_PWRSEQ\n \tselect POWER_SEQUENCING\n \tselect PCI_PWRCTRL\n \n-config PCI_PWRCTRL_SLOT\n-\ttristate \"PCI Power Control driver for PCI slots\"\n+config PCI_PWRCTRL_GENERIC\n+\ttristate \"Generic PCI Power Control driver for PCI slots and endpoints\"\n \tselect PCI_PWRCTRL\n \thelp\n-\t Say Y here to enable the PCI Power Control driver to control the power\n-\t state of PCI slots.\n+\t Say Y here to enable the generic PCI Power Control driver to control\n+\t the power state of PCI slots and endpoints.\n \n \t This is a generic driver that controls the power state of different\n-\t PCI slots. The voltage regulators powering the rails of the PCI slots\n-\t are expected to be defined in the devicetree node of the PCI bridge.\n+\t PCI slots and endpoints. The voltage regulators powering the rails\n+\t of the PCI slots or endpoints are expected to be defined in the\n+\t devicetree node of the PCI bridge.\n \n config PCI_PWRCTRL_TC9563\n \ttristate \"PCI Power Control driver for TC9563 PCIe switch\"\ndiff --git a/drivers/pci/pwrctrl/Makefile b/drivers/pci/pwrctrl/Makefile\nindex 13b02282106c..f6bb4fb9a410 100644\n--- a/drivers/pci/pwrctrl/Makefile\n+++ b/drivers/pci/pwrctrl/Makefile\n@@ -5,7 +5,7 @@ pci-pwrctrl-core-y\t\t\t:= core.o\n \n obj-$(CONFIG_PCI_PWRCTRL_PWRSEQ)\t+= pci-pwrctrl-pwrseq.o\n \n-obj-$(CONFIG_PCI_PWRCTRL_SLOT)\t\t+= pci-pwrctrl-slot.o\n-pci-pwrctrl-slot-y\t\t\t:= slot.o\n+obj-$(CONFIG_PCI_PWRCTRL_GENERIC)\t+= pci-pwrctrl-generic.o\n+pci-pwrctrl-generic-y\t\t\t:= generic.o\n \n obj-$(CONFIG_PCI_PWRCTRL_TC9563)\t+= pci-pwrctrl-tc9563.o\ndiff --git a/drivers/pci/pwrctrl/generic.c b/drivers/pci/pwrctrl/generic.c\nnew file mode 100644\nindex 000000000000..a5b7b7965f46\n--- /dev/null\n+++ b/drivers/pci/pwrctrl/generic.c\n@@ -0,0 +1,91 @@\n+// SPDX-License-Identifier: GPL-2.0-only\n+/*\n+ * Copyright (C) 2024 Linaro Ltd.\n+ * Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>\n+ */\n+\n+#include <linux/clk.h>\n+#include <linux/device.h>\n+#include <linux/mod_devicetable.h>\n+#include <linux/module.h>\n+#include <linux/pci-pwrctrl.h>\n+#include <linux/platform_device.h>\n+#include <linux/regulator/consumer.h>\n+#include <linux/slab.h>\n+\n+struct pci_pwrctrl_generic_data {\n+\tstruct pci_pwrctrl ctx;\n+\tstruct regulator_bulk_data *supplies;\n+\tint num_supplies;\n+};\n+\n+static void devm_pci_pwrctrl_generic_power_off(void *data)\n+{\n+\tstruct pci_pwrctrl_generic_data *generic = data;\n+\n+\tregulator_bulk_disable(generic->num_supplies, generic->supplies);\n+\tregulator_bulk_free(generic->num_supplies, generic->supplies);\n+}\n+\n+static int pci_pwrctrl_generic_probe(struct platform_device *pdev)\n+{\n+\tstruct pci_pwrctrl_generic_data *generic;\n+\tstruct device *dev = &pdev->dev;\n+\tstruct clk *clk;\n+\tint ret;\n+\n+\tgeneric = devm_kzalloc(dev, sizeof(*generic), GFP_KERNEL);\n+\tif (!generic)\n+\t\treturn -ENOMEM;\n+\n+\tret = of_regulator_bulk_get_all(dev, dev_of_node(dev),\n+\t\t\t\t\t&generic->supplies);\n+\tif (ret < 0)\n+\t\treturn dev_err_probe(dev, ret, \"Failed to get regulators\\n\");\n+\n+\tgeneric->num_supplies = ret;\n+\tret = regulator_bulk_enable(generic->num_supplies, generic->supplies);\n+\tif (ret < 0) {\n+\t\tregulator_bulk_free(generic->num_supplies, generic->supplies);\n+\t\treturn dev_err_probe(dev, ret, \"Failed to enable regulators\\n\");\n+\t}\n+\n+\tret = devm_add_action_or_reset(dev, devm_pci_pwrctrl_generic_power_off,\n+\t\t\t\t generic);\n+\tif (ret)\n+\t\treturn ret;\n+\n+\tclk = devm_clk_get_optional_enabled(dev, NULL);\n+\tif (IS_ERR(clk))\n+\t\treturn dev_err_probe(dev, PTR_ERR(clk),\n+\t\t\t\t \"Failed to enable clock\\n\");\n+\n+\tpci_pwrctrl_init(&generic->ctx, dev);\n+\n+\tret = devm_pci_pwrctrl_device_set_ready(dev, &generic->ctx);\n+\tif (ret)\n+\t\treturn dev_err_probe(dev, ret, \"Failed to register generic pwrctrl driver\\n\");\n+\n+\treturn 0;\n+}\n+\n+static const struct of_device_id pci_pwrctrl_generic_of_match[] = {\n+\t{\n+\t\t.compatible = \"pciclass,0604\",\n+\t},\n+\t{ }\n+};\n+MODULE_DEVICE_TABLE(of, pci_pwrctrl_generic_of_match);\n+\n+static struct platform_driver pci_pwrctrl_generic_driver = {\n+\t.driver = {\n+\t\t.name = \"pci-pwrctrl-generic\",\n+\t\t.of_match_table = pci_pwrctrl_generic_of_match,\n+\t},\n+\t.probe = pci_pwrctrl_generic_probe,\n+};\n+module_platform_driver(pci_pwrctrl_generic_driver);\n+\n+MODULE_AUTHOR(\"Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>\");\n+MODULE_DESCRIPTION(\"Generic PCI Power Control driver for PCI Slots\");\n+MODULE_LICENSE(\"GPL\");\ndiff --git a/drivers/pci/pwrctrl/slot.c b/drivers/pci/pwrctrl/slot.c\ndeleted file mode 100644\nindex 08e53243cdbd..000000000000\n--- a/drivers/pci/pwrctrl/slot.c\n+++ /dev/null\n@@ -1,91 +0,0 @@\n-// SPDX-License-Identifier: GPL-2.0-only\n-/*\n- * Copyright (C) 2024 Linaro Ltd.\n- * Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>\n- */\n-\n-#include <linux/clk.h>\n-#include <linux/device.h>\n-#include <linux/mod_devicetable.h>\n-#include <linux/module.h>\n-#include <linux/pci-pwrctrl.h>\n-#include <linux/platform_device.h>\n-#include <linux/regulator/consumer.h>\n-#include <linux/slab.h>\n-\n-struct pci_pwrctrl_slot_data {\n-\tstruct pci_pwrctrl ctx;\n-\tstruct regulator_bulk_data *supplies;\n-\tint num_supplies;\n-};\n-\n-static void devm_pci_pwrctrl_slot_power_off(void *data)\n-{\n-\tstruct pci_pwrctrl_slot_data *slot = data;\n-\n-\tregulator_bulk_disable(slot->num_supplies, slot->supplies);\n-\tregulator_bulk_free(slot->num_supplies, slot->supplies);\n-}\n-\n-static int pci_pwrctrl_slot_probe(struct platform_device *pdev)\n-{\n-\tstruct pci_pwrctrl_slot_data *slot;\n-\tstruct device *dev = &pdev->dev;\n-\tstruct clk *clk;\n-\tint ret;\n-\n-\tslot = devm_kzalloc(dev, sizeof(*slot), GFP_KERNEL);\n-\tif (!slot)\n-\t\treturn -ENOMEM;\n-\n-\tret = of_regulator_bulk_get_all(dev, dev_of_node(dev),\n-\t\t\t\t\t&slot->supplies);\n-\tif (ret < 0)\n-\t\treturn dev_err_probe(dev, ret, \"Failed to get slot regulators\\n\");\n-\n-\tslot->num_supplies = ret;\n-\tret = regulator_bulk_enable(slot->num_supplies, slot->supplies);\n-\tif (ret < 0) {\n-\t\tregulator_bulk_free(slot->num_supplies, slot->supplies);\n-\t\treturn dev_err_probe(dev, ret, \"Failed to enable slot regulators\\n\");\n-\t}\n-\n-\tret = devm_add_action_or_reset(dev, devm_pci_pwrctrl_slot_power_off,\n-\t\t\t\t slot);\n-\tif (ret)\n-\t\treturn ret;\n-\n-\tclk = devm_clk_get_optional_enabled(dev, NULL);\n-\tif (IS_ERR(clk))\n-\t\treturn dev_err_probe(dev, PTR_ERR(clk),\n-\t\t\t\t \"Failed to enable slot clock\\n\");\n-\n-\tpci_pwrctrl_init(&slot->ctx, dev);\n-\n-\tret = devm_pci_pwrctrl_device_set_ready(dev, &slot->ctx);\n-\tif (ret)\n-\t\treturn dev_err_probe(dev, ret, \"Failed to register pwrctrl driver\\n\");\n-\n-\treturn 0;\n-}\n-\n-static const struct of_device_id pci_pwrctrl_slot_of_match[] = {\n-\t{\n-\t\t.compatible = \"pciclass,0604\",\n-\t},\n-\t{ }\n-};\n-MODULE_DEVICE_TABLE(of, pci_pwrctrl_slot_of_match);\n-\n-static struct platform_driver pci_pwrctrl_slot_driver = {\n-\t.driver = {\n-\t\t.name = \"pci-pwrctrl-slot\",\n-\t\t.of_match_table = pci_pwrctrl_slot_of_match,\n-\t},\n-\t.probe = pci_pwrctrl_slot_probe,\n-};\n-module_platform_driver(pci_pwrctrl_slot_driver);\n-\n-MODULE_AUTHOR(\"Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>\");\n-MODULE_DESCRIPTION(\"Generic PCI Power Control driver for PCI Slots\");\n-MODULE_LICENSE(\"GPL\");\n", "prefixes": [ "v4", "3/9" ] }