aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/prom.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64/kernel/prom.c')
-rw-r--r--arch/sparc64/kernel/prom.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c
index 6625ac8d15fe..c54d4d8af014 100644
--- a/arch/sparc64/kernel/prom.c
+++ b/arch/sparc64/kernel/prom.c
@@ -396,7 +396,7 @@ static unsigned int psycho_irq_build(struct device_node *dp,
396 return build_irq(inofixup, iclr, imap); 396 return build_irq(inofixup, iclr, imap);
397} 397}
398 398
399static void psycho_irq_trans_init(struct device_node *dp) 399static void __init psycho_irq_trans_init(struct device_node *dp)
400{ 400{
401 const struct linux_prom64_registers *regs; 401 const struct linux_prom64_registers *regs;
402 402
@@ -636,7 +636,7 @@ static unsigned int sabre_irq_build(struct device_node *dp,
636 return virt_irq; 636 return virt_irq;
637} 637}
638 638
639static void sabre_irq_trans_init(struct device_node *dp) 639static void __init sabre_irq_trans_init(struct device_node *dp)
640{ 640{
641 const struct linux_prom64_registers *regs; 641 const struct linux_prom64_registers *regs;
642 struct sabre_irq_data *irq_data; 642 struct sabre_irq_data *irq_data;
@@ -793,7 +793,8 @@ static unsigned int schizo_irq_build(struct device_node *dp,
793 return virt_irq; 793 return virt_irq;
794} 794}
795 795
796static void __schizo_irq_trans_init(struct device_node *dp, int is_tomatillo) 796static void __init __schizo_irq_trans_init(struct device_node *dp,
797 int is_tomatillo)
797{ 798{
798 const struct linux_prom64_registers *regs; 799 const struct linux_prom64_registers *regs;
799 struct schizo_irq_data *irq_data; 800 struct schizo_irq_data *irq_data;
@@ -815,12 +816,12 @@ static void __schizo_irq_trans_init(struct device_node *dp, int is_tomatillo)
815 irq_data->chip_version = of_getintprop_default(dp, "version#", 0); 816 irq_data->chip_version = of_getintprop_default(dp, "version#", 0);
816} 817}
817 818
818static void schizo_irq_trans_init(struct device_node *dp) 819static void __init schizo_irq_trans_init(struct device_node *dp)
819{ 820{
820 __schizo_irq_trans_init(dp, 0); 821 __schizo_irq_trans_init(dp, 0);
821} 822}
822 823
823static void tomatillo_irq_trans_init(struct device_node *dp) 824static void __init tomatillo_irq_trans_init(struct device_node *dp)
824{ 825{
825 __schizo_irq_trans_init(dp, 1); 826 __schizo_irq_trans_init(dp, 1);
826} 827}
@@ -834,7 +835,7 @@ static unsigned int pci_sun4v_irq_build(struct device_node *dp,
834 return sun4v_build_irq(devhandle, devino); 835 return sun4v_build_irq(devhandle, devino);
835} 836}
836 837
837static void pci_sun4v_irq_trans_init(struct device_node *dp) 838static void __init pci_sun4v_irq_trans_init(struct device_node *dp)
838{ 839{
839 const struct linux_prom64_registers *regs; 840 const struct linux_prom64_registers *regs;
840 841
@@ -908,7 +909,7 @@ static unsigned int fire_irq_build(struct device_node *dp,
908 return build_irq(ino, iclr, imap); 909 return build_irq(ino, iclr, imap);
909} 910}
910 911
911static void fire_irq_trans_init(struct device_node *dp) 912static void __init fire_irq_trans_init(struct device_node *dp)
912{ 913{
913 const struct linux_prom64_registers *regs; 914 const struct linux_prom64_registers *regs;
914 struct fire_irq_data *irq_data; 915 struct fire_irq_data *irq_data;
@@ -1071,7 +1072,7 @@ static unsigned int sbus_of_build_irq(struct device_node *dp,
1071 return build_irq(sbus_level, iclr, imap); 1072 return build_irq(sbus_level, iclr, imap);
1072} 1073}
1073 1074
1074static void sbus_irq_trans_init(struct device_node *dp) 1075static void __init sbus_irq_trans_init(struct device_node *dp)
1075{ 1076{
1076 const struct linux_prom64_registers *regs; 1077 const struct linux_prom64_registers *regs;
1077 1078
@@ -1118,7 +1119,7 @@ static unsigned int central_build_irq(struct device_node *dp,
1118 return build_irq(0, iclr, imap); 1119 return build_irq(0, iclr, imap);
1119} 1120}
1120 1121
1121static void central_irq_trans_init(struct device_node *dp) 1122static void __init central_irq_trans_init(struct device_node *dp)
1122{ 1123{
1123 dp->irq_trans = prom_early_alloc(sizeof(struct of_irq_controller)); 1124 dp->irq_trans = prom_early_alloc(sizeof(struct of_irq_controller));
1124 dp->irq_trans->irq_build = central_build_irq; 1125 dp->irq_trans->irq_build = central_build_irq;
@@ -1132,7 +1133,7 @@ struct irq_trans {
1132}; 1133};
1133 1134
1134#ifdef CONFIG_PCI 1135#ifdef CONFIG_PCI
1135static struct irq_trans pci_irq_trans_table[] = { 1136static struct irq_trans __initdata pci_irq_trans_table[] = {
1136 { "SUNW,sabre", sabre_irq_trans_init }, 1137 { "SUNW,sabre", sabre_irq_trans_init },
1137 { "pci108e,a000", sabre_irq_trans_init }, 1138 { "pci108e,a000", sabre_irq_trans_init },
1138 { "pci108e,a001", sabre_irq_trans_init }, 1139 { "pci108e,a001", sabre_irq_trans_init },
@@ -1158,7 +1159,7 @@ static unsigned int sun4v_vdev_irq_build(struct device_node *dp,
1158 return sun4v_build_irq(devhandle, devino); 1159 return sun4v_build_irq(devhandle, devino);
1159} 1160}
1160 1161
1161static void sun4v_vdev_irq_trans_init(struct device_node *dp) 1162static void __init sun4v_vdev_irq_trans_init(struct device_node *dp)
1162{ 1163{
1163 const struct linux_prom64_registers *regs; 1164 const struct linux_prom64_registers *regs;
1164 1165
@@ -1170,7 +1171,7 @@ static void sun4v_vdev_irq_trans_init(struct device_node *dp)
1170 ((regs->phys_addr >> 32UL) & 0x0fffffff); 1171 ((regs->phys_addr >> 32UL) & 0x0fffffff);
1171} 1172}
1172 1173
1173static void irq_trans_init(struct device_node *dp) 1174static void __init irq_trans_init(struct device_node *dp)
1174{ 1175{
1175#ifdef CONFIG_PCI 1176#ifdef CONFIG_PCI
1176 const char *model; 1177 const char *model;