Lines Matching refs:data

76 	int (*init)(struct imx_usbmisc_data *data);
78 int (*post)(struct imx_usbmisc_data *data);
80 int (*set_wakeup)(struct imx_usbmisc_data *data, bool enabled);
89 static int usbmisc_imx25_init(struct imx_usbmisc_data *data) in usbmisc_imx25_init() argument
91 struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev); in usbmisc_imx25_init()
95 if (data->index > 1) in usbmisc_imx25_init()
99 switch (data->index) { in usbmisc_imx25_init()
123 static int usbmisc_imx25_post(struct imx_usbmisc_data *data) in usbmisc_imx25_post() argument
125 struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev); in usbmisc_imx25_post()
130 if (data->index > 2) in usbmisc_imx25_post()
133 if (data->evdo) { in usbmisc_imx25_post()
145 static int usbmisc_imx27_init(struct imx_usbmisc_data *data) in usbmisc_imx27_init() argument
147 struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev); in usbmisc_imx27_init()
151 switch (data->index) { in usbmisc_imx27_init()
166 if (data->disable_oc) in usbmisc_imx27_init()
176 static int usbmisc_imx53_init(struct imx_usbmisc_data *data) in usbmisc_imx53_init() argument
178 struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev); in usbmisc_imx53_init()
183 if (data->index > 3) in usbmisc_imx53_init()
192 if (data->disable_oc) { in usbmisc_imx53_init()
194 switch (data->index) { in usbmisc_imx53_init()
221 (struct imx_usbmisc_data *data, bool enabled) in usbmisc_imx6q_set_wakeup() argument
223 struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev); in usbmisc_imx6q_set_wakeup()
230 if (data->index > 3) in usbmisc_imx6q_set_wakeup()
234 val = readl(usbmisc->base + data->index * 4); in usbmisc_imx6q_set_wakeup()
237 writel(val, usbmisc->base + data->index * 4); in usbmisc_imx6q_set_wakeup()
240 pr_debug("wakeup int at ci_hdrc.%d\n", data->index); in usbmisc_imx6q_set_wakeup()
242 writel(val, usbmisc->base + data->index * 4); in usbmisc_imx6q_set_wakeup()
249 static int usbmisc_imx6q_init(struct imx_usbmisc_data *data) in usbmisc_imx6q_init() argument
251 struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev); in usbmisc_imx6q_init()
255 if (data->index > 3) in usbmisc_imx6q_init()
258 if (data->disable_oc) { in usbmisc_imx6q_init()
260 reg = readl(usbmisc->base + data->index * 4); in usbmisc_imx6q_init()
262 usbmisc->base + data->index * 4); in usbmisc_imx6q_init()
266 usbmisc_imx6q_set_wakeup(data, false); in usbmisc_imx6q_init()
271 static int usbmisc_imx6sx_init(struct imx_usbmisc_data *data) in usbmisc_imx6sx_init() argument
275 struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev); in usbmisc_imx6sx_init()
278 usbmisc_imx6q_init(data); in usbmisc_imx6sx_init()
280 if (data->index == 0 || data->index == 1) { in usbmisc_imx6sx_init()
281 reg = usbmisc->base + MX6_USB_OTG1_PHY_CTRL + data->index * 4; in usbmisc_imx6sx_init()
290 val = readl(usbmisc->base + data->index * 4); in usbmisc_imx6sx_init()
292 usbmisc->base + data->index * 4); in usbmisc_imx6sx_init()
299 static int usbmisc_vf610_init(struct imx_usbmisc_data *data) in usbmisc_vf610_init() argument
301 struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev); in usbmisc_vf610_init()
308 if (data->index >= 1) in usbmisc_vf610_init()
311 if (data->disable_oc) { in usbmisc_vf610_init()
346 int imx_usbmisc_init(struct imx_usbmisc_data *data) in imx_usbmisc_init() argument
350 if (!data) in imx_usbmisc_init()
353 usbmisc = dev_get_drvdata(data->dev); in imx_usbmisc_init()
356 return usbmisc->ops->init(data); in imx_usbmisc_init()
360 int imx_usbmisc_init_post(struct imx_usbmisc_data *data) in imx_usbmisc_init_post() argument
364 if (!data) in imx_usbmisc_init_post()
367 usbmisc = dev_get_drvdata(data->dev); in imx_usbmisc_init_post()
370 return usbmisc->ops->post(data); in imx_usbmisc_init_post()
374 int imx_usbmisc_set_wakeup(struct imx_usbmisc_data *data, bool enabled) in imx_usbmisc_set_wakeup() argument
378 if (!data) in imx_usbmisc_set_wakeup()
381 usbmisc = dev_get_drvdata(data->dev); in imx_usbmisc_set_wakeup()
384 return usbmisc->ops->set_wakeup(data, enabled); in imx_usbmisc_set_wakeup()
391 .data = &imx25_usbmisc_ops,
395 .data = &imx25_usbmisc_ops,
399 .data = &imx27_usbmisc_ops,
403 .data = &imx53_usbmisc_ops,
407 .data = &imx53_usbmisc_ops,
411 .data = &imx6q_usbmisc_ops,
415 .data = &vf610_usbmisc_ops,
419 .data = &imx6sx_usbmisc_ops,
428 struct imx_usbmisc *data; in usbmisc_imx_probe() local
431 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); in usbmisc_imx_probe()
432 if (!data) in usbmisc_imx_probe()
435 spin_lock_init(&data->lock); in usbmisc_imx_probe()
438 data->base = devm_ioremap_resource(&pdev->dev, res); in usbmisc_imx_probe()
439 if (IS_ERR(data->base)) in usbmisc_imx_probe()
440 return PTR_ERR(data->base); in usbmisc_imx_probe()
444 data->ops = (const struct usbmisc_ops *)tmp_dev->data; in usbmisc_imx_probe()
445 platform_set_drvdata(pdev, data); in usbmisc_imx_probe()