diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/powerpc/include/asm/pmac_feature.h | 2 | ||||
| -rw-r--r-- | arch/powerpc/platforms/powermac/feature.c | 6 | ||||
| -rw-r--r-- | arch/powerpc/platforms/powermac/pfunc_base.c | 24 |
3 files changed, 16 insertions, 16 deletions
diff --git a/arch/powerpc/include/asm/pmac_feature.h b/arch/powerpc/include/asm/pmac_feature.h index 877c35a4356e..00eedc5a4e61 100644 --- a/arch/powerpc/include/asm/pmac_feature.h +++ b/arch/powerpc/include/asm/pmac_feature.h | |||
| @@ -378,7 +378,7 @@ extern struct macio_chip* macio_find(struct device_node* child, int type); | |||
| 378 | * Those are exported by pmac feature for internal use by arch code | 378 | * Those are exported by pmac feature for internal use by arch code |
| 379 | * only like the platform function callbacks, do not use directly in drivers | 379 | * only like the platform function callbacks, do not use directly in drivers |
| 380 | */ | 380 | */ |
| 381 | extern spinlock_t feature_lock; | 381 | extern raw_spinlock_t feature_lock; |
| 382 | extern struct device_node *uninorth_node; | 382 | extern struct device_node *uninorth_node; |
| 383 | extern u32 __iomem *uninorth_base; | 383 | extern u32 __iomem *uninorth_base; |
| 384 | 384 | ||
diff --git a/arch/powerpc/platforms/powermac/feature.c b/arch/powerpc/platforms/powermac/feature.c index fbc9bbd74dbd..424b633fbe0d 100644 --- a/arch/powerpc/platforms/powermac/feature.c +++ b/arch/powerpc/platforms/powermac/feature.c | |||
| @@ -59,10 +59,10 @@ extern struct device_node *k2_skiplist[2]; | |||
| 59 | * We use a single global lock to protect accesses. Each driver has | 59 | * We use a single global lock to protect accesses. Each driver has |
| 60 | * to take care of its own locking | 60 | * to take care of its own locking |
| 61 | */ | 61 | */ |
| 62 | DEFINE_SPINLOCK(feature_lock); | 62 | DEFINE_RAW_SPINLOCK(feature_lock); |
| 63 | 63 | ||
| 64 | #define LOCK(flags) spin_lock_irqsave(&feature_lock, flags); | 64 | #define LOCK(flags) raw_spin_lock_irqsave(&feature_lock, flags); |
| 65 | #define UNLOCK(flags) spin_unlock_irqrestore(&feature_lock, flags); | 65 | #define UNLOCK(flags) raw_spin_unlock_irqrestore(&feature_lock, flags); |
| 66 | 66 | ||
| 67 | 67 | ||
| 68 | /* | 68 | /* |
diff --git a/arch/powerpc/platforms/powermac/pfunc_base.c b/arch/powerpc/platforms/powermac/pfunc_base.c index db20de512f3e..f5e3cda6660e 100644 --- a/arch/powerpc/platforms/powermac/pfunc_base.c +++ b/arch/powerpc/platforms/powermac/pfunc_base.c | |||
| @@ -50,13 +50,13 @@ static int macio_do_gpio_write(PMF_STD_ARGS, u8 value, u8 mask) | |||
| 50 | value = ~value; | 50 | value = ~value; |
| 51 | 51 | ||
| 52 | /* Toggle the GPIO */ | 52 | /* Toggle the GPIO */ |
| 53 | spin_lock_irqsave(&feature_lock, flags); | 53 | raw_spin_lock_irqsave(&feature_lock, flags); |
| 54 | tmp = readb(addr); | 54 | tmp = readb(addr); |
| 55 | tmp = (tmp & ~mask) | (value & mask); | 55 | tmp = (tmp & ~mask) | (value & mask); |
| 56 | DBG("Do write 0x%02x to GPIO %s (%p)\n", | 56 | DBG("Do write 0x%02x to GPIO %s (%p)\n", |
| 57 | tmp, func->node->full_name, addr); | 57 | tmp, func->node->full_name, addr); |
| 58 | writeb(tmp, addr); | 58 | writeb(tmp, addr); |
| 59 | spin_unlock_irqrestore(&feature_lock, flags); | 59 | raw_spin_unlock_irqrestore(&feature_lock, flags); |
| 60 | 60 | ||
| 61 | return 0; | 61 | return 0; |
| 62 | } | 62 | } |
| @@ -145,9 +145,9 @@ static int macio_do_write_reg32(PMF_STD_ARGS, u32 offset, u32 value, u32 mask) | |||
| 145 | struct macio_chip *macio = func->driver_data; | 145 | struct macio_chip *macio = func->driver_data; |
| 146 | unsigned long flags; | 146 | unsigned long flags; |
| 147 | 147 | ||
| 148 | spin_lock_irqsave(&feature_lock, flags); | 148 | raw_spin_lock_irqsave(&feature_lock, flags); |
| 149 | MACIO_OUT32(offset, (MACIO_IN32(offset) & ~mask) | (value & mask)); | 149 | MACIO_OUT32(offset, (MACIO_IN32(offset) & ~mask) | (value & mask)); |
| 150 | spin_unlock_irqrestore(&feature_lock, flags); | 150 | raw_spin_unlock_irqrestore(&feature_lock, flags); |
| 151 | return 0; | 151 | return 0; |
| 152 | } | 152 | } |
| 153 | 153 | ||
| @@ -168,9 +168,9 @@ static int macio_do_write_reg8(PMF_STD_ARGS, u32 offset, u8 value, u8 mask) | |||
| 168 | struct macio_chip *macio = func->driver_data; | 168 | struct macio_chip *macio = func->driver_data; |
| 169 | unsigned long flags; | 169 | unsigned long flags; |
| 170 | 170 | ||
| 171 | spin_lock_irqsave(&feature_lock, flags); | 171 | raw_spin_lock_irqsave(&feature_lock, flags); |
| 172 | MACIO_OUT8(offset, (MACIO_IN8(offset) & ~mask) | (value & mask)); | 172 | MACIO_OUT8(offset, (MACIO_IN8(offset) & ~mask) | (value & mask)); |
| 173 | spin_unlock_irqrestore(&feature_lock, flags); | 173 | raw_spin_unlock_irqrestore(&feature_lock, flags); |
| 174 | return 0; | 174 | return 0; |
| 175 | } | 175 | } |
| 176 | 176 | ||
| @@ -223,12 +223,12 @@ static int macio_do_write_reg32_slm(PMF_STD_ARGS, u32 offset, u32 shift, | |||
| 223 | if (args == NULL || args->count == 0) | 223 | if (args == NULL || args->count == 0) |
| 224 | return -EINVAL; | 224 | return -EINVAL; |
| 225 | 225 | ||
| 226 | spin_lock_irqsave(&feature_lock, flags); | 226 | raw_spin_lock_irqsave(&feature_lock, flags); |
| 227 | tmp = MACIO_IN32(offset); | 227 | tmp = MACIO_IN32(offset); |
| 228 | val = args->u[0].v << shift; | 228 | val = args->u[0].v << shift; |
| 229 | tmp = (tmp & ~mask) | (val & mask); | 229 | tmp = (tmp & ~mask) | (val & mask); |
| 230 | MACIO_OUT32(offset, tmp); | 230 | MACIO_OUT32(offset, tmp); |
| 231 | spin_unlock_irqrestore(&feature_lock, flags); | 231 | raw_spin_unlock_irqrestore(&feature_lock, flags); |
| 232 | return 0; | 232 | return 0; |
| 233 | } | 233 | } |
| 234 | 234 | ||
| @@ -243,12 +243,12 @@ static int macio_do_write_reg8_slm(PMF_STD_ARGS, u32 offset, u32 shift, | |||
| 243 | if (args == NULL || args->count == 0) | 243 | if (args == NULL || args->count == 0) |
| 244 | return -EINVAL; | 244 | return -EINVAL; |
| 245 | 245 | ||
| 246 | spin_lock_irqsave(&feature_lock, flags); | 246 | raw_spin_lock_irqsave(&feature_lock, flags); |
| 247 | tmp = MACIO_IN8(offset); | 247 | tmp = MACIO_IN8(offset); |
| 248 | val = args->u[0].v << shift; | 248 | val = args->u[0].v << shift; |
| 249 | tmp = (tmp & ~mask) | (val & mask); | 249 | tmp = (tmp & ~mask) | (val & mask); |
| 250 | MACIO_OUT8(offset, tmp); | 250 | MACIO_OUT8(offset, tmp); |
| 251 | spin_unlock_irqrestore(&feature_lock, flags); | 251 | raw_spin_unlock_irqrestore(&feature_lock, flags); |
| 252 | return 0; | 252 | return 0; |
| 253 | } | 253 | } |
| 254 | 254 | ||
| @@ -278,12 +278,12 @@ static int unin_do_write_reg32(PMF_STD_ARGS, u32 offset, u32 value, u32 mask) | |||
| 278 | { | 278 | { |
| 279 | unsigned long flags; | 279 | unsigned long flags; |
| 280 | 280 | ||
| 281 | spin_lock_irqsave(&feature_lock, flags); | 281 | raw_spin_lock_irqsave(&feature_lock, flags); |
| 282 | /* This is fairly bogus in darwin, but it should work for our needs | 282 | /* This is fairly bogus in darwin, but it should work for our needs |
| 283 | * implemeted that way: | 283 | * implemeted that way: |
| 284 | */ | 284 | */ |
| 285 | UN_OUT(offset, (UN_IN(offset) & ~mask) | (value & mask)); | 285 | UN_OUT(offset, (UN_IN(offset) & ~mask) | (value & mask)); |
| 286 | spin_unlock_irqrestore(&feature_lock, flags); | 286 | raw_spin_unlock_irqrestore(&feature_lock, flags); |
| 287 | return 0; | 287 | return 0; |
| 288 | } | 288 | } |
| 289 | 289 | ||
