diff options
Diffstat (limited to 'arch/ia64/sn/kernel')
| -rw-r--r-- | arch/ia64/sn/kernel/io_common.c | 7 | ||||
| -rw-r--r-- | arch/ia64/sn/kernel/irq.c | 3 | ||||
| -rw-r--r-- | arch/ia64/sn/kernel/sn2/prominfo_proc.c | 32 | ||||
| -rw-r--r-- | arch/ia64/sn/kernel/sn2/sn_proc_fs.c | 62 | 
4 files changed, 14 insertions, 90 deletions
| diff --git a/arch/ia64/sn/kernel/io_common.c b/arch/ia64/sn/kernel/io_common.c index 11f2275570fb..102aabad6d20 100644 --- a/arch/ia64/sn/kernel/io_common.c +++ b/arch/ia64/sn/kernel/io_common.c @@ -132,7 +132,7 @@ static s64 sn_device_fixup_war(u64 nasid, u64 widget, int device,  	printk_once(KERN_WARNING  		"PROM version < 4.50 -- implementing old PROM flush WAR\n"); -	war_list = kzalloc(DEV_PER_WIDGET * sizeof(*war_list), GFP_KERNEL); +	war_list = kcalloc(DEV_PER_WIDGET, sizeof(*war_list), GFP_KERNEL);  	BUG_ON(!war_list);  	SAL_CALL_NOLOCK(isrv, SN_SAL_IOIF_GET_WIDGET_DMAFLUSH_LIST, @@ -480,11 +480,6 @@ sn_io_early_init(void)  	tioca_init_provider();  	tioce_init_provider(); -	/* -	 * This is needed to avoid bounce limit checks in the blk layer -	 */ -	ia64_max_iommu_merge_mask = ~PAGE_MASK; -  	sn_irq_lh_init();  	INIT_LIST_HEAD(&sn_sysdata_list);  	sn_init_cpei_timer(); diff --git a/arch/ia64/sn/kernel/irq.c b/arch/ia64/sn/kernel/irq.c index 85d095154902..d9b576df4f82 100644 --- a/arch/ia64/sn/kernel/irq.c +++ b/arch/ia64/sn/kernel/irq.c @@ -474,7 +474,8 @@ void __init sn_irq_lh_init(void)  {  	int i; -	sn_irq_lh = kmalloc(sizeof(struct list_head *) * NR_IRQS, GFP_KERNEL); +	sn_irq_lh = kmalloc_array(NR_IRQS, sizeof(struct list_head *), +				  GFP_KERNEL);  	if (!sn_irq_lh)  		panic("SN PCI INIT: Failed to allocate memory for PCI init\n"); diff --git a/arch/ia64/sn/kernel/sn2/prominfo_proc.c b/arch/ia64/sn/kernel/sn2/prominfo_proc.c index ec4de2b09653..e15457bf21ac 100644 --- a/arch/ia64/sn/kernel/sn2/prominfo_proc.c +++ b/arch/ia64/sn/kernel/sn2/prominfo_proc.c @@ -140,18 +140,6 @@ static int proc_fit_show(struct seq_file *m, void *v)  	return 0;  } -static int proc_fit_open(struct inode *inode, struct file *file) -{ -	return single_open(file, proc_fit_show, PDE_DATA(inode)); -} - -static const struct file_operations proc_fit_fops = { -	.open		= proc_fit_open, -	.read		= seq_read, -	.llseek		= seq_lseek, -	.release	= single_release, -}; -  static int proc_version_show(struct seq_file *m, void *v)  {  	unsigned long nasid = (unsigned long)m->private; @@ -174,18 +162,6 @@ static int proc_version_show(struct seq_file *m, void *v)  	return 0;  } -static int proc_version_open(struct inode *inode, struct file *file) -{ -	return single_open(file, proc_version_show, PDE_DATA(inode)); -} - -static const struct file_operations proc_version_fops = { -	.open		= proc_version_open, -	.read		= seq_read, -	.llseek		= seq_lseek, -	.release	= single_release, -}; -  /* module entry points */  int __init prominfo_init(void);  void __exit prominfo_exit(void); @@ -217,10 +193,10 @@ int __init prominfo_init(void)  		if (!dir)  			continue;  		nasid = cnodeid_to_nasid(cnodeid); -		proc_create_data("fit", 0, dir, -				 &proc_fit_fops, (void *)nasid); -		proc_create_data("version", 0, dir, -				 &proc_version_fops, (void *)nasid); +		proc_create_single_data("fit", 0, dir, proc_fit_show,  +				(void *)nasid); +		proc_create_single_data("version", 0, dir, proc_version_show, +				(void *)nasid);  	}  	return 0;  } diff --git a/arch/ia64/sn/kernel/sn2/sn_proc_fs.c b/arch/ia64/sn/kernel/sn2/sn_proc_fs.c index 29cf8f8c08e9..c2a4d84297b0 100644 --- a/arch/ia64/sn/kernel/sn2/sn_proc_fs.c +++ b/arch/ia64/sn/kernel/sn2/sn_proc_fs.c @@ -18,33 +18,18 @@ static int partition_id_show(struct seq_file *s, void *p)  	return 0;  } -static int partition_id_open(struct inode *inode, struct file *file) -{ -	return single_open(file, partition_id_show, NULL); -} -  static int system_serial_number_show(struct seq_file *s, void *p)  {  	seq_printf(s, "%s\n", sn_system_serial_number());  	return 0;  } -static int system_serial_number_open(struct inode *inode, struct file *file) -{ -	return single_open(file, system_serial_number_show, NULL); -} -  static int licenseID_show(struct seq_file *s, void *p)  {  	seq_printf(s, "0x%llx\n", sn_partition_serial_number_val());  	return 0;  } -static int licenseID_open(struct inode *inode, struct file *file) -{ -	return single_open(file, licenseID_show, NULL); -} -  static int coherence_id_show(struct seq_file *s, void *p)  {  	seq_printf(s, "%d\n", partition_coherence_id()); @@ -52,43 +37,10 @@ static int coherence_id_show(struct seq_file *s, void *p)  	return 0;  } -static int coherence_id_open(struct inode *inode, struct file *file) -{ -	return single_open(file, coherence_id_show, NULL); -} -  /* /proc/sgi_sn/sn_topology uses seq_file, see sn_hwperf.c */  extern int sn_topology_open(struct inode *, struct file *);  extern int sn_topology_release(struct inode *, struct file *); -static const struct file_operations proc_partition_id_fops = { -	.open		= partition_id_open, -	.read		= seq_read, -	.llseek		= seq_lseek, -	.release	= single_release, -}; - -static const struct file_operations proc_system_sn_fops = { -	.open		= system_serial_number_open, -	.read		= seq_read, -	.llseek		= seq_lseek, -	.release	= single_release, -}; - -static const struct file_operations proc_license_id_fops = { -	.open		= licenseID_open, -	.read		= seq_read, -	.llseek		= seq_lseek, -	.release	= single_release, -}; - -static const struct file_operations proc_coherence_id_fops = { -	.open		= coherence_id_open, -	.read		= seq_read, -	.llseek		= seq_lseek, -	.release	= single_release, -}; -  static const struct file_operations proc_sn_topo_fops = {  	.open		= sn_topology_open,  	.read		= seq_read, @@ -104,13 +56,13 @@ void register_sn_procfs(void)  	if (!(sgi_proc_dir = proc_mkdir("sgi_sn", NULL)))  		return; -	proc_create("partition_id", 0444, sgi_proc_dir, -		    &proc_partition_id_fops); -	proc_create("system_serial_number", 0444, sgi_proc_dir, -		    &proc_system_sn_fops); -	proc_create("licenseID", 0444, sgi_proc_dir, &proc_license_id_fops); -	proc_create("coherence_id", 0444, sgi_proc_dir, -		    &proc_coherence_id_fops); +	proc_create_single("partition_id", 0444, sgi_proc_dir, +			partition_id_show); +	proc_create_single("system_serial_number", 0444, sgi_proc_dir, +			system_serial_number_show); +	proc_create_single("licenseID", 0444, sgi_proc_dir, licenseID_show); +	proc_create_single("coherence_id", 0444, sgi_proc_dir, +			coherence_id_show);  	proc_create("sn_topology", 0444, sgi_proc_dir, &proc_sn_topo_fops);  } |