Commit 7b29122f authored by Linus Torvalds's avatar Linus Torvalds

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.
parents b7de567b be5b6d3d
...@@ -736,20 +736,15 @@ struct exec_domain solaris_exec_domain = { ...@@ -736,20 +736,15 @@ struct exec_domain solaris_exec_domain = {
extern int init_socksys(void); extern int init_socksys(void);
#ifdef MODULE
MODULE_AUTHOR("Jakub Jelinek (jj@ultra.linux.cz), Patrik Rak (prak3264@ss1000.ms.mff.cuni.cz)"); MODULE_AUTHOR("Jakub Jelinek (jj@ultra.linux.cz), Patrik Rak (prak3264@ss1000.ms.mff.cuni.cz)");
MODULE_DESCRIPTION("Solaris binary emulation module"); MODULE_DESCRIPTION("Solaris binary emulation module");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
#ifdef __sparc_v9__
extern u32 tl0_solaris[8]; extern u32 tl0_solaris[8];
#define update_ttable(x) \ #define update_ttable(x) \
tl0_solaris[3] = (((long)(x) - (long)tl0_solaris - 3) >> 2) | 0x40000000; \ tl0_solaris[3] = (((long)(x) - (long)tl0_solaris - 3) >> 2) | 0x40000000; \
wmb(); \ wmb(); \
__asm__ __volatile__ ("flush %0" : : "r" (&tl0_solaris[3])) __asm__ __volatile__ ("flush %0" : : "r" (&tl0_solaris[3]))
#else
#endif
extern u32 solaris_sparc_syscall[]; extern u32 solaris_sparc_syscall[];
extern u32 solaris_syscall[]; extern u32 solaris_syscall[];
...@@ -757,7 +752,7 @@ extern void cleanup_socksys(void); ...@@ -757,7 +752,7 @@ extern void cleanup_socksys(void);
extern u32 entry64_personality_patch; extern u32 entry64_personality_patch;
int init_module(void) static int __init solaris_init(void)
{ {
int ret; int ret;
...@@ -777,19 +772,12 @@ int init_module(void) ...@@ -777,19 +772,12 @@ int init_module(void)
return 0; return 0;
} }
void cleanup_module(void) static void __exit solaris_exit(void)
{ {
update_ttable(solaris_syscall); update_ttable(solaris_syscall);
cleanup_socksys(); cleanup_socksys();
unregister_exec_domain(&solaris_exec_domain); unregister_exec_domain(&solaris_exec_domain);
} }
#else module_init(solaris_init);
int init_solaris_emul(void) module_exit(solaris_exit);
{
register_exec_domain(&solaris_exec_domain);
init_socksys();
return 0;
}
#endif
...@@ -168,8 +168,7 @@ static struct file_operations socksys_fops = { ...@@ -168,8 +168,7 @@ static struct file_operations socksys_fops = {
.release = socksys_release, .release = socksys_release,
}; };
int __init int __init init_socksys(void)
init_socksys(void)
{ {
int ret; int ret;
struct file * file; struct file * file;
...@@ -199,8 +198,7 @@ init_socksys(void) ...@@ -199,8 +198,7 @@ init_socksys(void)
return 0; return 0;
} }
void void __exit cleanup_socksys(void)
cleanup_socksys(void)
{ {
if (unregister_chrdev(30, "socksys")) if (unregister_chrdev(30, "socksys"))
printk ("Couldn't unregister socksys character device\n"); printk ("Couldn't unregister socksys character device\n");
......
...@@ -1323,7 +1323,7 @@ static const struct ethtool_ops sparc_lance_ethtool_ops = { ...@@ -1323,7 +1323,7 @@ static const struct ethtool_ops sparc_lance_ethtool_ops = {
.get_link = sparc_lance_get_link, .get_link = sparc_lance_get_link,
}; };
static int __init sparc_lance_probe_one(struct sbus_dev *sdev, static int __devinit sparc_lance_probe_one(struct sbus_dev *sdev,
struct sbus_dma *ledma, struct sbus_dma *ledma,
struct sbus_dev *lebuffer) struct sbus_dev *lebuffer)
{ {
...@@ -1515,7 +1515,7 @@ static int __init sparc_lance_probe_one(struct sbus_dev *sdev, ...@@ -1515,7 +1515,7 @@ static int __init sparc_lance_probe_one(struct sbus_dev *sdev,
} }
/* On 4m, find the associated dma for the lance chip */ /* On 4m, find the associated dma for the lance chip */
static inline struct sbus_dma *find_ledma(struct sbus_dev *sdev) static struct sbus_dma * __devinit find_ledma(struct sbus_dev *sdev)
{ {
struct sbus_dma *p; struct sbus_dma *p;
...@@ -1533,7 +1533,7 @@ static inline struct sbus_dma *find_ledma(struct sbus_dev *sdev) ...@@ -1533,7 +1533,7 @@ static inline struct sbus_dma *find_ledma(struct sbus_dev *sdev)
/* Find all the lance cards on the system and initialize them */ /* Find all the lance cards on the system and initialize them */
static struct sbus_dev sun4_sdev; static struct sbus_dev sun4_sdev;
static int __init sparc_lance_init(void) static int __devinit sparc_lance_init(void)
{ {
if ((idprom->id_machtype == (SM_SUN4|SM_4_330)) || if ((idprom->id_machtype == (SM_SUN4|SM_4_330)) ||
(idprom->id_machtype == (SM_SUN4|SM_4_470))) { (idprom->id_machtype == (SM_SUN4|SM_4_470))) {
......
...@@ -755,7 +755,7 @@ static struct snd_pcm_ops snd_amd7930_capture_ops = { ...@@ -755,7 +755,7 @@ static struct snd_pcm_ops snd_amd7930_capture_ops = {
.pointer = snd_amd7930_capture_pointer, .pointer = snd_amd7930_capture_pointer,
}; };
static int __init snd_amd7930_pcm(struct snd_amd7930 *amd) static int __devinit snd_amd7930_pcm(struct snd_amd7930 *amd)
{ {
struct snd_pcm *pcm; struct snd_pcm *pcm;
int err; int err;
...@@ -870,7 +870,7 @@ static int snd_amd7930_put_volume(struct snd_kcontrol *kctl, struct snd_ctl_elem ...@@ -870,7 +870,7 @@ static int snd_amd7930_put_volume(struct snd_kcontrol *kctl, struct snd_ctl_elem
return change; return change;
} }
static struct snd_kcontrol_new amd7930_controls[] __initdata = { static struct snd_kcontrol_new amd7930_controls[] __devinitdata = {
{ {
.iface = SNDRV_CTL_ELEM_IFACE_MIXER, .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.name = "Monitor Volume", .name = "Monitor Volume",
...@@ -900,7 +900,7 @@ static struct snd_kcontrol_new amd7930_controls[] __initdata = { ...@@ -900,7 +900,7 @@ static struct snd_kcontrol_new amd7930_controls[] __initdata = {
}, },
}; };
static int __init snd_amd7930_mixer(struct snd_amd7930 *amd) static int __devinit snd_amd7930_mixer(struct snd_amd7930 *amd)
{ {
struct snd_card *card; struct snd_card *card;
int idx, err; int idx, err;
...@@ -945,7 +945,7 @@ static struct snd_device_ops snd_amd7930_dev_ops = { ...@@ -945,7 +945,7 @@ static struct snd_device_ops snd_amd7930_dev_ops = {
.dev_free = snd_amd7930_dev_free, .dev_free = snd_amd7930_dev_free,
}; };
static int __init snd_amd7930_create(struct snd_card *card, static int __devinit snd_amd7930_create(struct snd_card *card,
struct resource *rp, struct resource *rp,
unsigned int reg_size, unsigned int reg_size,
int irq, int dev, int irq, int dev,
...@@ -1013,7 +1013,7 @@ static int __init snd_amd7930_create(struct snd_card *card, ...@@ -1013,7 +1013,7 @@ static int __init snd_amd7930_create(struct snd_card *card,
return 0; return 0;
} }
static int __init amd7930_attach_common(struct resource *rp, int irq) static int __devinit amd7930_attach_common(struct resource *rp, int irq)
{ {
static int dev_num; static int dev_num;
struct snd_card *card; struct snd_card *card;
...@@ -1065,7 +1065,7 @@ static int __init amd7930_attach_common(struct resource *rp, int irq) ...@@ -1065,7 +1065,7 @@ static int __init amd7930_attach_common(struct resource *rp, int irq)
return err; return err;
} }
static int __init amd7930_obio_attach(struct device_node *dp) static int __devinit amd7930_obio_attach(struct device_node *dp)
{ {
struct linux_prom_registers *regs; struct linux_prom_registers *regs;
struct linux_prom_irqs *irqp; struct linux_prom_irqs *irqp;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment