diff options
Diffstat (limited to 'arch/sparc/kernel/pci_sabre.c')
| -rw-r--r-- | arch/sparc/kernel/pci_sabre.c | 22 | 
1 files changed, 12 insertions, 10 deletions
diff --git a/arch/sparc/kernel/pci_sabre.c b/arch/sparc/kernel/pci_sabre.c index 5c3f5ec4cab..6f00d27e8da 100644 --- a/arch/sparc/kernel/pci_sabre.c +++ b/arch/sparc/kernel/pci_sabre.c @@ -9,6 +9,7 @@  #include <linux/types.h>  #include <linux/pci.h>  #include <linux/init.h> +#include <linux/export.h>  #include <linux/slab.h>  #include <linux/interrupt.h>  #include <linux/of_device.h> @@ -402,8 +403,7 @@ static void apb_init(struct pci_bus *sabre_bus)  	}  } -static void __devinit sabre_scan_bus(struct pci_pbm_info *pbm, -				     struct device *parent) +static void sabre_scan_bus(struct pci_pbm_info *pbm, struct device *parent)  {  	static int once; @@ -442,8 +442,8 @@ static void __devinit sabre_scan_bus(struct pci_pbm_info *pbm,  	sabre_register_error_handlers(pbm);  } -static void __devinit sabre_pbm_init(struct pci_pbm_info *pbm, -				     struct platform_device *op) +static void sabre_pbm_init(struct pci_pbm_info *pbm, +			   struct platform_device *op)  {  	psycho_pbm_init_common(pbm, op, "SABRE", PBM_CHIP_TYPE_SABRE);  	pbm->pci_afsr = pbm->controller_regs + SABRE_PIOAFSR; @@ -452,9 +452,10 @@ static void __devinit sabre_pbm_init(struct pci_pbm_info *pbm,  	sabre_scan_bus(pbm, &op->dev);  } -static int __devinit sabre_probe(struct platform_device *op, -				 const struct of_device_id *match) +static const struct of_device_id sabre_match[]; +static int sabre_probe(struct platform_device *op)  { +	const struct of_device_id *match;  	const struct linux_prom64_registers *pr_regs;  	struct device_node *dp = op->dev.of_node;  	struct pci_pbm_info *pbm; @@ -464,7 +465,8 @@ static int __devinit sabre_probe(struct platform_device *op,  	const u32 *vdma;  	u64 clear_irq; -	hummingbird_p = (match->data != NULL); +	match = of_match_device(sabre_match, &op->dev); +	hummingbird_p = match && (match->data != NULL);  	if (!hummingbird_p) {  		struct device_node *cpu_dp; @@ -582,7 +584,7 @@ out_err:  	return err;  } -static struct of_device_id __initdata sabre_match[] = { +static const struct of_device_id sabre_match[] = {  	{  		.name = "pci",  		.compatible = "pci108e,a001", @@ -595,7 +597,7 @@ static struct of_device_id __initdata sabre_match[] = {  	{},  }; -static struct of_platform_driver sabre_driver = { +static struct platform_driver sabre_driver = {  	.driver = {  		.name = DRIVER_NAME,  		.owner = THIS_MODULE, @@ -606,7 +608,7 @@ static struct of_platform_driver sabre_driver = {  static int __init sabre_init(void)  { -	return of_register_platform_driver(&sabre_driver); +	return platform_driver_register(&sabre_driver);  }  subsys_initcall(sabre_init);  | 
