mirror of https://gitee.com/openkylin/linux.git
USB: remove incorrect __exit markups
Even if bus is not hot-pluggable, the devices can be unbound from the driver via sysfs, so we should not be using __exit annotations on remove() methods. The only exception is drivers registered with platform_driver_probe() which specifically disables sysfs bind/unbind attributes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8a7298d361
commit
39d35681d5
|
@ -172,7 +172,7 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int __exit ehci_mxc_drv_remove(struct platform_device *pdev)
|
||||
static int ehci_mxc_drv_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct mxc_usbh_platform_data *pdata = pdev->dev.platform_data;
|
||||
struct usb_hcd *hcd = platform_get_drvdata(pdev);
|
||||
|
|
|
@ -305,7 +305,7 @@ static int ehci_orion_drv_probe(struct platform_device *pdev)
|
|||
return err;
|
||||
}
|
||||
|
||||
static int __exit ehci_orion_drv_remove(struct platform_device *pdev)
|
||||
static int ehci_orion_drv_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct usb_hcd *hcd = platform_get_drvdata(pdev);
|
||||
struct clk *clk;
|
||||
|
@ -333,7 +333,7 @@ MODULE_DEVICE_TABLE(of, ehci_orion_dt_ids);
|
|||
|
||||
static struct platform_driver ehci_orion_driver = {
|
||||
.probe = ehci_orion_drv_probe,
|
||||
.remove = __exit_p(ehci_orion_drv_remove),
|
||||
.remove = ehci_orion_drv_remove,
|
||||
.shutdown = usb_hcd_platform_shutdown,
|
||||
.driver = {
|
||||
.name = "orion-ehci",
|
||||
|
|
|
@ -170,7 +170,7 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int __exit ehci_hcd_sh_remove(struct platform_device *pdev)
|
||||
static int ehci_hcd_sh_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct ehci_sh_priv *priv = platform_get_drvdata(pdev);
|
||||
struct usb_hcd *hcd = priv->hcd;
|
||||
|
@ -196,7 +196,7 @@ static void ehci_hcd_sh_shutdown(struct platform_device *pdev)
|
|||
|
||||
static struct platform_driver ehci_hcd_sh_driver = {
|
||||
.probe = ehci_hcd_sh_probe,
|
||||
.remove = __exit_p(ehci_hcd_sh_remove),
|
||||
.remove = ehci_hcd_sh_remove
|
||||
.shutdown = ehci_hcd_sh_shutdown,
|
||||
.driver = {
|
||||
.name = "sh_ehci",
|
||||
|
|
|
@ -1212,7 +1212,7 @@ static void isp1301_release(struct device *dev)
|
|||
|
||||
static struct isp1301 *the_transceiver;
|
||||
|
||||
static int __exit isp1301_remove(struct i2c_client *i2c)
|
||||
static int isp1301_remove(struct i2c_client *i2c)
|
||||
{
|
||||
struct isp1301 *isp;
|
||||
|
||||
|
@ -1634,7 +1634,7 @@ static struct i2c_driver isp1301_driver = {
|
|||
.name = "isp1301_omap",
|
||||
},
|
||||
.probe = isp1301_probe,
|
||||
.remove = __exit_p(isp1301_remove),
|
||||
.remove = isp1301_remove,
|
||||
.id_table = isp1301_id,
|
||||
};
|
||||
|
||||
|
|
|
@ -658,7 +658,7 @@ static int twl4030_usb_probe(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __exit twl4030_usb_remove(struct platform_device *pdev)
|
||||
static int twl4030_usb_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct twl4030_usb *twl = platform_get_drvdata(pdev);
|
||||
int val;
|
||||
|
@ -702,7 +702,7 @@ MODULE_DEVICE_TABLE(of, twl4030_usb_id_table);
|
|||
|
||||
static struct platform_driver twl4030_usb_driver = {
|
||||
.probe = twl4030_usb_probe,
|
||||
.remove = __exit_p(twl4030_usb_remove),
|
||||
.remove = twl4030_usb_remove,
|
||||
.driver = {
|
||||
.name = "twl4030_usb",
|
||||
.owner = THIS_MODULE,
|
||||
|
|
|
@ -393,7 +393,7 @@ static int twl6030_usb_probe(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __exit twl6030_usb_remove(struct platform_device *pdev)
|
||||
static int twl6030_usb_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct twl6030_usb *twl = platform_get_drvdata(pdev);
|
||||
|
||||
|
@ -420,7 +420,7 @@ MODULE_DEVICE_TABLE(of, twl6030_usb_id_table);
|
|||
|
||||
static struct platform_driver twl6030_usb_driver = {
|
||||
.probe = twl6030_usb_probe,
|
||||
.remove = __exit_p(twl6030_usb_remove),
|
||||
.remove = twl6030_usb_remove,
|
||||
.driver = {
|
||||
.name = "twl6030_usb",
|
||||
.owner = THIS_MODULE,
|
||||
|
|
|
@ -313,7 +313,7 @@ static int mv_u3d_phy_probe(struct platform_device *pdev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int __exit mv_u3d_phy_remove(struct platform_device *pdev)
|
||||
static int mv_u3d_phy_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct mv_u3d_phy *mv_u3d_phy = platform_get_drvdata(pdev);
|
||||
|
||||
|
|
Loading…
Reference in New Issue