doc: add suggestions about good practises for maintainers
[safe/jmp/linux-2.6] / include / asm-powerpc / dcr-mmio.h
index 5dbfca8..08532ff 100644 (file)
 
 #include <asm/io.h>
 
-typedef struct { void __iomem *token; unsigned int stride; } dcr_host_t;
+typedef struct {
+       void __iomem *token;
+       unsigned int stride;
+       unsigned int base;
+} dcr_host_t;
 
 #define DCR_MAP_OK(host)       ((host).token != NULL)
 
 extern dcr_host_t dcr_map(struct device_node *dev, unsigned int dcr_n,
                          unsigned int dcr_c);
-extern void dcr_unmap(dcr_host_t host, unsigned int dcr_n, unsigned int dcr_c);
+extern void dcr_unmap(dcr_host_t host, unsigned int dcr_c);
 
 static inline u32 dcr_read(dcr_host_t host, unsigned int dcr_n)
 {
-       return in_be32(host.token + dcr_n * host.stride);
+       return in_be32(host.token + ((host.base + dcr_n) * host.stride));
 }
 
 static inline void dcr_write(dcr_host_t host, unsigned int dcr_n, u32 value)
 {
-       out_be32(host.token + dcr_n * host.stride, value);
+       out_be32(host.token + ((host.base + dcr_n) * host.stride), value);
 }
 
 extern u64 of_translate_dcr_address(struct device_node *dev,