diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2007-02-15 14:38:04 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-02-16 14:00:19 +1100 |
commit | c91ef5986185c044a853d990670e3f7ce22f2991 (patch) | |
tree | 3c9bceefcbbbc520d00dab2e54766beded2aa181 | |
parent | 087d7ecd5273b480d13f4309a159842700afe276 (diff) | |
download | talos-op-linux-c91ef5986185c044a853d990670e3f7ce22f2991.tar.gz talos-op-linux-c91ef5986185c044a853d990670e3f7ce22f2991.zip |
[POWERPC] More DCR native fixups
Getting BenH's new EMAC driver working on 440GP, I found some more
problems in the native mode paths of the new DCR code:
- dcr_map() is supposed to return a dcr_host_t, but the native
version is a macro that doesn't expand to an expression. With native
DCRs, dcr_host_t is an empty structure, so we just use a constructor
expression instead.
- dcr_unmap() uses {} instead of the safer do {} while (0)
idiom to implement a no-op
Here's a fix.
Signed-off-by: David Gibson <dwg@au1.ibm.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | include/asm-powerpc/dcr-native.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-powerpc/dcr-native.h b/include/asm-powerpc/dcr-native.h index d7a1bc1551c6..05af081222f6 100644 --- a/include/asm-powerpc/dcr-native.h +++ b/include/asm-powerpc/dcr-native.h @@ -26,8 +26,8 @@ typedef struct {} dcr_host_t; #define DCR_MAP_OK(host) (1) -#define dcr_map(dev, dcr_n, dcr_c) {} -#define dcr_unmap(host, dcr_n, dcr_c) {} +#define dcr_map(dev, dcr_n, dcr_c) ((dcr_host_t){}) +#define dcr_unmap(host, dcr_n, dcr_c) do {} while (0) #define dcr_read(host, dcr_n) mfdcr(dcr_n) #define dcr_write(host, dcr_n, value) mtdcr(dcr_n, value) |