Merge branch 'pci/misc'
- Update the aer-inject URL (Yicong Yang) - Declare pci_filp_private only when HAVE_PCI_MMAP to avoid unused struct definition (Krzysztof Wilczyński) - Remove unused assignments (Bjorn Helgaas) - Add #includes to asm/pci_x86.h to prevent build errors (Randy Dunlap) * pci/misc: x86/PCI: Add #includes to asm/pci_x86.h PCI: ibmphp: Remove unused assignments PCI: cpqphp: Remove unused assignments PCI: fu740: Remove unused assignments PCI: kirin: Remove unused assignments PCI: Remove unused assignments PCI: Declare pci_filp_private only when HAVE_PCI_MMAP PCI/AER: Update aer-inject URL
This commit is contained in:
commit
73c82469bd
|
@ -5,7 +5,10 @@
|
|||
* (c) 1999 Martin Mares <mj@ucw.cz>
|
||||
*/
|
||||
|
||||
#include <linux/errno.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
#undef DEBUG
|
||||
|
||||
|
|
|
@ -224,7 +224,7 @@ static int fu740_pcie_host_init(struct pcie_port *pp)
|
|||
/* Clear hold_phy_rst */
|
||||
writel_relaxed(0x0, afp->mgmt_base + PCIEX8MGMT_APP_HOLD_PHY_RST);
|
||||
/* Enable pcieauxclk */
|
||||
ret = clk_prepare_enable(afp->pcie_aux);
|
||||
clk_prepare_enable(afp->pcie_aux);
|
||||
/* Set RC mode */
|
||||
writel_relaxed(0x4, afp->mgmt_base + PCIEX8MGMT_DEVICE_TYPE);
|
||||
|
||||
|
|
|
@ -332,9 +332,6 @@ static int hi3660_pcie_phy_init(struct platform_device *pdev,
|
|||
pcie->phy_priv = phy;
|
||||
phy->dev = dev;
|
||||
|
||||
/* registers */
|
||||
pdev = container_of(dev, struct platform_device, dev);
|
||||
|
||||
ret = hi3660_pcie_phy_get_clk(phy);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
|
|
@ -1254,7 +1254,7 @@ static void __exit unload_cpqphpd(void)
|
|||
struct pci_resource *res;
|
||||
struct pci_resource *tres;
|
||||
|
||||
rc = compaq_nvram_store(cpqhp_rom_start);
|
||||
compaq_nvram_store(cpqhp_rom_start);
|
||||
|
||||
ctrl = cpqhp_ctrl_list;
|
||||
|
||||
|
|
|
@ -881,7 +881,6 @@ irqreturn_t cpqhp_ctrl_intr(int IRQ, void *data)
|
|||
u8 reset;
|
||||
u16 misc;
|
||||
u32 Diff;
|
||||
u32 temp_dword;
|
||||
|
||||
|
||||
misc = readw(ctrl->hpc_reg + MISC);
|
||||
|
@ -917,7 +916,7 @@ irqreturn_t cpqhp_ctrl_intr(int IRQ, void *data)
|
|||
writel(Diff, ctrl->hpc_reg + INT_INPUT_CLEAR);
|
||||
|
||||
/* Read it back to clear any posted writes */
|
||||
temp_dword = readl(ctrl->hpc_reg + INT_INPUT_CLEAR);
|
||||
readl(ctrl->hpc_reg + INT_INPUT_CLEAR);
|
||||
|
||||
if (!Diff)
|
||||
/* Clear all interrupts */
|
||||
|
@ -1412,7 +1411,6 @@ static u32 board_added(struct pci_func *func, struct controller *ctrl)
|
|||
u32 rc = 0;
|
||||
struct pci_func *new_slot = NULL;
|
||||
struct pci_bus *bus = ctrl->pci_bus;
|
||||
struct slot *p_slot;
|
||||
struct resource_lists res_lists;
|
||||
|
||||
hp_slot = func->device - ctrl->slot_device_offset;
|
||||
|
@ -1459,7 +1457,7 @@ static u32 board_added(struct pci_func *func, struct controller *ctrl)
|
|||
if (rc)
|
||||
return rc;
|
||||
|
||||
p_slot = cpqhp_find_slot(ctrl, hp_slot + ctrl->slot_device_offset);
|
||||
cpqhp_find_slot(ctrl, hp_slot + ctrl->slot_device_offset);
|
||||
|
||||
/* turn on board and blink green LED */
|
||||
|
||||
|
@ -1614,7 +1612,6 @@ static u32 remove_board(struct pci_func *func, u32 replace_flag, struct controll
|
|||
u8 device;
|
||||
u8 hp_slot;
|
||||
u8 temp_byte;
|
||||
u32 rc;
|
||||
struct resource_lists res_lists;
|
||||
struct pci_func *temp_func;
|
||||
|
||||
|
@ -1629,7 +1626,7 @@ static u32 remove_board(struct pci_func *func, u32 replace_flag, struct controll
|
|||
/* When we get here, it is safe to change base address registers.
|
||||
* We will attempt to save the base address register lengths */
|
||||
if (replace_flag || !ctrl->add_support)
|
||||
rc = cpqhp_save_base_addr_length(ctrl, func);
|
||||
cpqhp_save_base_addr_length(ctrl, func);
|
||||
else if (!func->bus_head && !func->mem_head &&
|
||||
!func->p_mem_head && !func->io_head) {
|
||||
/* Here we check to see if we've saved any of the board's
|
||||
|
@ -1647,7 +1644,7 @@ static u32 remove_board(struct pci_func *func, u32 replace_flag, struct controll
|
|||
}
|
||||
|
||||
if (!skip)
|
||||
rc = cpqhp_save_used_resources(ctrl, func);
|
||||
cpqhp_save_used_resources(ctrl, func);
|
||||
}
|
||||
/* Change status to shutdown */
|
||||
if (func->is_a_board)
|
||||
|
@ -1767,7 +1764,7 @@ void cpqhp_event_stop_thread(void)
|
|||
|
||||
static void interrupt_event_handler(struct controller *ctrl)
|
||||
{
|
||||
int loop = 0;
|
||||
int loop;
|
||||
int change = 1;
|
||||
struct pci_func *func;
|
||||
u8 hp_slot;
|
||||
|
@ -1885,7 +1882,6 @@ static void interrupt_event_handler(struct controller *ctrl)
|
|||
void cpqhp_pushbutton_thread(struct timer_list *t)
|
||||
{
|
||||
u8 hp_slot;
|
||||
u8 device;
|
||||
struct pci_func *func;
|
||||
struct slot *p_slot = from_timer(p_slot, t, task_event);
|
||||
struct controller *ctrl = (struct controller *) p_slot->ctrl;
|
||||
|
@ -1893,8 +1889,6 @@ void cpqhp_pushbutton_thread(struct timer_list *t)
|
|||
pushbutton_pending = NULL;
|
||||
hp_slot = p_slot->hp_slot;
|
||||
|
||||
device = p_slot->device;
|
||||
|
||||
if (is_slot_enabled(ctrl, hp_slot)) {
|
||||
p_slot->state = POWEROFF_STATE;
|
||||
/* power Down board */
|
||||
|
@ -1951,15 +1945,12 @@ int cpqhp_process_SI(struct controller *ctrl, struct pci_func *func)
|
|||
u32 tempdword;
|
||||
int rc;
|
||||
struct slot *p_slot;
|
||||
int physical_slot = 0;
|
||||
|
||||
tempdword = 0;
|
||||
|
||||
device = func->device;
|
||||
hp_slot = device - ctrl->slot_device_offset;
|
||||
p_slot = cpqhp_find_slot(ctrl, device);
|
||||
if (p_slot)
|
||||
physical_slot = p_slot->number;
|
||||
|
||||
/* Check to see if the interlock is closed */
|
||||
tempdword = readl(ctrl->hpc_reg + INT_INPUT_CLEAR);
|
||||
|
@ -2043,13 +2034,10 @@ int cpqhp_process_SS(struct controller *ctrl, struct pci_func *func)
|
|||
unsigned int devfn;
|
||||
struct slot *p_slot;
|
||||
struct pci_bus *pci_bus = ctrl->pci_bus;
|
||||
int physical_slot = 0;
|
||||
|
||||
device = func->device;
|
||||
func = cpqhp_slot_find(ctrl->bus, device, index++);
|
||||
p_slot = cpqhp_find_slot(ctrl, device);
|
||||
if (p_slot)
|
||||
physical_slot = p_slot->number;
|
||||
|
||||
/* Make sure there are no video controllers here */
|
||||
while (func && !rc) {
|
||||
|
|
|
@ -473,7 +473,7 @@ int cpqhp_save_slot_config(struct controller *ctrl, struct pci_func *new_slot)
|
|||
int sub_bus;
|
||||
int max_functions;
|
||||
int function = 0;
|
||||
int cloop = 0;
|
||||
int cloop;
|
||||
int stop_it;
|
||||
|
||||
ID = 0xFFFFFFFF;
|
||||
|
|
|
@ -325,11 +325,9 @@ static u8 i2c_ctrl_write(struct controller *ctlr_ptr, void __iomem *WPGBbar, u8
|
|||
static u8 isa_ctrl_read(struct controller *ctlr_ptr, u8 offset)
|
||||
{
|
||||
u16 start_address;
|
||||
u16 end_address;
|
||||
u8 data;
|
||||
|
||||
start_address = ctlr_ptr->u.isa_ctlr.io_start;
|
||||
end_address = ctlr_ptr->u.isa_ctlr.io_end;
|
||||
data = inb(start_address + offset);
|
||||
return data;
|
||||
}
|
||||
|
|
|
@ -1955,7 +1955,7 @@ static int __init update_bridge_ranges(struct bus_node **bus)
|
|||
bus_sec = find_bus_wprev(sec_busno, NULL, 0);
|
||||
/* this bus structure doesn't exist yet, PPB was configured during previous loading of ibmphp */
|
||||
if (!bus_sec) {
|
||||
bus_sec = alloc_error_bus(NULL, sec_busno, 1);
|
||||
alloc_error_bus(NULL, sec_busno, 1);
|
||||
/* the rest will be populated during NVRAM call */
|
||||
return 0;
|
||||
}
|
||||
|
@ -2114,6 +2114,5 @@ static int __init update_bridge_ranges(struct bus_node **bus)
|
|||
} /* end for function */
|
||||
} /* end for device */
|
||||
|
||||
bus = &bus_cur;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -754,8 +754,6 @@ static ssize_t pci_read_config(struct file *filp, struct kobject *kobj,
|
|||
u8 val;
|
||||
pci_user_read_config_byte(dev, off, &val);
|
||||
data[off - init_off] = val;
|
||||
off++;
|
||||
--size;
|
||||
}
|
||||
|
||||
pci_config_pm_runtime_put(dev);
|
||||
|
@ -818,11 +816,8 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
|
|||
size -= 2;
|
||||
}
|
||||
|
||||
if (size) {
|
||||
if (size)
|
||||
pci_user_write_config_byte(dev, off, data[off - init_off]);
|
||||
off++;
|
||||
--size;
|
||||
}
|
||||
|
||||
pci_config_pm_runtime_put(dev);
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ config PCIEAER_INJECT
|
|||
error injection can fake almost all kinds of errors with the
|
||||
help of a user space helper tool aer-inject, which can be
|
||||
gotten from:
|
||||
https://www.kernel.org/pub/linux/utils/pci/aer-inject/
|
||||
https://git.kernel.org/cgit/linux/kernel/git/gong.chen/aer-inject.git/
|
||||
|
||||
#
|
||||
# PCI Express ECRC
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* trigger various real hardware errors. Software based error
|
||||
* injection can fake almost all kinds of errors with the help of a
|
||||
* user space helper tool aer-inject, which can be gotten from:
|
||||
* https://www.kernel.org/pub/linux/utils/pci/aer-inject/
|
||||
* https://git.kernel.org/cgit/linux/kernel/git/gong.chen/aer-inject.git/
|
||||
*
|
||||
* Copyright 2009 Intel Corporation.
|
||||
* Huang Ying <ying.huang@intel.com>
|
||||
|
|
|
@ -99,9 +99,7 @@ static ssize_t proc_bus_pci_read(struct file *file, char __user *buf,
|
|||
unsigned char val;
|
||||
pci_user_read_config_byte(dev, pos, &val);
|
||||
__put_user(val, buf);
|
||||
buf++;
|
||||
pos++;
|
||||
cnt--;
|
||||
}
|
||||
|
||||
pci_config_pm_runtime_put(dev);
|
||||
|
@ -176,9 +174,7 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
|
|||
unsigned char val;
|
||||
__get_user(val, buf);
|
||||
pci_user_write_config_byte(dev, pos, val);
|
||||
buf++;
|
||||
pos++;
|
||||
cnt--;
|
||||
}
|
||||
|
||||
pci_config_pm_runtime_put(dev);
|
||||
|
@ -188,10 +184,12 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
|
|||
return nbytes;
|
||||
}
|
||||
|
||||
#ifdef HAVE_PCI_MMAP
|
||||
struct pci_filp_private {
|
||||
enum pci_mmap_state mmap_state;
|
||||
int write_combine;
|
||||
};
|
||||
#endif /* HAVE_PCI_MMAP */
|
||||
|
||||
static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
|
||||
unsigned long arg)
|
||||
|
|
|
@ -1525,7 +1525,7 @@ static void pci_bridge_release_resources(struct pci_bus *bus,
|
|||
{
|
||||
struct pci_dev *dev = bus->self;
|
||||
struct resource *r;
|
||||
unsigned int old_flags = 0;
|
||||
unsigned int old_flags;
|
||||
struct resource *b_res;
|
||||
int idx = 1;
|
||||
|
||||
|
|
Loading…
Reference in New Issue