diff options
Diffstat (limited to 'arch/sparc')
| -rw-r--r-- | arch/sparc/include/asm/pcr.h | 2 | ||||
| -rw-r--r-- | arch/sparc/kernel/iommu.c | 5 | ||||
| -rw-r--r-- | arch/sparc/kernel/pcr.c | 2 | ||||
| -rw-r--r-- | arch/sparc/kernel/smp_64.c | 2 | ||||
| -rw-r--r-- | arch/sparc/kernel/una_asm_32.S | 4 | ||||
| -rw-r--r-- | arch/sparc/lib/bitext.c | 5 | 
6 files changed, 10 insertions, 10 deletions
diff --git a/arch/sparc/include/asm/pcr.h b/arch/sparc/include/asm/pcr.h index a2f5c61f924..843e4faf6a5 100644 --- a/arch/sparc/include/asm/pcr.h +++ b/arch/sparc/include/asm/pcr.h @@ -43,4 +43,6 @@ static inline u64 picl_value(unsigned int nmi_hz)  extern u64 pcr_enable; +extern int pcr_arch_init(void); +  #endif /* __PCR_H */ diff --git a/arch/sparc/kernel/iommu.c b/arch/sparc/kernel/iommu.c index 47977a77f6c..72509d0e34b 100644 --- a/arch/sparc/kernel/iommu.c +++ b/arch/sparc/kernel/iommu.c @@ -255,10 +255,9 @@ static inline iopte_t *alloc_npages(struct device *dev, struct iommu *iommu,  static int iommu_alloc_ctx(struct iommu *iommu)  {  	int lowest = iommu->ctx_lowest_free; -	int sz = IOMMU_NUM_CTXS - lowest; -	int n = find_next_zero_bit(iommu->ctx_bitmap, sz, lowest); +	int n = find_next_zero_bit(iommu->ctx_bitmap, IOMMU_NUM_CTXS, lowest); -	if (unlikely(n == sz)) { +	if (unlikely(n == IOMMU_NUM_CTXS)) {  		n = find_next_zero_bit(iommu->ctx_bitmap, lowest, 1);  		if (unlikely(n == lowest)) {  			printk(KERN_WARNING "IOMMU: Ran out of contexts.\n"); diff --git a/arch/sparc/kernel/pcr.c b/arch/sparc/kernel/pcr.c index ae96cf52a95..7c2ced612b8 100644 --- a/arch/sparc/kernel/pcr.c +++ b/arch/sparc/kernel/pcr.c @@ -167,5 +167,3 @@ out_unregister:  	unregister_perf_hsvc();  	return err;  } - -early_initcall(pcr_arch_init); diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index b6a2b8f4704..555a76d1f4a 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c @@ -49,6 +49,7 @@  #include <asm/mdesc.h>  #include <asm/ldc.h>  #include <asm/hypervisor.h> +#include <asm/pcr.h>  #include "cpumap.h" @@ -1358,6 +1359,7 @@ void __cpu_die(unsigned int cpu)  void __init smp_cpus_done(unsigned int max_cpus)  { +	pcr_arch_init();  }  void smp_send_reschedule(int cpu) diff --git a/arch/sparc/kernel/una_asm_32.S b/arch/sparc/kernel/una_asm_32.S index 8cc03458eb7..8f096e84a93 100644 --- a/arch/sparc/kernel/una_asm_32.S +++ b/arch/sparc/kernel/una_asm_32.S @@ -24,9 +24,9 @@ retl_efault:  	.globl	__do_int_store  __do_int_store:  	ld	[%o2], %g1 -	cmp	%1, 2 +	cmp	%o1, 2  	be	2f -	 cmp	%1, 4 +	 cmp	%o1, 4  	be	1f  	 srl	%g1, 24, %g2  	srl	%g1, 16, %g7 diff --git a/arch/sparc/lib/bitext.c b/arch/sparc/lib/bitext.c index 764b3eb7b60..48d00e72ce1 100644 --- a/arch/sparc/lib/bitext.c +++ b/arch/sparc/lib/bitext.c @@ -10,7 +10,7 @@   */  #include <linux/string.h> -#include <linux/bitops.h> +#include <linux/bitmap.h>  #include <asm/bitext.h> @@ -80,8 +80,7 @@ int bit_map_string_get(struct bit_map *t, int len, int align)  		while (test_bit(offset + i, t->map) == 0) {  			i++;  			if (i == len) { -				for (i = 0; i < len; i++) -					__set_bit(offset + i, t->map); +				bitmap_set(t->map, offset, len);  				if (offset == t->first_free)  					t->first_free = find_next_zero_bit  							(t->map, t->size,  |