aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2015-02-10 23:44:44 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-03-18 11:19:08 -0400
commita4cf1b14cfbc57a12ea2d997b93735a99f70d810 (patch)
tree1c1a514500be4b0f290e9c9299575e3eb135f3c3
parent73dea4a912b2bfe955305de4891018f9e71e399d (diff)
usb: chipidea: imx: simplify the usbmisc callers
Move struct imx_usbmisc_data NULL pointer judgement from caller to each API, it can simplify the caller. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/chipidea/ci_hdrc_imx.c22
-rw-r--r--drivers/usb/chipidea/usbmisc_imx.c12
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 421651060f8d..353989e5675b 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)
149 if (ret) 149 if (ret)
150 goto err_clk; 150 goto err_clk;
151 151
152 if (data->usbmisc_data) { 152 ret = imx_usbmisc_init(data->usbmisc_data);
153 ret = imx_usbmisc_init(data->usbmisc_data); 153 if (ret) {
154 if (ret) { 154 dev_err(&pdev->dev, "usbmisc init failed, ret=%d\n", ret);
155 dev_err(&pdev->dev, "usbmisc init failed, ret=%d\n", 155 goto err_clk;
156 ret);
157 goto err_clk;
158 }
159 } 156 }
160 157
161 data->ci_pdev = ci_hdrc_add_device(&pdev->dev, 158 data->ci_pdev = ci_hdrc_add_device(&pdev->dev,
@@ -169,13 +166,10 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
169 goto err_clk; 166 goto err_clk;
170 } 167 }
171 168
172 if (data->usbmisc_data) { 169 ret = imx_usbmisc_init_post(data->usbmisc_data);
173 ret = imx_usbmisc_init_post(data->usbmisc_data); 170 if (ret) {
174 if (ret) { 171 dev_err(&pdev->dev, "usbmisc post failed, ret=%d\n", ret);
175 dev_err(&pdev->dev, "usbmisc post failed, ret=%d\n", 172 goto disable_device;
176 ret);
177 goto disable_device;
178 }
179 } 173 }
180 174
181 platform_set_drvdata(pdev, data); 175 platform_set_drvdata(pdev, data);
diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
index 93856027d6f4..eb77e3285c8a 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 = {
265 265
266int imx_usbmisc_init(struct imx_usbmisc_data *data) 266int imx_usbmisc_init(struct imx_usbmisc_data *data)
267{ 267{
268 struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev); 268 struct imx_usbmisc *usbmisc;
269
270 if (!data)
271 return 0;
269 272
273 usbmisc = dev_get_drvdata(data->dev);
270 if (!usbmisc->ops->init) 274 if (!usbmisc->ops->init)
271 return 0; 275 return 0;
272 return usbmisc->ops->init(data); 276 return usbmisc->ops->init(data);
@@ -275,8 +279,12 @@ EXPORT_SYMBOL_GPL(imx_usbmisc_init);
275 279
276int imx_usbmisc_init_post(struct imx_usbmisc_data *data) 280int imx_usbmisc_init_post(struct imx_usbmisc_data *data)
277{ 281{
278 struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev); 282 struct imx_usbmisc *usbmisc;
283
284 if (!data)
285 return 0;
279 286
287 usbmisc = dev_get_drvdata(data->dev);
280 if (!usbmisc->ops->post) 288 if (!usbmisc->ops->post)
281 return 0; 289 return 0;
282 return usbmisc->ops->post(data); 290 return usbmisc->ops->post(data);