|
|
|
--- a/arch/mips/ath79/common.c
|
|
|
|
+++ b/arch/mips/ath79/common.c
|
|
|
|
@@ -22,6 +22,7 @@
|
|
|
|
#include "common.h"
|
|
|
|
|
|
|
|
static DEFINE_SPINLOCK(ath79_device_reset_lock);
|
|
|
|
+static DEFINE_MUTEX(ath79_flash_mutex);
|
|
|
|
|
|
|
|
u32 ath79_cpu_freq;
|
|
|
|
EXPORT_SYMBOL_GPL(ath79_cpu_freq);
|
|
|
|
@@ -111,3 +112,16 @@ void ath79_device_reset_clear(u32 mask)
|
|
|
|
spin_unlock_irqrestore(&ath79_device_reset_lock, flags);
|
|
|
|
}
|
|
|
|
EXPORT_SYMBOL_GPL(ath79_device_reset_clear);
|
|
|
|
+
|
|
|
|
+void ath79_flash_acquire(void)
|
|
|
|
+{
|
|
|
|
+ mutex_lock(&ath79_flash_mutex);
|
|
|
|
+}
|
|
|
|
+EXPORT_SYMBOL_GPL(ath79_flash_acquire);
|
|
|
|
+
|
|
|
|
+void ath79_flash_release(void)
|
|
|
|
+{
|
|
|
|
+ mutex_unlock(&ath79_flash_mutex);
|
|
|
|
+}
|
|
|
|
+EXPORT_SYMBOL_GPL(ath79_flash_release);
|
|
|
|
+
|
|
|
|
--- a/arch/mips/include/asm/mach-ath79/ath79.h
|
|
|
|
+++ b/arch/mips/include/asm/mach-ath79/ath79.h
|
|
|
|
@@ -143,4 +143,7 @@ static inline u32 ath79_reset_rr(unsigne
|
|
|
|
void ath79_device_reset_set(u32 mask);
|
|
|
|
void ath79_device_reset_clear(u32 mask);
|
|
|
|
|
|
|
|
+void ath79_flash_acquire(void);
|
|
|
|
+void ath79_flash_release(void);
|
|
|
|
+
|
|
|
|
#endif /* __ASM_MACH_ATH79_H */
|