aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sparc/kernel/ioport.c12
-rw-r--r--arch/sparc64/kernel/sbus.c5
-rw-r--r--drivers/sbus/sbus.c3
3 files changed, 3 insertions, 17 deletions
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c
index e6177dde103b..24645f9f56f5 100644
--- a/arch/sparc/kernel/ioport.c
+++ b/arch/sparc/kernel/ioport.c
@@ -393,21 +393,15 @@ void __init sbus_setup_iommu(struct sbus_bus *sbus, struct device_node *dp)
393#endif 393#endif
394} 394}
395 395
396int __init sbus_arch_preinit(void) 396static int __init sparc_register_ioport(void)
397{ 397{
398 register_proc_sparc_ioport(); 398 register_proc_sparc_ioport();
399 399
400#ifdef CONFIG_SUN4
401 {
402 extern void sun4_dvma_init(void);
403 sun4_dvma_init();
404 }
405 return 1;
406#else
407 return 0; 400 return 0;
408#endif
409} 401}
410 402
403arch_initcall(sparc_register_ioport);
404
411void __init sbus_arch_postinit(void) 405void __init sbus_arch_postinit(void)
412{ 406{
413 if (sparc_cpu_model == sun4d) { 407 if (sparc_cpu_model == sun4d) {
diff --git a/arch/sparc64/kernel/sbus.c b/arch/sparc64/kernel/sbus.c
index 0193e3823196..0b3e7bc96f61 100644
--- a/arch/sparc64/kernel/sbus.c
+++ b/arch/sparc64/kernel/sbus.c
@@ -655,11 +655,6 @@ void __init sbus_setup_iommu(struct sbus_bus *sbus, struct device_node *dp)
655 sbus_iommu_init(dp->node, sbus); 655 sbus_iommu_init(dp->node, sbus);
656} 656}
657 657
658int __init sbus_arch_preinit(void)
659{
660 return 0;
661}
662
663void __init sbus_arch_postinit(void) 658void __init sbus_arch_postinit(void)
664{ 659{
665 extern void firetruck_init(void); 660 extern void firetruck_init(void);
diff --git a/drivers/sbus/sbus.c b/drivers/sbus/sbus.c
index 64c3e45875ff..399567b7e15e 100644
--- a/drivers/sbus/sbus.c
+++ b/drivers/sbus/sbus.c
@@ -153,9 +153,6 @@ static int __init sbus_init(void)
153 const char *sbus_name = "sbus"; 153 const char *sbus_name = "sbus";
154 int num_sbus = 0; 154 int num_sbus = 0;
155 155
156 if (sbus_arch_preinit())
157 return 0;
158
159 if (sparc_cpu_model == sun4d) 156 if (sparc_cpu_model == sun4d)
160 sbus_name = "sbi"; 157 sbus_name = "sbi";
161 158
*) arg)) return -EFAULT; handle = ext3_journal_start(inode, 1); if (IS_ERR(handle)) return PTR_ERR(handle); err = ext3_reserve_inode_write(handle, inode, &iloc); if (err == 0) { inode->i_ctime = CURRENT_TIME_SEC; inode->i_generation = generation; err = ext3_mark_iloc_dirty(handle, inode, &iloc); } ext3_journal_stop(handle); return err; } #ifdef CONFIG_JBD_DEBUG case EXT3_IOC_WAIT_FOR_READONLY: /* * This is racy - by the time we're woken up and running, * the superblock could be released. And the module could * have been unloaded. So sue me. * * Returns 1 if it slept, else zero. */ { struct super_block *sb = inode->i_sb; DECLARE_WAITQUEUE(wait, current); int ret = 0; set_current_state(TASK_INTERRUPTIBLE); add_wait_queue(&EXT3_SB(sb)->ro_wait_queue, &wait); if (timer_pending(&EXT3_SB(sb)->turn_ro_timer)) { schedule(); ret = 1; } remove_wait_queue(&EXT3_SB(sb)->ro_wait_queue, &wait); return ret; } #endif case EXT3_IOC_GETRSVSZ: if (test_opt(inode->i_sb, RESERVATION) && S_ISREG(inode->i_mode) && ei->i_block_alloc_info) { rsv_window_size = ei->i_block_alloc_info->rsv_window_node.rsv_goal_size; return put_user(rsv_window_size, (int __user *)arg); } return -ENOTTY; case EXT3_IOC_SETRSVSZ: { if (!test_opt(inode->i_sb, RESERVATION) ||!S_ISREG(inode->i_mode)) return -ENOTTY; if (IS_RDONLY(inode)) return -EROFS; if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER)) return -EACCES; if (get_user(rsv_window_size, (int __user *)arg)) return -EFAULT; if (rsv_window_size > EXT3_MAX_RESERVE_BLOCKS) rsv_window_size = EXT3_MAX_RESERVE_BLOCKS; /* * need to allocate reservation structure for this inode * before set the window size */ down(&ei->truncate_sem); if (!ei->i_block_alloc_info) ext3_init_block_alloc_info(inode); if (ei->i_block_alloc_info){ struct ext3_reserve_window_node *rsv = &ei->i_block_alloc_info->rsv_window_node; rsv->rsv_goal_size = rsv_window_size; } up(&ei->truncate_sem); return 0; } case EXT3_IOC_GROUP_EXTEND: { unsigned long n_blocks_count; struct super_block *sb = inode->i_sb; int err; if (!capable(CAP_SYS_RESOURCE)) return -EPERM; if (IS_RDONLY(inode)) return -EROFS; if (get_user(n_blocks_count, (__u32 __user *)arg))