static inline struct pcie_port *sys_to_pcie(struct pci_sys_data *sys)
 {
+       BUG_ON(!sys->private_data);
+
        return sys->private_data;
 }
 
        int irq, pos0, pos1, i;
        struct pcie_port *pp = sys_to_pcie(desc->dev->bus->sysdata);
 
-       if (!pp) {
-               BUG();
-               return -EINVAL;
-       }
-
        pos0 = find_first_zero_bit(pp->msi_irq_in_use,
                        MAX_MSI_IRQS);
        if (pos0 % no_irqs) {
        /* get the port structure */
        msi = irq_data_get_msi(data);
        pp = sys_to_pcie(msi->dev->bus->sysdata);
-       if (!pp) {
-               BUG();
-               return;
-       }
 
        /* undo what was done in assign_irq */
        pos = data->hwirq;
        struct msi_msg msg;
        struct pcie_port *pp = sys_to_pcie(pdev->bus->sysdata);
 
-       if (!pp) {
-               BUG();
-               return -EINVAL;
-       }
-
        pci_read_config_word(pdev, desc->msi_attrib.pos+PCI_MSI_FLAGS,
                                &msg_ctr);
        msgvec = (msg_ctr&PCI_MSI_FLAGS_QSIZE) >> 4;
        struct pcie_port *pp = sys_to_pcie(bus->sysdata);
        int ret;
 
-       if (!pp) {
-               BUG();
-               return -EINVAL;
-       }
-
        if (dw_pcie_valid_config(pp, bus, PCI_SLOT(devfn)) == 0) {
                *val = 0xffffffff;
                return PCIBIOS_DEVICE_NOT_FOUND;
        struct pcie_port *pp = sys_to_pcie(bus->sysdata);
        int ret;
 
-       if (!pp) {
-               BUG();
-               return -EINVAL;
-       }
-
        if (dw_pcie_valid_config(pp, bus, PCI_SLOT(devfn)) == 0)
                return PCIBIOS_DEVICE_NOT_FOUND;
 
 
        pp = sys_to_pcie(sys);
 
-       if (!pp)
-               return 0;
-
        if (global_io_offset < SZ_1M && pp->config.io_size > 0) {
                sys->io_offset = global_io_offset - pp->config.io_bus_addr;
                pci_ioremap_io(global_io_offset, pp->io_base);