]> Pileus Git - ~andy/linux/blobdiff - arch/powerpc/sysdev/fsl_msi.c
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
[~andy/linux] / arch / powerpc / sysdev / fsl_msi.c
index 8d6b074bb3e9b45521799db21dca76611a49b620..58e09b2833f2ce8111673de016a32e44e7cf8063 100644 (file)
@@ -303,19 +303,22 @@ static int __devinit fsl_msi_setup_hwirq(struct fsl_msi *msi,
        return 0;
 }
 
-static int __devinit fsl_of_msi_probe(struct platform_device *dev,
-                               const struct of_device_id *match)
+static int __devinit fsl_of_msi_probe(struct platform_device *dev)
 {
        struct fsl_msi *msi;
        struct resource res;
        int err, i, j, irq_index, count;
        int rc;
        const u32 *p;
-       struct fsl_msi_feature *features = match->data;
+       struct fsl_msi_feature *features;
        int len;
        u32 offset;
        static const u32 all_avail[] = { 0, NR_MSI_IRQS };
 
+       if (!dev->dev.of_match)
+               return -EINVAL;
+       features = dev->dev.of_match->data;
+
        printk(KERN_DEBUG "Setting up Freescale MSI support\n");
 
        msi = kzalloc(sizeof(struct fsl_msi), GFP_KERNEL);
@@ -432,7 +435,7 @@ static const struct of_device_id fsl_of_msi_ids[] = {
        {}
 };
 
-static struct of_platform_driver fsl_of_msi_driver = {
+static struct platform_driver fsl_of_msi_driver = {
        .driver = {
                .name = "fsl-msi",
                .owner = THIS_MODULE,
@@ -444,7 +447,7 @@ static struct of_platform_driver fsl_of_msi_driver = {
 
 static __init int fsl_of_msi_init(void)
 {
-       return of_register_platform_driver(&fsl_of_msi_driver);
+       return platform_driver_register(&fsl_of_msi_driver);
 }
 
 subsys_initcall(fsl_of_msi_init);