-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Blackfin: Split the BF532 BFIN_*_FIO_FLAG() functions to their own he…
…ader Split the BF532 machine type BFIN_*_FIO_FLAG() functions to their own header file to avoid circular #include problems as these functions require IRQ flag handling, which requires asm/blackfin.h, which otherwise requires the header file that defines these functions. For good measure, also get rid of the inclusion of asm/blackfin.h from mach/cdefBF532.h (which is circular) and defBF532.h (which is included by asm/blackfin.h before including this header). Signed-off-by: David Howells <dhowells@redhat.com>
- Loading branch information
David Howells
committed
Oct 7, 2010
1 parent
3dcc1e7
commit f344194
Showing
5 changed files
with
58 additions
and
47 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/* | ||
* Copyright 2005-2008 Analog Devices Inc. | ||
* | ||
* Licensed under the GPL-2 or later | ||
*/ | ||
|
||
#ifndef _MACH_FIO_FLAG_H | ||
#define _MACH_FIO_FLAG_H | ||
|
||
#include <asm/blackfin.h> | ||
#include <asm/irqflags.h> | ||
|
||
#if ANOMALY_05000311 | ||
#define BFIN_WRITE_FIO_FLAG(name) \ | ||
static inline void bfin_write_FIO_FLAG_##name(unsigned short val) \ | ||
{ \ | ||
unsigned long flags; \ | ||
local_irq_save_hw(flags); \ | ||
bfin_write16(FIO_FLAG_##name, val); \ | ||
bfin_read_CHIPID(); \ | ||
local_irq_restore_hw(flags); \ | ||
} | ||
BFIN_WRITE_FIO_FLAG(D) | ||
BFIN_WRITE_FIO_FLAG(C) | ||
BFIN_WRITE_FIO_FLAG(S) | ||
BFIN_WRITE_FIO_FLAG(T) | ||
|
||
#define BFIN_READ_FIO_FLAG(name) \ | ||
static inline u16 bfin_read_FIO_FLAG_##name(void) \ | ||
{ \ | ||
unsigned long flags; \ | ||
u16 ret; \ | ||
local_irq_save_hw(flags); \ | ||
ret = bfin_read16(FIO_FLAG_##name); \ | ||
bfin_read_CHIPID(); \ | ||
local_irq_restore_hw(flags); \ | ||
return ret; \ | ||
} | ||
BFIN_READ_FIO_FLAG(D) | ||
BFIN_READ_FIO_FLAG(C) | ||
BFIN_READ_FIO_FLAG(S) | ||
BFIN_READ_FIO_FLAG(T) | ||
|
||
#else | ||
#define bfin_write_FIO_FLAG_D(val) bfin_write16(FIO_FLAG_D, val) | ||
#define bfin_write_FIO_FLAG_C(val) bfin_write16(FIO_FLAG_C, val) | ||
#define bfin_write_FIO_FLAG_S(val) bfin_write16(FIO_FLAG_S, val) | ||
#define bfin_write_FIO_FLAG_T(val) bfin_write16(FIO_FLAG_T, val) | ||
#define bfin_read_FIO_FLAG_T() bfin_read16(FIO_FLAG_T) | ||
#define bfin_read_FIO_FLAG_C() bfin_read16(FIO_FLAG_C) | ||
#define bfin_read_FIO_FLAG_S() bfin_read16(FIO_FLAG_S) | ||
#define bfin_read_FIO_FLAG_D() bfin_read16(FIO_FLAG_D) | ||
#endif | ||
|
||
#endif /* _MACH_FIO_FLAG_H */ |