diff options
| -rw-r--r-- | arch/sparc64/kernel/prom.c | 25 | 
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 | ||
| 399 | static void psycho_irq_trans_init(struct device_node *dp) | 399 | static 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 | ||
| 639 | static void sabre_irq_trans_init(struct device_node *dp) | 639 | static 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 | ||
| 796 | static void __schizo_irq_trans_init(struct device_node *dp, int is_tomatillo) | 796 | static 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 | ||
| 818 | static void schizo_irq_trans_init(struct device_node *dp) | 819 | static 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 | ||
| 823 | static void tomatillo_irq_trans_init(struct device_node *dp) | 824 | static 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 | ||
| 837 | static void pci_sun4v_irq_trans_init(struct device_node *dp) | 838 | static 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 | ||
| 911 | static void fire_irq_trans_init(struct device_node *dp) | 912 | static 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 | ||
| 1074 | static void sbus_irq_trans_init(struct device_node *dp) | 1075 | static 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 | ||
| 1121 | static void central_irq_trans_init(struct device_node *dp) | 1122 | static 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 | 
| 1135 | static struct irq_trans pci_irq_trans_table[] = { | 1136 | static 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 | ||
| 1161 | static void sun4v_vdev_irq_trans_init(struct device_node *dp) | 1162 | static 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 | ||
| 1173 | static void irq_trans_init(struct device_node *dp) | 1174 | static 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; | 
