|
@@ -2523,8 +2523,7 @@ static void qe_udc_release(struct device *dev)
|
|
|
}
|
|
|
|
|
|
/* Driver probe functions */
|
|
|
-static int __devinit qe_udc_probe(struct platform_device *ofdev,
|
|
|
- const struct of_device_id *match)
|
|
|
+static int __devinit qe_udc_probe(struct platform_device *ofdev)
|
|
|
{
|
|
|
struct device_node *np = ofdev->dev.of_node;
|
|
|
struct qe_ep *ep;
|
|
@@ -2532,6 +2531,9 @@ static int __devinit qe_udc_probe(struct platform_device *ofdev,
|
|
|
unsigned int i;
|
|
|
const void *prop;
|
|
|
|
|
|
+ if (!ofdev->dev.of_match)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
prop = of_get_property(np, "mode", NULL);
|
|
|
if (!prop || strcmp(prop, "peripheral"))
|
|
|
return -ENODEV;
|
|
@@ -2543,7 +2545,7 @@ static int __devinit qe_udc_probe(struct platform_device *ofdev,
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
|
|
|
- udc_controller->soc_type = (unsigned long)match->data;
|
|
|
+ udc_controller->soc_type = (unsigned long)ofdev->dev.of_match->data;
|
|
|
udc_controller->usb_regs = of_iomap(np, 0);
|
|
|
if (!udc_controller->usb_regs) {
|
|
|
ret = -ENOMEM;
|
|
@@ -2768,7 +2770,7 @@ static const struct of_device_id qe_udc_match[] __devinitconst = {
|
|
|
|
|
|
MODULE_DEVICE_TABLE(of, qe_udc_match);
|
|
|
|
|
|
-static struct of_platform_driver udc_driver = {
|
|
|
+static struct platform_driver udc_driver = {
|
|
|
.driver = {
|
|
|
.name = (char *)driver_name,
|
|
|
.owner = THIS_MODULE,
|
|
@@ -2786,12 +2788,12 @@ static int __init qe_udc_init(void)
|
|
|
{
|
|
|
printk(KERN_INFO "%s: %s, %s\n", driver_name, driver_desc,
|
|
|
DRIVER_VERSION);
|
|
|
- return of_register_platform_driver(&udc_driver);
|
|
|
+ return platform_driver_register(&udc_driver);
|
|
|
}
|
|
|
|
|
|
static void __exit qe_udc_exit(void)
|
|
|
{
|
|
|
- of_unregister_platform_driver(&udc_driver);
|
|
|
+ platform_driver_unregister(&udc_driver);
|
|
|
}
|
|
|
|
|
|
module_init(qe_udc_init);
|