diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-25 20:39:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-25 20:39:04 -0400 |
commit | 7b29122f9ec54db5c38a66a11127d94db0817c17 (patch) | |
tree | 8a9b5c5937f6fa0167de090dd199b964ec803d5a | |
parent | b7de567bf3187ccf776e2fe0e241593cdcba5459 (diff) | |
parent | be5b6d3d6cb7311893c9fbeebf094591d5f760a8 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SOUND] sparc/amd7930: Use __devinit and __devinitdata as needed.
[SUNLANCE]: Mark sparc_lance_probe_one as __devinit.
[SPARC64]: Fix section-mismatch errors in solaris emul module.
-rw-r--r-- | arch/sparc64/solaris/misc.c | 20 | ||||
-rw-r--r-- | arch/sparc64/solaris/socksys.c | 6 | ||||
-rw-r--r-- | drivers/net/sunlance.c | 10 | ||||
-rw-r--r-- | sound/sparc/amd7930.c | 20 |
4 files changed, 21 insertions, 35 deletions
diff --git a/arch/sparc64/solaris/misc.c b/arch/sparc64/solaris/misc.c index 8135ec322c9c..642541769a17 100644 --- a/arch/sparc64/solaris/misc.c +++ b/arch/sparc64/solaris/misc.c | |||
@@ -736,20 +736,15 @@ struct exec_domain solaris_exec_domain = { | |||
736 | 736 | ||
737 | extern int init_socksys(void); | 737 | extern int init_socksys(void); |
738 | 738 | ||
739 | #ifdef MODULE | ||
740 | |||
741 | MODULE_AUTHOR("Jakub Jelinek (jj@ultra.linux.cz), Patrik Rak (prak3264@ss1000.ms.mff.cuni.cz)"); | 739 | MODULE_AUTHOR("Jakub Jelinek (jj@ultra.linux.cz), Patrik Rak (prak3264@ss1000.ms.mff.cuni.cz)"); |
742 | MODULE_DESCRIPTION("Solaris binary emulation module"); | 740 | MODULE_DESCRIPTION("Solaris binary emulation module"); |
743 | MODULE_LICENSE("GPL"); | 741 | MODULE_LICENSE("GPL"); |
744 | 742 | ||
745 | #ifdef __sparc_v9__ | ||
746 | extern u32 tl0_solaris[8]; | 743 | extern u32 tl0_solaris[8]; |
747 | #define update_ttable(x) \ | 744 | #define update_ttable(x) \ |
748 | tl0_solaris[3] = (((long)(x) - (long)tl0_solaris - 3) >> 2) | 0x40000000; \ | 745 | tl0_solaris[3] = (((long)(x) - (long)tl0_solaris - 3) >> 2) | 0x40000000; \ |
749 | wmb(); \ | 746 | wmb(); \ |
750 | __asm__ __volatile__ ("flush %0" : : "r" (&tl0_solaris[3])) | 747 | __asm__ __volatile__ ("flush %0" : : "r" (&tl0_solaris[3])) |
751 | #else | ||
752 | #endif | ||
753 | 748 | ||
754 | extern u32 solaris_sparc_syscall[]; | 749 | extern u32 solaris_sparc_syscall[]; |
755 | extern u32 solaris_syscall[]; | 750 | extern u32 solaris_syscall[]; |
@@ -757,7 +752,7 @@ extern void cleanup_socksys(void); | |||
757 | 752 | ||
758 | extern u32 entry64_personality_patch; | 753 | extern u32 entry64_personality_patch; |
759 | 754 | ||
760 | int init_module(void) | 755 | static int __init solaris_init(void) |
761 | { | 756 | { |
762 | int ret; | 757 | int ret; |
763 | 758 | ||
@@ -777,19 +772,12 @@ int init_module(void) | |||
777 | return 0; | 772 | return 0; |
778 | } | 773 | } |
779 | 774 | ||
780 | void cleanup_module(void) | 775 | static void __exit solaris_exit(void) |
781 | { | 776 | { |
782 | update_ttable(solaris_syscall); | 777 | update_ttable(solaris_syscall); |
783 | cleanup_socksys(); | 778 | cleanup_socksys(); |
784 | unregister_exec_domain(&solaris_exec_domain); | 779 | unregister_exec_domain(&solaris_exec_domain); |
785 | } | 780 | } |
786 | 781 | ||
787 | #else | 782 | module_init(solaris_init); |
788 | int init_solaris_emul(void) | 783 | module_exit(solaris_exit); |
789 | { | ||
790 | register_exec_domain(&solaris_exec_domain); | ||
791 | init_socksys(); | ||
792 | return 0; | ||
793 | } | ||
794 | #endif | ||
795 | |||
diff --git a/arch/sparc64/solaris/socksys.c b/arch/sparc64/solaris/socksys.c index bc3df95bc057..7c90e41fd3be 100644 --- a/arch/sparc64/solaris/socksys.c +++ b/arch/sparc64/solaris/socksys.c | |||
@@ -168,8 +168,7 @@ static struct file_operations socksys_fops = { | |||
168 | .release = socksys_release, | 168 | .release = socksys_release, |
169 | }; | 169 | }; |
170 | 170 | ||
171 | int __init | 171 | int __init init_socksys(void) |
172 | init_socksys(void) | ||
173 | { | 172 | { |
174 | int ret; | 173 | int ret; |
175 | struct file * file; | 174 | struct file * file; |
@@ -199,8 +198,7 @@ init_socksys(void) | |||
199 | return 0; | 198 | return 0; |
200 | } | 199 | } |
201 | 200 | ||
202 | void | 201 | void __exit cleanup_socksys(void) |
203 | cleanup_socksys(void) | ||
204 | { | 202 | { |
205 | if (unregister_chrdev(30, "socksys")) | 203 | if (unregister_chrdev(30, "socksys")) |
206 | printk ("Couldn't unregister socksys character device\n"); | 204 | printk ("Couldn't unregister socksys character device\n"); |
diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c index 77670741e101..feb42db10ee1 100644 --- a/drivers/net/sunlance.c +++ b/drivers/net/sunlance.c | |||
@@ -1323,9 +1323,9 @@ static const struct ethtool_ops sparc_lance_ethtool_ops = { | |||
1323 | .get_link = sparc_lance_get_link, | 1323 | .get_link = sparc_lance_get_link, |
1324 | }; | 1324 | }; |
1325 | 1325 | ||
1326 | static int __init sparc_lance_probe_one(struct sbus_dev *sdev, | 1326 | static int __devinit sparc_lance_probe_one(struct sbus_dev *sdev, |
1327 | struct sbus_dma *ledma, | 1327 | struct sbus_dma *ledma, |
1328 | struct sbus_dev *lebuffer) | 1328 | struct sbus_dev *lebuffer) |
1329 | { | 1329 | { |
1330 | static unsigned version_printed; | 1330 | static unsigned version_printed; |
1331 | struct net_device *dev; | 1331 | struct net_device *dev; |
@@ -1515,7 +1515,7 @@ fail: | |||
1515 | } | 1515 | } |
1516 | 1516 | ||
1517 | /* On 4m, find the associated dma for the lance chip */ | 1517 | /* On 4m, find the associated dma for the lance chip */ |
1518 | static inline struct sbus_dma *find_ledma(struct sbus_dev *sdev) | 1518 | static struct sbus_dma * __devinit find_ledma(struct sbus_dev *sdev) |
1519 | { | 1519 | { |
1520 | struct sbus_dma *p; | 1520 | struct sbus_dma *p; |
1521 | 1521 | ||
@@ -1533,7 +1533,7 @@ static inline struct sbus_dma *find_ledma(struct sbus_dev *sdev) | |||
1533 | 1533 | ||
1534 | /* Find all the lance cards on the system and initialize them */ | 1534 | /* Find all the lance cards on the system and initialize them */ |
1535 | static struct sbus_dev sun4_sdev; | 1535 | static struct sbus_dev sun4_sdev; |
1536 | static int __init sparc_lance_init(void) | 1536 | static int __devinit sparc_lance_init(void) |
1537 | { | 1537 | { |
1538 | if ((idprom->id_machtype == (SM_SUN4|SM_4_330)) || | 1538 | if ((idprom->id_machtype == (SM_SUN4|SM_4_330)) || |
1539 | (idprom->id_machtype == (SM_SUN4|SM_4_470))) { | 1539 | (idprom->id_machtype == (SM_SUN4|SM_4_470))) { |
diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c index 2bd8e40b8541..be0bd503f013 100644 --- a/sound/sparc/amd7930.c +++ b/sound/sparc/amd7930.c | |||
@@ -755,7 +755,7 @@ static struct snd_pcm_ops snd_amd7930_capture_ops = { | |||
755 | .pointer = snd_amd7930_capture_pointer, | 755 | .pointer = snd_amd7930_capture_pointer, |
756 | }; | 756 | }; |
757 | 757 | ||
758 | static int __init snd_amd7930_pcm(struct snd_amd7930 *amd) | 758 | static int __devinit snd_amd7930_pcm(struct snd_amd7930 *amd) |
759 | { | 759 | { |
760 | struct snd_pcm *pcm; | 760 | struct snd_pcm *pcm; |
761 | int err; | 761 | int err; |
@@ -870,7 +870,7 @@ static int snd_amd7930_put_volume(struct snd_kcontrol *kctl, struct snd_ctl_elem | |||
870 | return change; | 870 | return change; |
871 | } | 871 | } |
872 | 872 | ||
873 | static struct snd_kcontrol_new amd7930_controls[] __initdata = { | 873 | static struct snd_kcontrol_new amd7930_controls[] __devinitdata = { |
874 | { | 874 | { |
875 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, | 875 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, |
876 | .name = "Monitor Volume", | 876 | .name = "Monitor Volume", |
@@ -900,7 +900,7 @@ static struct snd_kcontrol_new amd7930_controls[] __initdata = { | |||
900 | }, | 900 | }, |
901 | }; | 901 | }; |
902 | 902 | ||
903 | static int __init snd_amd7930_mixer(struct snd_amd7930 *amd) | 903 | static int __devinit snd_amd7930_mixer(struct snd_amd7930 *amd) |
904 | { | 904 | { |
905 | struct snd_card *card; | 905 | struct snd_card *card; |
906 | int idx, err; | 906 | int idx, err; |
@@ -945,11 +945,11 @@ static struct snd_device_ops snd_amd7930_dev_ops = { | |||
945 | .dev_free = snd_amd7930_dev_free, | 945 | .dev_free = snd_amd7930_dev_free, |
946 | }; | 946 | }; |
947 | 947 | ||
948 | static int __init snd_amd7930_create(struct snd_card *card, | 948 | static int __devinit snd_amd7930_create(struct snd_card *card, |
949 | struct resource *rp, | 949 | struct resource *rp, |
950 | unsigned int reg_size, | 950 | unsigned int reg_size, |
951 | int irq, int dev, | 951 | int irq, int dev, |
952 | struct snd_amd7930 **ramd) | 952 | struct snd_amd7930 **ramd) |
953 | { | 953 | { |
954 | unsigned long flags; | 954 | unsigned long flags; |
955 | struct snd_amd7930 *amd; | 955 | struct snd_amd7930 *amd; |
@@ -1013,7 +1013,7 @@ static int __init snd_amd7930_create(struct snd_card *card, | |||
1013 | return 0; | 1013 | return 0; |
1014 | } | 1014 | } |
1015 | 1015 | ||
1016 | static int __init amd7930_attach_common(struct resource *rp, int irq) | 1016 | static int __devinit amd7930_attach_common(struct resource *rp, int irq) |
1017 | { | 1017 | { |
1018 | static int dev_num; | 1018 | static int dev_num; |
1019 | struct snd_card *card; | 1019 | struct snd_card *card; |
@@ -1065,7 +1065,7 @@ out_err: | |||
1065 | return err; | 1065 | return err; |
1066 | } | 1066 | } |
1067 | 1067 | ||
1068 | static int __init amd7930_obio_attach(struct device_node *dp) | 1068 | static int __devinit amd7930_obio_attach(struct device_node *dp) |
1069 | { | 1069 | { |
1070 | struct linux_prom_registers *regs; | 1070 | struct linux_prom_registers *regs; |
1071 | struct linux_prom_irqs *irqp; | 1071 | struct linux_prom_irqs *irqp; |