Changeset 18140


Ignore:
Timestamp:
2009-10-25T08:10:11+01:00 (7 years ago)
Author:
juhosg
Message:

ramips: nuke config_access helper

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ramips/files/arch/mips/pci/pci-rt288x.c

    r17975 r18140  
    3838#define RT2880_PCI_REG_ARBCTL           0x80 
    3939 
    40 #define PCI_ACCESS_READ  0 
    41 #define PCI_ACCESS_WRITE 1 
    42  
    4340static void __iomem *rt2880_pci_base; 
    4441static DEFINE_SPINLOCK(rt2880_pci_lock); 
     
    6158} 
    6259 
    63 static void config_access(unsigned char access_type, struct pci_bus *bus, 
    64                           unsigned int devfn, unsigned char where, u32 *data) 
    65 { 
    66         unsigned int address; 
     60static int rt2880_pci_config_read(struct pci_bus *bus, unsigned int devfn, 
     61                                  int where, int size, u32 *val) 
     62{ 
     63        unsigned long flags; 
     64        u32 address; 
     65        u32 data; 
    6766 
    6867        address = rt2880_pci_get_cfgaddr(bus->number, PCI_SLOT(devfn), 
    6968                                         PCI_FUNC(devfn), where); 
    7069 
    71         rt2880_pci_reg_write(address, RT2880_PCI_REG_CONFIG_ADDR); 
    72         if (access_type == PCI_ACCESS_WRITE) 
    73                 rt2880_pci_reg_write(*data, RT2880_PCI_REG_CONFIG_DATA); 
    74         else 
    75                 *data = rt2880_pci_reg_read(RT2880_PCI_REG_CONFIG_DATA); 
    76 } 
    77  
    78 static int rt2880_pci_config_read(struct pci_bus *bus, unsigned int devfn, 
    79                                   int where, int size, u32 *val) 
    80 { 
    81         unsigned long flags; 
    82         u32 data = 0; 
    83  
    84         spin_lock_irqsave(&rt2880_pci_lock, flags); 
    85         config_access(PCI_ACCESS_READ, bus, devfn, where, &data); 
     70        spin_lock_irqsave(&rt2880_pci_lock, flags); 
     71        rt2880_pci_reg_write(address, RT2880_PCI_REG_CONFIG_ADDR); 
     72        data = rt2880_pci_reg_read(RT2880_PCI_REG_CONFIG_DATA); 
    8673        spin_unlock_irqrestore(&rt2880_pci_lock, flags); 
    8774 
     
    10592{ 
    10693        unsigned long flags; 
    107         u32 data = 0; 
    108  
    109         spin_lock_irqsave(&rt2880_pci_lock, flags); 
     94        u32 address; 
     95        u32 data; 
     96 
     97        address = rt2880_pci_get_cfgaddr(bus->number, PCI_SLOT(devfn), 
     98                                         PCI_FUNC(devfn), where); 
     99 
     100        spin_lock_irqsave(&rt2880_pci_lock, flags); 
     101        rt2880_pci_reg_write(address, RT2880_PCI_REG_CONFIG_ADDR); 
     102        data = rt2880_pci_reg_read(RT2880_PCI_REG_CONFIG_DATA); 
    110103 
    111104        switch (size) { 
    112105        case 1: 
    113                 config_access(PCI_ACCESS_READ, bus, devfn, where, &data); 
    114106                data = (data & ~(0xff << ((where & 3) << 3))) | 
    115107                       (val << ((where & 3) << 3)); 
    116108                break; 
    117109        case 2: 
    118                 config_access(PCI_ACCESS_READ, bus, devfn, where, &data); 
    119110                data = (data & ~(0xffff << ((where & 3) << 3))) | 
    120111                       (val << ((where & 3) << 3)); 
     
    125116        } 
    126117 
    127         config_access(PCI_ACCESS_WRITE, bus, devfn, where, &data); 
     118        rt2880_pci_reg_write(data, RT2880_PCI_REG_CONFIG_DATA); 
    128119        spin_unlock_irqrestore(&rt2880_pci_lock, flags); 
    129120 
Note: See TracChangeset for help on using the changeset viewer.