Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 4954
b: refs/heads/master
c: 4564203
h: refs/heads/master
v: v3
  • Loading branch information
Adrian Bunk authored and David S. Miller committed Jul 25, 2005
1 parent b5e0b75 commit ea2f601
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 36 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4e8fd22bd421d7aa279bcb76189505a1f96bb7bf
refs/heads/master: 4564203d76599973da9c5cbcd93057252414ac9e
14 changes: 0 additions & 14 deletions trunk/drivers/sbus/char/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -71,20 +71,6 @@ config SUN_JSFLASH

# XXX Why don't we do "source drivers/char/Config.in" somewhere?
# no shit
config APM_RTC_IS_GMT
bool
depends on EXPERIMENTAL && SPARC32 && PCI
default y
help
Say Y here if your RTC (Real Time Clock a.k.a. hardware clock)
stores the time in GMT (Greenwich Mean Time). Say N if your RTC
stores localtime.

It is in fact recommended to store GMT in your RTC, because then you
don't have to worry about daylight savings time changes. The only
reason not to use GMT in your RTC is if you also run a broken OS
that doesn't understand GMT.

config RTC
tristate "PC-style Real Time Clock Support"
depends on PCI && EXPERIMENTAL && SPARC32
Expand Down
4 changes: 2 additions & 2 deletions trunk/include/asm-arm/locks.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
" strex ip, lr, [%0]\n" \
" teq ip, #0\n" \
" bne 1b\n" \
" cmp lr, #0\n" \
" teq lr, #0\n" \
" movle ip, %0\n" \
" blle " #wake \
: \
Expand Down Expand Up @@ -100,7 +100,7 @@
__asm__ __volatile__( \
"@ up_op_read\n" \
"1: ldrex lr, [%0]\n" \
" adds lr, lr, %1\n" \
" add lr, lr, %1\n" \
" strex ip, lr, [%0]\n" \
" teq ip, #0\n" \
" bne 1b\n" \
Expand Down
35 changes: 16 additions & 19 deletions trunk/include/asm-arm/spinlock.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,7 @@ typedef struct {
} rwlock_t;

#define RW_LOCK_UNLOCKED (rwlock_t) { 0 }
#define rwlock_init(x) do { *(x) = RW_LOCK_UNLOCKED; } while (0)
#define rwlock_is_locked(x) (*((volatile unsigned int *)(x)) != 0)
#define rwlock_init(x) do { *(x) + RW_LOCK_UNLOCKED; } while (0)

/*
* Write locks are easy - we just set bit 31. When unlocking, we can
Expand All @@ -101,21 +100,6 @@ static inline void _raw_write_lock(rwlock_t *rw)
: "cc", "memory");
}

static inline int _raw_write_trylock(rwlock_t *rw)
{
unsigned long tmp;

__asm__ __volatile__(
"1: ldrex %0, [%1]\n"
" teq %0, #0\n"
" strexeq %0, %2, [%1]"
: "=&r" (tmp)
: "r" (&rw->lock), "r" (0x80000000)
: "cc", "memory");

return tmp == 0;
}

static inline void _raw_write_unlock(rwlock_t *rw)
{
__asm__ __volatile__(
Expand Down Expand Up @@ -154,8 +138,6 @@ static inline void _raw_read_lock(rwlock_t *rw)

static inline void _raw_read_unlock(rwlock_t *rw)
{
unsigned long tmp, tmp2;

__asm__ __volatile__(
"1: ldrex %0, [%2]\n"
" sub %0, %0, #1\n"
Expand All @@ -169,4 +151,19 @@ static inline void _raw_read_unlock(rwlock_t *rw)

#define _raw_read_trylock(lock) generic_raw_read_trylock(lock)

static inline int _raw_write_trylock(rwlock_t *rw)
{
unsigned long tmp;

__asm__ __volatile__(
"1: ldrex %0, [%1]\n"
" teq %0, #0\n"
" strexeq %0, %2, [%1]"
: "=&r" (tmp)
: "r" (&rw->lock), "r" (0x80000000)
: "cc", "memory");

return tmp == 0;
}

#endif /* __ASM_SPINLOCK_H */

0 comments on commit ea2f601

Please sign in to comment.