aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2008-01-21 20:22:46 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-22 01:34:30 -0500
commita1f35ba374bc421ab33e40163be2b57995b09962 (patch)
tree5df4759a6b6f93f8ec26e16738ee5c19050a8f03
parentd384e35a25445bb60457b7dab8cffe178c6b7ecb (diff)
[SPARC64]: Fix of section mismatch warnings.
Fix following Section mismatch warning in sparc64: WARNING: arch/sparc64/kernel/built-in.o(.text+0x13dec): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'psycho_scan_bus' and 'psycho_pbm_init') WARNING: arch/sparc64/kernel/built-in.o(.text+0x14b58): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'sabre_scan_bus' and 'sabre_init') WARNING: arch/sparc64/kernel/built-in.o(.text+0x15ea4): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'schizo_scan_bus' and 'schizo_pbm_init') WARNING: arch/sparc64/kernel/built-in.o(.text+0x17780): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'pci_sun4v_scan_bus' and 'pci_sun4v_get_head') WARNING: arch/sparc64/kernel/built-in.o(.text+0x17d5c): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'pci_fire_scan_bus' and 'pci_fire_get_head') WARNING: arch/sparc64/kernel/built-in.o(.text+0x23860): Section mismatch: reference to .devinit.text:vio_dev_release (between 'vio_create_one' and 'vio_add') WARNING: arch/sparc64/kernel/built-in.o(.text+0x23868): Section mismatch: reference to .devinit.text:vio_dev_release (between 'vio_create_one' and 'vio_add') The pci_* were all missing __init annotations. For the vio.c case it was a function with a wrong annotation which was removed. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/sparc64/kernel/pci_fire.c8
-rw-r--r--arch/sparc64/kernel/pci_psycho.c6
-rw-r--r--arch/sparc64/kernel/pci_sabre.c7
-rw-r--r--arch/sparc64/kernel/pci_schizo.c17
-rw-r--r--arch/sparc64/kernel/pci_sun4v.c5
-rw-r--r--arch/sparc64/kernel/vio.c2
6 files changed, 24 insertions, 21 deletions
diff --git a/arch/sparc64/kernel/pci_fire.c b/arch/sparc64/kernel/pci_fire.c
index fef3b37487bf..7571ed563147 100644
--- a/arch/sparc64/kernel/pci_fire.c
+++ b/arch/sparc64/kernel/pci_fire.c
@@ -30,7 +30,7 @@
30 "i" (ASI_PHYS_BYPASS_EC_E) \ 30 "i" (ASI_PHYS_BYPASS_EC_E) \
31 : "memory") 31 : "memory")
32 32
33static void pci_fire_scan_bus(struct pci_pbm_info *pbm) 33static void __init pci_fire_scan_bus(struct pci_pbm_info *pbm)
34{ 34{
35 pbm->pci_bus = pci_scan_one_pbm(pbm); 35 pbm->pci_bus = pci_scan_one_pbm(pbm);
36 36
@@ -434,8 +434,8 @@ static void pci_fire_hw_init(struct pci_pbm_info *pbm)
434 fire_write(pbm->pbm_regs + FIRE_PEC_IENAB, ~(u64)0); 434 fire_write(pbm->pbm_regs + FIRE_PEC_IENAB, ~(u64)0);
435} 435}
436 436
437static int pci_fire_pbm_init(struct pci_controller_info *p, 437static int __init pci_fire_pbm_init(struct pci_controller_info *p,
438 struct device_node *dp, u32 portid) 438 struct device_node *dp, u32 portid)
439{ 439{
440 const struct linux_prom64_registers *regs; 440 const struct linux_prom64_registers *regs;
441 struct pci_pbm_info *pbm; 441 struct pci_pbm_info *pbm;
@@ -488,7 +488,7 @@ static inline int portid_compare(u32 x, u32 y)
488 return 0; 488 return 0;
489} 489}
490 490
491void fire_pci_init(struct device_node *dp, const char *model_name) 491void __init fire_pci_init(struct device_node *dp, const char *model_name)
492{ 492{
493 struct pci_controller_info *p; 493 struct pci_controller_info *p;
494 u32 portid = of_getintprop_default(dp, "portid", 0xff); 494 u32 portid = of_getintprop_default(dp, "portid", 0xff);
diff --git a/arch/sparc64/kernel/pci_psycho.c b/arch/sparc64/kernel/pci_psycho.c
index d27ee5d528a2..0bad96e5d184 100644
--- a/arch/sparc64/kernel/pci_psycho.c
+++ b/arch/sparc64/kernel/pci_psycho.c
@@ -801,7 +801,7 @@ static void pbm_config_busmastering(struct pci_pbm_info *pbm)
801 pci_config_write8(addr, 64); 801 pci_config_write8(addr, 64);
802} 802}
803 803
804static void psycho_scan_bus(struct pci_pbm_info *pbm) 804static void __init psycho_scan_bus(struct pci_pbm_info *pbm)
805{ 805{
806 pbm_config_busmastering(pbm); 806 pbm_config_busmastering(pbm);
807 pbm->is_66mhz_capable = 0; 807 pbm->is_66mhz_capable = 0;
@@ -965,7 +965,7 @@ static void psycho_pbm_strbuf_init(struct pci_pbm_info *pbm,
965#define PSYCHO_MEMSPACE_B 0x180000000UL 965#define PSYCHO_MEMSPACE_B 0x180000000UL
966#define PSYCHO_MEMSPACE_SIZE 0x07fffffffUL 966#define PSYCHO_MEMSPACE_SIZE 0x07fffffffUL
967 967
968static void psycho_pbm_init(struct pci_controller_info *p, 968static void __init psycho_pbm_init(struct pci_controller_info *p,
969 struct device_node *dp, int is_pbm_a) 969 struct device_node *dp, int is_pbm_a)
970{ 970{
971 struct property *prop; 971 struct property *prop;
@@ -1012,7 +1012,7 @@ static void psycho_pbm_init(struct pci_controller_info *p,
1012 1012
1013#define PSYCHO_CONFIGSPACE 0x001000000UL 1013#define PSYCHO_CONFIGSPACE 0x001000000UL
1014 1014
1015void psycho_init(struct device_node *dp, char *model_name) 1015void __init psycho_init(struct device_node *dp, char *model_name)
1016{ 1016{
1017 struct linux_prom64_registers *pr_regs; 1017 struct linux_prom64_registers *pr_regs;
1018 struct pci_controller_info *p; 1018 struct pci_controller_info *p;
diff --git a/arch/sparc64/kernel/pci_sabre.c b/arch/sparc64/kernel/pci_sabre.c
index fba67c3d8809..1c5f5fa2339f 100644
--- a/arch/sparc64/kernel/pci_sabre.c
+++ b/arch/sparc64/kernel/pci_sabre.c
@@ -633,7 +633,7 @@ static void apb_init(struct pci_bus *sabre_bus)
633 } 633 }
634} 634}
635 635
636static void sabre_scan_bus(struct pci_pbm_info *pbm) 636static void __init sabre_scan_bus(struct pci_pbm_info *pbm)
637{ 637{
638 static int once; 638 static int once;
639 639
@@ -731,7 +731,8 @@ static int sabre_iommu_init(struct pci_pbm_info *pbm,
731 return 0; 731 return 0;
732} 732}
733 733
734static void sabre_pbm_init(struct pci_controller_info *p, struct pci_pbm_info *pbm, struct device_node *dp) 734static void __init sabre_pbm_init(struct pci_controller_info *p,
735 struct pci_pbm_info *pbm, struct device_node *dp)
735{ 736{
736 pbm->name = dp->full_name; 737 pbm->name = dp->full_name;
737 printk("%s: SABRE PCI Bus Module\n", pbm->name); 738 printk("%s: SABRE PCI Bus Module\n", pbm->name);
@@ -750,7 +751,7 @@ static void sabre_pbm_init(struct pci_controller_info *p, struct pci_pbm_info *p
750 pci_determine_mem_io_space(pbm); 751 pci_determine_mem_io_space(pbm);
751} 752}
752 753
753void sabre_init(struct device_node *dp, char *model_name) 754void __init sabre_init(struct device_node *dp, char *model_name)
754{ 755{
755 const struct linux_prom64_registers *pr_regs; 756 const struct linux_prom64_registers *pr_regs;
756 struct pci_controller_info *p; 757 struct pci_controller_info *p;
diff --git a/arch/sparc64/kernel/pci_schizo.c b/arch/sparc64/kernel/pci_schizo.c
index e752e75cce83..e30609362322 100644
--- a/arch/sparc64/kernel/pci_schizo.c
+++ b/arch/sparc64/kernel/pci_schizo.c
@@ -1084,7 +1084,7 @@ static void pbm_config_busmastering(struct pci_pbm_info *pbm)
1084 pci_config_write8(addr, 64); 1084 pci_config_write8(addr, 64);
1085} 1085}
1086 1086
1087static void schizo_scan_bus(struct pci_pbm_info *pbm) 1087static void __init schizo_scan_bus(struct pci_pbm_info *pbm)
1088{ 1088{
1089 pbm_config_busmastering(pbm); 1089 pbm_config_busmastering(pbm);
1090 pbm->is_66mhz_capable = 1090 pbm->is_66mhz_capable =
@@ -1333,9 +1333,9 @@ static void schizo_pbm_hw_init(struct pci_pbm_info *pbm)
1333 } 1333 }
1334} 1334}
1335 1335
1336static int schizo_pbm_init(struct pci_controller_info *p, 1336static int __init schizo_pbm_init(struct pci_controller_info *p,
1337 struct device_node *dp, u32 portid, 1337 struct device_node *dp, u32 portid,
1338 int chip_type) 1338 int chip_type)
1339{ 1339{
1340 const struct linux_prom64_registers *regs; 1340 const struct linux_prom64_registers *regs;
1341 struct pci_pbm_info *pbm; 1341 struct pci_pbm_info *pbm;
@@ -1430,7 +1430,8 @@ static inline int portid_compare(u32 x, u32 y, int chip_type)
1430 return (x == y); 1430 return (x == y);
1431} 1431}
1432 1432
1433static void __schizo_init(struct device_node *dp, char *model_name, int chip_type) 1433static void __init __schizo_init(struct device_node *dp, char *model_name,
1434 int chip_type)
1434{ 1435{
1435 struct pci_controller_info *p; 1436 struct pci_controller_info *p;
1436 struct pci_pbm_info *pbm; 1437 struct pci_pbm_info *pbm;
@@ -1474,17 +1475,17 @@ fatal_memory_error:
1474 prom_halt(); 1475 prom_halt();
1475} 1476}
1476 1477
1477void schizo_init(struct device_node *dp, char *model_name) 1478void __init schizo_init(struct device_node *dp, char *model_name)
1478{ 1479{
1479 __schizo_init(dp, model_name, PBM_CHIP_TYPE_SCHIZO); 1480 __schizo_init(dp, model_name, PBM_CHIP_TYPE_SCHIZO);
1480} 1481}
1481 1482
1482void schizo_plus_init(struct device_node *dp, char *model_name) 1483void __init schizo_plus_init(struct device_node *dp, char *model_name)
1483{ 1484{
1484 __schizo_init(dp, model_name, PBM_CHIP_TYPE_SCHIZO_PLUS); 1485 __schizo_init(dp, model_name, PBM_CHIP_TYPE_SCHIZO_PLUS);
1485} 1486}
1486 1487
1487void tomatillo_init(struct device_node *dp, char *model_name) 1488void __init tomatillo_init(struct device_node *dp, char *model_name)
1488{ 1489{
1489 __schizo_init(dp, model_name, PBM_CHIP_TYPE_TOMATILLO); 1490 __schizo_init(dp, model_name, PBM_CHIP_TYPE_TOMATILLO);
1490} 1491}
diff --git a/arch/sparc64/kernel/pci_sun4v.c b/arch/sparc64/kernel/pci_sun4v.c
index e587a372f3fe..1aa8e044b105 100644
--- a/arch/sparc64/kernel/pci_sun4v.c
+++ b/arch/sparc64/kernel/pci_sun4v.c
@@ -612,7 +612,7 @@ const struct dma_ops sun4v_dma_ops = {
612 .sync_sg_for_cpu = dma_4v_sync_sg_for_cpu, 612 .sync_sg_for_cpu = dma_4v_sync_sg_for_cpu,
613}; 613};
614 614
615static void pci_sun4v_scan_bus(struct pci_pbm_info *pbm) 615static void __init pci_sun4v_scan_bus(struct pci_pbm_info *pbm)
616{ 616{
617 struct property *prop; 617 struct property *prop;
618 struct device_node *dp; 618 struct device_node *dp;
@@ -960,7 +960,8 @@ static void pci_sun4v_msi_init(struct pci_pbm_info *pbm)
960} 960}
961#endif /* !(CONFIG_PCI_MSI) */ 961#endif /* !(CONFIG_PCI_MSI) */
962 962
963static void __init pci_sun4v_pbm_init(struct pci_controller_info *p, struct device_node *dp, u32 devhandle) 963static void __init pci_sun4v_pbm_init(struct pci_controller_info *p,
964 struct device_node *dp, u32 devhandle)
964{ 965{
965 struct pci_pbm_info *pbm; 966 struct pci_pbm_info *pbm;
966 967
diff --git a/arch/sparc64/kernel/vio.c b/arch/sparc64/kernel/vio.c
index 0c1ee619d814..e78b3517940b 100644
--- a/arch/sparc64/kernel/vio.c
+++ b/arch/sparc64/kernel/vio.c
@@ -131,7 +131,7 @@ void vio_unregister_driver(struct vio_driver *viodrv)
131} 131}
132EXPORT_SYMBOL(vio_unregister_driver); 132EXPORT_SYMBOL(vio_unregister_driver);
133 133
134static void __devinit vio_dev_release(struct device *dev) 134static void vio_dev_release(struct device *dev)
135{ 135{
136 kfree(to_vio_dev(dev)); 136 kfree(to_vio_dev(dev));
137} 137}