Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
[pandora-kernel.git] / drivers / char / tpm / tpm_atmel.h
index d3478aa..aefd683 100644 (file)
 #define atmel_request_region request_mem_region
 #define atmel_release_region release_mem_region
 
-static inline void atmel_put_base_addr(struct tpm_vendor_specific
-                                        *vendor)
+static inline void atmel_put_base_addr(void __iomem *iobase)
 {
-       iounmap(vendor->iobase);
+       iounmap(iobase);
 }
 
-static void __iomem * atmel_get_base_addr(struct tpm_vendor_specific *vendor)
+static void __iomem * atmel_get_base_addr(unsigned long *base, int *region_size)
 {
        struct device_node *dn;
        unsigned long address, size;
-       unsigned int *reg;
+       const unsigned int *reg;
        int reglen;
        int naddrc;
        int nsizec;
@@ -53,7 +52,7 @@ static void __iomem * atmel_get_base_addr(struct tpm_vendor_specific *vendor)
                return NULL;
        }
 
-       reg = (unsigned int *) get_property(dn, "reg", &reglen);
+       reg = get_property(dn, "reg", &reglen);
        naddrc = prom_n_addr_cells(dn);
        nsizec = prom_n_size_cells(dn);
 
@@ -71,9 +70,9 @@ static void __iomem * atmel_get_base_addr(struct tpm_vendor_specific *vendor)
        else
                size = reg[naddrc];
 
-       vendor->base = address;
-       vendor->region_size = size;
-       return ioremap(vendor->base, vendor->region_size);
+       *base = address;
+       *region_size = size;
+       return ioremap(*base, *region_size);
 }
 #else
 #define atmel_getb(chip, offset) inb(chip->vendor->base + offset)
@@ -106,14 +105,12 @@ static int atmel_verify_tpm11(void)
        return 0;
 }
 
-static inline void atmel_put_base_addr(struct tpm_vendor_specific
-                                        *vendor)
+static inline void atmel_put_base_addr(void __iomem *iobase)
 {
 }
 
 /* Determine where to talk to device */
-static void __iomem * atmel_get_base_addr(struct tpm_vendor_specific
-                                        *vendor)
+static void __iomem * atmel_get_base_addr(unsigned long *base, int *region_size)
 {
        int lo, hi;
 
@@ -123,9 +120,9 @@ static void __iomem * atmel_get_base_addr(struct tpm_vendor_specific
        lo = tpm_read_index(TPM_ADDR, TPM_ATMEL_BASE_ADDR_LO);
        hi = tpm_read_index(TPM_ADDR, TPM_ATMEL_BASE_ADDR_HI);
 
-       vendor->base = (hi << 8) | lo;
-       vendor->region_size = 2;
+       *base = (hi << 8) | lo;
+       *region_size = 2;
 
-       return ioport_map(vendor->base, vendor->region_size);
+       return ioport_map(*base, *region_size);
 }
 #endif