pci: fix some warnings related to assumptions about
authorKumar Gala <galak@kernel.crashing.org>
Wed, 19 Sep 2012 04:47:36 +0000 (04:47 +0000)
committerAnatolij Gustschin <agust@denx.de>
Fri, 21 Sep 2012 22:24:34 +0000 (00:24 +0200)
The following commit introduced some warnings associated with using
pci_addr_t instead of a proper 32-bit data type.

commit af778c6d9e2b945ee03cbc53bb976238a3374f33
Author: Andrew Sharp <andywyse6@gmail.com>
Date:   Wed Aug 1 12:27:16 2012 +0000

    pci: fix errant data types and corresponding access functions

On some platforms pci_addr_t is defined as a 64-bit data type so its not
proper to use with pci_{read,write}_config_dword.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
drivers/pci/pci.c
drivers/pci/pci_auto.c

index 2a6d0a7593c8a8e2ff5989edb83553f6f2cfd1ee..d864f137f540764049148234361107357363dc69 100644 (file)
@@ -118,11 +118,11 @@ PCI_WRITE_VIA_DWORD_OP(word, u16, 0x02, 0x0000ffff)
 void *pci_map_bar(pci_dev_t pdev, int bar, int flags)
 {
        pci_addr_t pci_bus_addr;
-       pci_addr_t bar_response;
+       u32 bar_response;
 
        /* read BAR address */
        pci_read_config_dword(pdev, bar, &bar_response);
-       pci_bus_addr = bar_response & ~0xf;
+       pci_bus_addr = (pci_addr_t)(bar_response & ~0xf);
 
        /*
         * Pass "0" as the length argument to pci_bus_to_virt.  The arg
@@ -389,7 +389,7 @@ int pci_hose_config_device(struct pci_controller *hose,
                           pci_addr_t mem,
                           unsigned long command)
 {
-       pci_addr_t bar_response;
+       u32 bar_response;
        unsigned int old_command;
        pci_addr_t bar_value;
        pci_size_t bar_size;
index ae61e24907a01bdb8ac8cc227f76a00b81fe985b..cd78030cd6354aa816dc08dd5da608f03b7be9ab 100644 (file)
@@ -89,7 +89,7 @@ void pciauto_setup_device(struct pci_controller *hose,
                          struct pci_region *prefetch,
                          struct pci_region *io)
 {
-       pci_addr_t bar_response;
+       u32 bar_response;
        pci_size_t bar_size;
        u16 cmdstat = 0;
        int bar, bar_nr = 0;