Move struct imx_usbmisc_data NULL pointer judgement from caller to
each API, it can simplify the caller.

Signed-off-by: Peter Chen <peter.c...@freescale.com>
---
 drivers/usb/chipidea/ci_hdrc_imx.c | 22 ++++++++--------------
 drivers/usb/chipidea/usbmisc_imx.c | 12 ++++++++++--
 2 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c 
b/drivers/usb/chipidea/ci_hdrc_imx.c
index 33b4a7e..8fd7d0d 100644
--- a/drivers/usb/chipidea/ci_hdrc_imx.c
+++ b/drivers/usb/chipidea/ci_hdrc_imx.c
@@ -149,13 +149,10 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
        if (ret)
                goto err_clk;
 
-       if (data->usbmisc_data) {
-               ret = imx_usbmisc_init(data->usbmisc_data);
-               if (ret) {
-                       dev_err(&pdev->dev, "usbmisc init failed, ret=%d\n",
-                                       ret);
-                       goto err_clk;
-               }
+       ret = imx_usbmisc_init(data->usbmisc_data);
+       if (ret) {
+               dev_err(&pdev->dev, "usbmisc init failed, ret=%d\n", ret);
+               goto err_clk;
        }
 
        data->ci_pdev = ci_hdrc_add_device(&pdev->dev,
@@ -169,13 +166,10 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
                goto err_clk;
        }
 
-       if (data->usbmisc_data) {
-               ret = imx_usbmisc_init_post(data->usbmisc_data);
-               if (ret) {
-                       dev_err(&pdev->dev, "usbmisc post failed, ret=%d\n",
-                                       ret);
-                       goto disable_device;
-               }
+       ret = imx_usbmisc_init_post(data->usbmisc_data);
+       if (ret) {
+               dev_err(&pdev->dev, "usbmisc post failed, ret=%d\n", ret);
+               goto disable_device;
        }
 
        platform_set_drvdata(pdev, data);
diff --git a/drivers/usb/chipidea/usbmisc_imx.c 
b/drivers/usb/chipidea/usbmisc_imx.c
index e988e36..25839be 100644
--- a/drivers/usb/chipidea/usbmisc_imx.c
+++ b/drivers/usb/chipidea/usbmisc_imx.c
@@ -265,8 +265,12 @@ static const struct usbmisc_ops vf610_usbmisc_ops = {
 
 int imx_usbmisc_init(struct imx_usbmisc_data *data)
 {
-       struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev);
+       struct imx_usbmisc *usbmisc;
+
+       if (!data)
+               return 0;
 
+       usbmisc = dev_get_drvdata(data->dev);
        if (!usbmisc->ops->init)
                return 0;
        return usbmisc->ops->init(data);
@@ -275,8 +279,12 @@ EXPORT_SYMBOL_GPL(imx_usbmisc_init);
 
 int imx_usbmisc_init_post(struct imx_usbmisc_data *data)
 {
-       struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev);
+       struct imx_usbmisc *usbmisc;
+
+       if (!data)
+               return 0;
 
+       usbmisc = dev_get_drvdata(data->dev);
        if (!usbmisc->ops->post)
                return 0;
        return usbmisc->ops->post(data);
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to