diff for duplicates of <000001d9f4d1$16b652d0$4422f870$@samsung.com> diff --git a/a/1.txt b/N1/1.txt index a1e33df..d72d61d 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,68 +1,76 @@ > -----Original Message----- -> From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>\r -> Sent: Sunday, October 1, 2023 10:33 PM\r -> To: Jingoo Han <jingoohan1@gmail.com>; Lorenzo Pieralisi\r -> <lpieralisi@kernel.org>; Krzysztof Wilczyński <kw@linux.com>; Bjorn Helgaas\r -> <bhelgaas@google.com>; Krzysztof Kozlowski\r -> <krzysztof.kozlowski@linaro.org>; Kukjin Kim <kgene.kim@samsung.com>; Siva\r -> Reddy Kallam <siva.kallam@samsung.com>; Surendranath Gurivireddy Balla\r -> <suren.reddy@samsung.com>\r -> Cc: Rob Herring <robh@kernel.org>; Alim Akhtar <alim.akhtar@samsung.com>;\r -> linux-pci@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-samsung-\r -> soc@vger.kernel.org; kernel@pengutronix.de\r -> Subject: [PATCH 1/4] PCI: exynos: Don't put .remove callback in .exit.text\r -> section\r -> \r -> With CONFIG_PCI_EXYNOS=y and exynos_pcie_remove() marked with __exit,\r -> the function is discarded from the driver. In this case a bound device can still get\r -> unbound, e.g via sysfs. Then no cleanup code is run resulting in resource leaks or\r -> worse.\r -> \r -> The right thing to do is do always have the remove callback available.\r -> This fixes the following warning by modpost:\r -> \r -> WARNING: modpost: drivers/pci/controller/dwc/pci-exynos: section\r -> mismatch in reference: exynos_pcie_driver+0x8 (section: .data) ->\r -> exynos_pcie_remove (section: .exit.text)\r -> \r -> (with ARCH=x86_64 W=1 allmodconfig).\r -> \r -> Fixes: 340cba6092c2 ("pci: Add PCIe driver for Samsung Exynos")\r -> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>\r -> ---\r -Thanks!\r -\r -Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>\r -\r -> drivers/pci/controller/dwc/pci-exynos.c | 4 ++--\r -> 1 file changed, 2 insertions(+), 2 deletions(-)\r -> \r -> diff --git a/drivers/pci/controller/dwc/pci-exynos.c\r -> b/drivers/pci/controller/dwc/pci-exynos.c\r -> index 6319082301d6..c6bede346932 100644\r -> --- a/drivers/pci/controller/dwc/pci-exynos.c\r -> +++ b/drivers/pci/controller/dwc/pci-exynos.c\r -> @@ -375,7 +375,7 @@ static int exynos_pcie_probe(struct platform_device\r -> *pdev)\r -> return ret;\r -> }\r -> \r -> -static int __exit exynos_pcie_remove(struct platform_device *pdev)\r -> +static int exynos_pcie_remove(struct platform_device *pdev)\r -> {\r -> struct exynos_pcie *ep = platform_get_drvdata(pdev);\r -> \r -> @@ -431,7 +431,7 @@ static const struct of_device_id\r -> exynos_pcie_of_match[] = {\r -> \r -> static struct platform_driver exynos_pcie_driver = {\r -> .probe = exynos_pcie_probe,\r -> - .remove = __exit_p(exynos_pcie_remove),\r -> + .remove = exynos_pcie_remove,\r -> .driver = {\r -> .name = "exynos-pcie",\r -> .of_match_table = exynos_pcie_of_match,\r -> --\r +> From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> +> Sent: Sunday, October 1, 2023 10:33 PM +> To: Jingoo Han <jingoohan1@gmail.com>; Lorenzo Pieralisi +> <lpieralisi@kernel.org>; Krzysztof Wilczyński <kw@linux.com>; Bjorn Helgaas +> <bhelgaas@google.com>; Krzysztof Kozlowski +> <krzysztof.kozlowski@linaro.org>; Kukjin Kim <kgene.kim@samsung.com>; Siva +> Reddy Kallam <siva.kallam@samsung.com>; Surendranath Gurivireddy Balla +> <suren.reddy@samsung.com> +> Cc: Rob Herring <robh@kernel.org>; Alim Akhtar <alim.akhtar@samsung.com>; +> linux-pci@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-samsung- +> soc@vger.kernel.org; kernel@pengutronix.de +> Subject: [PATCH 1/4] PCI: exynos: Don't put .remove callback in .exit.text +> section +> +> With CONFIG_PCI_EXYNOS=y and exynos_pcie_remove() marked with __exit, +> the function is discarded from the driver. In this case a bound device can still get +> unbound, e.g via sysfs. Then no cleanup code is run resulting in resource leaks or +> worse. +> +> The right thing to do is do always have the remove callback available. +> This fixes the following warning by modpost: +> +> WARNING: modpost: drivers/pci/controller/dwc/pci-exynos: section +> mismatch in reference: exynos_pcie_driver+0x8 (section: .data) -> +> exynos_pcie_remove (section: .exit.text) +> +> (with ARCH=x86_64 W=1 allmodconfig). +> +> Fixes: 340cba6092c2 ("pci: Add PCIe driver for Samsung Exynos") +> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> +> --- +Thanks! + +Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> + +> drivers/pci/controller/dwc/pci-exynos.c | 4 ++-- +> 1 file changed, 2 insertions(+), 2 deletions(-) +> +> diff --git a/drivers/pci/controller/dwc/pci-exynos.c +> b/drivers/pci/controller/dwc/pci-exynos.c +> index 6319082301d6..c6bede346932 100644 +> --- a/drivers/pci/controller/dwc/pci-exynos.c +> +++ b/drivers/pci/controller/dwc/pci-exynos.c +> @@ -375,7 +375,7 @@ static int exynos_pcie_probe(struct platform_device +> *pdev) +> return ret; +> } +> +> -static int __exit exynos_pcie_remove(struct platform_device *pdev) +> +static int exynos_pcie_remove(struct platform_device *pdev) +> { +> struct exynos_pcie *ep = platform_get_drvdata(pdev); +> +> @@ -431,7 +431,7 @@ static const struct of_device_id +> exynos_pcie_of_match[] = { +> +> static struct platform_driver exynos_pcie_driver = { +> .probe = exynos_pcie_probe, +> - .remove = __exit_p(exynos_pcie_remove), +> + .remove = exynos_pcie_remove, +> .driver = { +> .name = "exynos-pcie", +> .of_match_table = exynos_pcie_of_match, +> -- > 2.40.1 + + + + +_______________________________________________ +linux-arm-kernel mailing list +linux-arm-kernel@lists.infradead.org +http://lists.infradead.org/mailman/listinfo/linux-arm-kernel diff --git a/a/content_digest b/N1/content_digest index a181c6e..0aabb07 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -11,7 +11,7 @@ 'Bjorn Helgaas' <bhelgaas@google.com> 'Krzysztof Kozlowski' <krzysztof.kozlowski@linaro.org> 'Kukjin Kim' <kgene.kim@samsung.com> - 'Siva Reddy Kallam' <siva.kallam@samsung.com> + " 'Siva\\ Reddy Kallam' <siva.kallam@samsung.com>" " 'Surendranath Gurivireddy Balla' <suren.reddy@samsung.com>\0" "Cc\0'Rob Herring' <robh@kernel.org>" <linux-pci@vger.kernel.org> @@ -23,70 +23,78 @@ "\n" "\n" "> -----Original Message-----\n" - "> From: Uwe Kleine-K\303\266nig <u.kleine-koenig@pengutronix.de>\r\n" - "> Sent: Sunday, October 1, 2023 10:33 PM\r\n" - "> To: Jingoo Han <jingoohan1@gmail.com>; Lorenzo Pieralisi\r\n" - "> <lpieralisi@kernel.org>; Krzysztof Wilczy\305\204ski <kw@linux.com>; Bjorn Helgaas\r\n" - "> <bhelgaas@google.com>; Krzysztof Kozlowski\r\n" - "> <krzysztof.kozlowski@linaro.org>; Kukjin Kim <kgene.kim@samsung.com>; Siva\r\n" - "> Reddy Kallam <siva.kallam@samsung.com>; Surendranath Gurivireddy Balla\r\n" - "> <suren.reddy@samsung.com>\r\n" - "> Cc: Rob Herring <robh@kernel.org>; Alim Akhtar <alim.akhtar@samsung.com>;\r\n" - "> linux-pci@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-samsung-\r\n" - "> soc@vger.kernel.org; kernel@pengutronix.de\r\n" - "> Subject: [PATCH 1/4] PCI: exynos: Don't put .remove callback in .exit.text\r\n" - "> section\r\n" - "> \r\n" - "> With CONFIG_PCI_EXYNOS=y and exynos_pcie_remove() marked with __exit,\r\n" - "> the function is discarded from the driver. In this case a bound device can still get\r\n" - "> unbound, e.g via sysfs. Then no cleanup code is run resulting in resource leaks or\r\n" - "> worse.\r\n" - "> \r\n" - "> The right thing to do is do always have the remove callback available.\r\n" - "> This fixes the following warning by modpost:\r\n" - "> \r\n" - "> \tWARNING: modpost: drivers/pci/controller/dwc/pci-exynos: section\r\n" - "> mismatch in reference: exynos_pcie_driver+0x8 (section: .data) ->\r\n" - "> exynos_pcie_remove (section: .exit.text)\r\n" - "> \r\n" - "> (with ARCH=x86_64 W=1 allmodconfig).\r\n" - "> \r\n" - "> Fixes: 340cba6092c2 (\"pci: Add PCIe driver for Samsung Exynos\")\r\n" - "> Signed-off-by: Uwe Kleine-K\303\266nig <u.kleine-koenig@pengutronix.de>\r\n" - "> ---\r\n" - "Thanks!\r\n" - "\r\n" - "Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>\r\n" - "\r\n" - "> drivers/pci/controller/dwc/pci-exynos.c | 4 ++--\r\n" - "> 1 file changed, 2 insertions(+), 2 deletions(-)\r\n" - "> \r\n" - "> diff --git a/drivers/pci/controller/dwc/pci-exynos.c\r\n" - "> b/drivers/pci/controller/dwc/pci-exynos.c\r\n" - "> index 6319082301d6..c6bede346932 100644\r\n" - "> --- a/drivers/pci/controller/dwc/pci-exynos.c\r\n" - "> +++ b/drivers/pci/controller/dwc/pci-exynos.c\r\n" - "> @@ -375,7 +375,7 @@ static int exynos_pcie_probe(struct platform_device\r\n" - "> *pdev)\r\n" - "> \treturn ret;\r\n" - "> }\r\n" - "> \r\n" - "> -static int __exit exynos_pcie_remove(struct platform_device *pdev)\r\n" - "> +static int exynos_pcie_remove(struct platform_device *pdev)\r\n" - "> {\r\n" - "> \tstruct exynos_pcie *ep = platform_get_drvdata(pdev);\r\n" - "> \r\n" - "> @@ -431,7 +431,7 @@ static const struct of_device_id\r\n" - "> exynos_pcie_of_match[] = {\r\n" - "> \r\n" - "> static struct platform_driver exynos_pcie_driver = {\r\n" - "> \t.probe\t\t= exynos_pcie_probe,\r\n" - "> -\t.remove\t\t= __exit_p(exynos_pcie_remove),\r\n" - "> +\t.remove\t\t= exynos_pcie_remove,\r\n" - "> \t.driver = {\r\n" - "> \t\t.name\t= \"exynos-pcie\",\r\n" - "> \t\t.of_match_table = exynos_pcie_of_match,\r\n" - "> --\r\n" - > 2.40.1 + "> From: Uwe Kleine-K\303\266nig <u.kleine-koenig@pengutronix.de>\n" + "> Sent: Sunday, October 1, 2023 10:33 PM\n" + "> To: Jingoo Han <jingoohan1@gmail.com>; Lorenzo Pieralisi\n" + "> <lpieralisi@kernel.org>; Krzysztof Wilczy\305\204ski <kw@linux.com>; Bjorn Helgaas\n" + "> <bhelgaas@google.com>; Krzysztof Kozlowski\n" + "> <krzysztof.kozlowski@linaro.org>; Kukjin Kim <kgene.kim@samsung.com>; Siva\n" + "> Reddy Kallam <siva.kallam@samsung.com>; Surendranath Gurivireddy Balla\n" + "> <suren.reddy@samsung.com>\n" + "> Cc: Rob Herring <robh@kernel.org>; Alim Akhtar <alim.akhtar@samsung.com>;\n" + "> linux-pci@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-samsung-\n" + "> soc@vger.kernel.org; kernel@pengutronix.de\n" + "> Subject: [PATCH 1/4] PCI: exynos: Don't put .remove callback in .exit.text\n" + "> section\n" + "> \n" + "> With CONFIG_PCI_EXYNOS=y and exynos_pcie_remove() marked with __exit,\n" + "> the function is discarded from the driver. In this case a bound device can still get\n" + "> unbound, e.g via sysfs. Then no cleanup code is run resulting in resource leaks or\n" + "> worse.\n" + "> \n" + "> The right thing to do is do always have the remove callback available.\n" + "> This fixes the following warning by modpost:\n" + "> \n" + "> \tWARNING: modpost: drivers/pci/controller/dwc/pci-exynos: section\n" + "> mismatch in reference: exynos_pcie_driver+0x8 (section: .data) ->\n" + "> exynos_pcie_remove (section: .exit.text)\n" + "> \n" + "> (with ARCH=x86_64 W=1 allmodconfig).\n" + "> \n" + "> Fixes: 340cba6092c2 (\"pci: Add PCIe driver for Samsung Exynos\")\n" + "> Signed-off-by: Uwe Kleine-K\303\266nig <u.kleine-koenig@pengutronix.de>\n" + "> ---\n" + "Thanks!\n" + "\n" + "Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>\n" + "\n" + "> drivers/pci/controller/dwc/pci-exynos.c | 4 ++--\n" + "> 1 file changed, 2 insertions(+), 2 deletions(-)\n" + "> \n" + "> diff --git a/drivers/pci/controller/dwc/pci-exynos.c\n" + "> b/drivers/pci/controller/dwc/pci-exynos.c\n" + "> index 6319082301d6..c6bede346932 100644\n" + "> --- a/drivers/pci/controller/dwc/pci-exynos.c\n" + "> +++ b/drivers/pci/controller/dwc/pci-exynos.c\n" + "> @@ -375,7 +375,7 @@ static int exynos_pcie_probe(struct platform_device\n" + "> *pdev)\n" + "> \treturn ret;\n" + "> }\n" + "> \n" + "> -static int __exit exynos_pcie_remove(struct platform_device *pdev)\n" + "> +static int exynos_pcie_remove(struct platform_device *pdev)\n" + "> {\n" + "> \tstruct exynos_pcie *ep = platform_get_drvdata(pdev);\n" + "> \n" + "> @@ -431,7 +431,7 @@ static const struct of_device_id\n" + "> exynos_pcie_of_match[] = {\n" + "> \n" + "> static struct platform_driver exynos_pcie_driver = {\n" + "> \t.probe\t\t= exynos_pcie_probe,\n" + "> -\t.remove\t\t= __exit_p(exynos_pcie_remove),\n" + "> +\t.remove\t\t= exynos_pcie_remove,\n" + "> \t.driver = {\n" + "> \t\t.name\t= \"exynos-pcie\",\n" + "> \t\t.of_match_table = exynos_pcie_of_match,\n" + "> --\n" + "> 2.40.1\n" + "\n" + "\n" + "\n" + "\n" + "_______________________________________________\n" + "linux-arm-kernel mailing list\n" + "linux-arm-kernel@lists.infradead.org\n" + http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -9584be2cc499ab6ea20d5d69e33283fe174edc47ee0cc1b97119e8201a56388e +416e117b9d6b24a60990b74c1e39808cf4003e2e6d1213ac032687d91e4aaa48
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.