MLK-22280-2 usb: chipidea: usbmisc: remove mutex
authorLi Jun <jun.li@nxp.com>
Wed, 17 Jul 2019 08:51:20 +0000 (16:51 +0800)
committerLi Jun <jun.li@nxp.com>
Wed, 24 Jul 2019 07:27:09 +0000 (15:27 +0800)
Now charger detection is only for iMX7 which has separated
register area for each instance, register access is protected
by spinlock among APIs, so we can remove the mutex.

Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
drivers/usb/chipidea/usbmisc_imx.c

index 1939e19..34321d2 100644 (file)
@@ -180,7 +180,6 @@ struct imx_usbmisc {
        void __iomem *base;
        spinlock_t lock;
        const struct usbmisc_ops *ops;
-       struct mutex mutex;
 };
 
 static struct regulator *vbus_wakeup_reg;
@@ -1094,7 +1093,6 @@ int imx_usbmisc_charger_detection(struct imx_usbmisc_data *data, bool connect)
        if (!usbmisc->ops->charger_detection)
                return -ENOTSUPP;
 
-       mutex_lock(&usbmisc->mutex);
        if (connect) {
                ret = usbmisc->ops->charger_detection(data);
                if (ret) {
@@ -1109,7 +1107,6 @@ int imx_usbmisc_charger_detection(struct imx_usbmisc_data *data, bool connect)
                usb_phy->chg_state = USB_CHARGER_ABSENT;
                usb_phy->chg_type = UNKNOWN_TYPE;
        }
-       mutex_unlock(&usbmisc->mutex);
        return ret;
 }
 EXPORT_SYMBOL_GPL(imx_usbmisc_charger_detection);
@@ -1235,7 +1232,6 @@ static int usbmisc_imx_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        spin_lock_init(&data->lock);
-       mutex_init(&data->mutex);
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        data->base = devm_ioremap_resource(&pdev->dev, res);