[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190612102803.25398-4-kishon@ti.com>
Date: Wed, 12 Jun 2019 15:58:00 +0530
From: Kishon Vijay Abraham I <kishon@...com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, <kishon@...com>
CC: <linux-kernel@...r.kernel.org>
Subject: [PATCH 3/6] phy: usb: phy-brcm-usb: Remove sysfs attributes upon driver removal
From: Florian Fainelli <f.fainelli@...il.com>
We are not destroying the sysfs attribute groupe we registered during
the probe function which will make subsequent probe calls to that
driver fail. Correct that with adding a remove function which only
removes those attributes since the reference counting on clocks did its
job already.
Fixes: 415060b21f31 ("phy: usb: phy-brcm-usb: Add ability to force DRD mode to host or device")
Signed-off-by: Florian Fainelli <f.fainelli@...il.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@...com>
---
drivers/phy/broadcom/phy-brcm-usb.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/phy/broadcom/phy-brcm-usb.c b/drivers/phy/broadcom/phy-brcm-usb.c
index f59b1dc30399..292d5b3fc66c 100644
--- a/drivers/phy/broadcom/phy-brcm-usb.c
+++ b/drivers/phy/broadcom/phy-brcm-usb.c
@@ -376,6 +376,13 @@ static int brcm_usb_phy_probe(struct platform_device *pdev)
return PTR_ERR_OR_ZERO(phy_provider);
}
+static int brcm_usb_phy_remove(struct platform_device *pdev)
+{
+ sysfs_remove_group(&pdev->dev.kobj, &brcm_usb_phy_group);
+
+ return 0;
+}
+
#ifdef CONFIG_PM_SLEEP
static int brcm_usb_phy_suspend(struct device *dev)
{
@@ -441,6 +448,7 @@ MODULE_DEVICE_TABLE(of, brcm_usb_dt_ids);
static struct platform_driver brcm_usb_driver = {
.probe = brcm_usb_phy_probe,
+ .remove = brcm_usb_phy_remove,
.driver = {
.name = "brcmstb-usb-phy",
.owner = THIS_MODULE,
--
2.17.1
Powered by blists - more mailing lists