| .. | .. |
|---|
| 33 | 33 | #endif |
|---|
| 34 | 34 | |
|---|
| 35 | 35 | #define PCI_OP_READ(size, type, len) \ |
|---|
| 36 | | -int pci_bus_read_config_##size \ |
|---|
| 36 | +int noinline pci_bus_read_config_##size \ |
|---|
| 37 | 37 | (struct pci_bus *bus, unsigned int devfn, int pos, type *value) \ |
|---|
| 38 | 38 | { \ |
|---|
| 39 | 39 | int res; \ |
|---|
| .. | .. |
|---|
| 48 | 48 | } |
|---|
| 49 | 49 | |
|---|
| 50 | 50 | #define PCI_OP_WRITE(size, type, len) \ |
|---|
| 51 | | -int pci_bus_write_config_##size \ |
|---|
| 51 | +int noinline pci_bus_write_config_##size \ |
|---|
| 52 | 52 | (struct pci_bus *bus, unsigned int devfn, int pos, type value) \ |
|---|
| 53 | 53 | { \ |
|---|
| 54 | 54 | int res; \ |
|---|
| .. | .. |
|---|
| 332 | 332 | return pcie_caps_reg(dev) & PCI_EXP_FLAGS_VERS; |
|---|
| 333 | 333 | } |
|---|
| 334 | 334 | |
|---|
| 335 | | -static bool pcie_downstream_port(const struct pci_dev *dev) |
|---|
| 336 | | -{ |
|---|
| 337 | | - int type = pci_pcie_type(dev); |
|---|
| 338 | | - |
|---|
| 339 | | - return type == PCI_EXP_TYPE_ROOT_PORT || |
|---|
| 340 | | - type == PCI_EXP_TYPE_DOWNSTREAM || |
|---|
| 341 | | - type == PCI_EXP_TYPE_PCIE_BRIDGE; |
|---|
| 342 | | -} |
|---|
| 343 | | - |
|---|
| 344 | 335 | bool pcie_cap_has_lnkctl(const struct pci_dev *dev) |
|---|
| 345 | 336 | { |
|---|
| 346 | 337 | int type = pci_pcie_type(dev); |
|---|
| .. | .. |
|---|
| 360 | 351 | pcie_caps_reg(dev) & PCI_EXP_FLAGS_SLOT; |
|---|
| 361 | 352 | } |
|---|
| 362 | 353 | |
|---|
| 363 | | -static inline bool pcie_cap_has_rtctl(const struct pci_dev *dev) |
|---|
| 354 | +bool pcie_cap_has_rtctl(const struct pci_dev *dev) |
|---|
| 364 | 355 | { |
|---|
| 365 | 356 | int type = pci_pcie_type(dev); |
|---|
| 366 | 357 | |
|---|
| .. | .. |
|---|
| 414 | 405 | |
|---|
| 415 | 406 | *val = 0; |
|---|
| 416 | 407 | if (pos & 1) |
|---|
| 417 | | - return -EINVAL; |
|---|
| 408 | + return PCIBIOS_BAD_REGISTER_NUMBER; |
|---|
| 418 | 409 | |
|---|
| 419 | 410 | if (pcie_capability_reg_implemented(dev, pos)) { |
|---|
| 420 | 411 | ret = pci_read_config_word(dev, pci_pcie_cap(dev) + pos, val); |
|---|
| .. | .. |
|---|
| 449 | 440 | |
|---|
| 450 | 441 | *val = 0; |
|---|
| 451 | 442 | if (pos & 3) |
|---|
| 452 | | - return -EINVAL; |
|---|
| 443 | + return PCIBIOS_BAD_REGISTER_NUMBER; |
|---|
| 453 | 444 | |
|---|
| 454 | 445 | if (pcie_capability_reg_implemented(dev, pos)) { |
|---|
| 455 | 446 | ret = pci_read_config_dword(dev, pci_pcie_cap(dev) + pos, val); |
|---|
| .. | .. |
|---|
| 474 | 465 | int pcie_capability_write_word(struct pci_dev *dev, int pos, u16 val) |
|---|
| 475 | 466 | { |
|---|
| 476 | 467 | if (pos & 1) |
|---|
| 477 | | - return -EINVAL; |
|---|
| 468 | + return PCIBIOS_BAD_REGISTER_NUMBER; |
|---|
| 478 | 469 | |
|---|
| 479 | 470 | if (!pcie_capability_reg_implemented(dev, pos)) |
|---|
| 480 | 471 | return 0; |
|---|
| .. | .. |
|---|
| 486 | 477 | int pcie_capability_write_dword(struct pci_dev *dev, int pos, u32 val) |
|---|
| 487 | 478 | { |
|---|
| 488 | 479 | if (pos & 3) |
|---|
| 489 | | - return -EINVAL; |
|---|
| 480 | + return PCIBIOS_BAD_REGISTER_NUMBER; |
|---|
| 490 | 481 | |
|---|
| 491 | 482 | if (!pcie_capability_reg_implemented(dev, pos)) |
|---|
| 492 | 483 | return 0; |
|---|