diff options
| author | Michael Buesch <mb@bu3sch.de> | 2008-11-06 05:49:21 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2008-11-10 16:50:19 -0500 |
| commit | fd0fcf5c29dd0339c5f5d86eb2cbe9fdad5bcd73 (patch) | |
| tree | 3c03b581b0e069d45d4d35f234c16b663cdfa2af /include/linux | |
| parent | 9581483444d002e0b3807d9e66f552f372a6fc5e (diff) | |
ssb: Fix DMA-API compilation for non-PCI systems
This fixes compilation of the SSB DMA-API code on non-PCI platforms.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/ssb/ssb.h | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h index e530026eedf7..17d9b58f6379 100644 --- a/include/linux/ssb/ssb.h +++ b/include/linux/ssb/ssb.h | |||
| @@ -427,12 +427,16 @@ static inline int ssb_dma_mapping_error(struct ssb_device *dev, dma_addr_t addr) | |||
| 427 | { | 427 | { |
| 428 | switch (dev->bus->bustype) { | 428 | switch (dev->bus->bustype) { |
| 429 | case SSB_BUSTYPE_PCI: | 429 | case SSB_BUSTYPE_PCI: |
| 430 | #ifdef CONFIG_SSB_PCIHOST | ||
| 430 | return pci_dma_mapping_error(dev->bus->host_pci, addr); | 431 | return pci_dma_mapping_error(dev->bus->host_pci, addr); |
| 432 | #endif | ||
| 433 | break; | ||
| 431 | case SSB_BUSTYPE_SSB: | 434 | case SSB_BUSTYPE_SSB: |
| 432 | return dma_mapping_error(dev->dev, addr); | 435 | return dma_mapping_error(dev->dev, addr); |
| 433 | default: | 436 | default: |
| 434 | __ssb_dma_not_implemented(dev); | 437 | break; |
| 435 | } | 438 | } |
| 439 | __ssb_dma_not_implemented(dev); | ||
| 436 | return -ENOSYS; | 440 | return -ENOSYS; |
| 437 | } | 441 | } |
| 438 | 442 | ||
| @@ -441,12 +445,16 @@ static inline dma_addr_t ssb_dma_map_single(struct ssb_device *dev, void *p, | |||
| 441 | { | 445 | { |
| 442 | switch (dev->bus->bustype) { | 446 | switch (dev->bus->bustype) { |
| 443 | case SSB_BUSTYPE_PCI: | 447 | case SSB_BUSTYPE_PCI: |
| 448 | #ifdef CONFIG_SSB_PCIHOST | ||
| 444 | return pci_map_single(dev->bus->host_pci, p, size, dir); | 449 | return pci_map_single(dev->bus->host_pci, p, size, dir); |
| 450 | #endif | ||
| 451 | break; | ||
| 445 | case SSB_BUSTYPE_SSB: | 452 | case SSB_BUSTYPE_SSB: |
| 446 | return dma_map_single(dev->dev, p, size, dir); | 453 | return dma_map_single(dev->dev, p, size, dir); |
| 447 | default: | 454 | default: |
| 448 | __ssb_dma_not_implemented(dev); | 455 | break; |
| 449 | } | 456 | } |
| 457 | __ssb_dma_not_implemented(dev); | ||
| 450 | return 0; | 458 | return 0; |
| 451 | } | 459 | } |
| 452 | 460 | ||
| @@ -455,14 +463,18 @@ static inline void ssb_dma_unmap_single(struct ssb_device *dev, dma_addr_t dma_a | |||
| 455 | { | 463 | { |
| 456 | switch (dev->bus->bustype) { | 464 | switch (dev->bus->bustype) { |
| 457 | case SSB_BUSTYPE_PCI: | 465 | case SSB_BUSTYPE_PCI: |
| 466 | #ifdef CONFIG_SSB_PCIHOST | ||
| 458 | pci_unmap_single(dev->bus->host_pci, dma_addr, size, dir); | 467 | pci_unmap_single(dev->bus->host_pci, dma_addr, size, dir); |
| 459 | return; | 468 | return; |
| 469 | #endif | ||
| 470 | break; | ||
| 460 | case SSB_BUSTYPE_SSB: | 471 | case SSB_BUSTYPE_SSB: |
| 461 | dma_unmap_single(dev->dev, dma_addr, size, dir); | 472 | dma_unmap_single(dev->dev, dma_addr, size, dir); |
| 462 | return; | 473 | return; |
| 463 | default: | 474 | default: |
| 464 | __ssb_dma_not_implemented(dev); | 475 | break; |
| 465 | } | 476 | } |
| 477 | __ssb_dma_not_implemented(dev); | ||
| 466 | } | 478 | } |
| 467 | 479 | ||
| 468 | static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev, | 480 | static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev, |
| @@ -472,15 +484,19 @@ static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev, | |||
| 472 | { | 484 | { |
| 473 | switch (dev->bus->bustype) { | 485 | switch (dev->bus->bustype) { |
| 474 | case SSB_BUSTYPE_PCI: | 486 | case SSB_BUSTYPE_PCI: |
| 487 | #ifdef CONFIG_SSB_PCIHOST | ||
| 475 | pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, | 488 | pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, |
| 476 | size, dir); | 489 | size, dir); |
| 477 | return; | 490 | return; |
| 491 | #endif | ||
| 492 | break; | ||
| 478 | case SSB_BUSTYPE_SSB: | 493 | case SSB_BUSTYPE_SSB: |
| 479 | dma_sync_single_for_cpu(dev->dev, dma_addr, size, dir); | 494 | dma_sync_single_for_cpu(dev->dev, dma_addr, size, dir); |
| 480 | return; | 495 | return; |
| 481 | default: | 496 | default: |
| 482 | __ssb_dma_not_implemented(dev); | 497 | break; |
| 483 | } | 498 | } |
| 499 | __ssb_dma_not_implemented(dev); | ||
| 484 | } | 500 | } |
| 485 | 501 | ||
| 486 | static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev, | 502 | static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev, |
| @@ -490,15 +506,19 @@ static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev, | |||
| 490 | { | 506 | { |
| 491 | switch (dev->bus->bustype) { | 507 | switch (dev->bus->bustype) { |
| 492 | case SSB_BUSTYPE_PCI: | 508 | case SSB_BUSTYPE_PCI: |
| 509 | #ifdef CONFIG_SSB_PCIHOST | ||
| 493 | pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, | 510 | pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, |
| 494 | size, dir); | 511 | size, dir); |
| 495 | return; | 512 | return; |
| 513 | #endif | ||
| 514 | break; | ||
| 496 | case SSB_BUSTYPE_SSB: | 515 | case SSB_BUSTYPE_SSB: |
| 497 | dma_sync_single_for_device(dev->dev, dma_addr, size, dir); | 516 | dma_sync_single_for_device(dev->dev, dma_addr, size, dir); |
| 498 | return; | 517 | return; |
| 499 | default: | 518 | default: |
| 500 | __ssb_dma_not_implemented(dev); | 519 | break; |
| 501 | } | 520 | } |
| 521 | __ssb_dma_not_implemented(dev); | ||
| 502 | } | 522 | } |
| 503 | 523 | ||
| 504 | static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev, | 524 | static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev, |
| @@ -509,17 +529,21 @@ static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev, | |||
| 509 | { | 529 | { |
| 510 | switch (dev->bus->bustype) { | 530 | switch (dev->bus->bustype) { |
| 511 | case SSB_BUSTYPE_PCI: | 531 | case SSB_BUSTYPE_PCI: |
| 532 | #ifdef CONFIG_SSB_PCIHOST | ||
| 512 | /* Just sync everything. That's all the PCI API can do. */ | 533 | /* Just sync everything. That's all the PCI API can do. */ |
| 513 | pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, | 534 | pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, |
| 514 | offset + size, dir); | 535 | offset + size, dir); |
| 515 | return; | 536 | return; |
| 537 | #endif | ||
| 538 | break; | ||
| 516 | case SSB_BUSTYPE_SSB: | 539 | case SSB_BUSTYPE_SSB: |
| 517 | dma_sync_single_range_for_cpu(dev->dev, dma_addr, offset, | 540 | dma_sync_single_range_for_cpu(dev->dev, dma_addr, offset, |
| 518 | size, dir); | 541 | size, dir); |
| 519 | return; | 542 | return; |
| 520 | default: | 543 | default: |
| 521 | __ssb_dma_not_implemented(dev); | 544 | break; |
| 522 | } | 545 | } |
| 546 | __ssb_dma_not_implemented(dev); | ||
| 523 | } | 547 | } |
| 524 | 548 | ||
| 525 | static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev, | 549 | static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev, |
| @@ -530,17 +554,21 @@ static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev, | |||
| 530 | { | 554 | { |
| 531 | switch (dev->bus->bustype) { | 555 | switch (dev->bus->bustype) { |
| 532 | case SSB_BUSTYPE_PCI: | 556 | case SSB_BUSTYPE_PCI: |
| 557 | #ifdef CONFIG_SSB_PCIHOST | ||
| 533 | /* Just sync everything. That's all the PCI API can do. */ | 558 | /* Just sync everything. That's all the PCI API can do. */ |
| 534 | pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, | 559 | pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, |
| 535 | offset + size, dir); | 560 | offset + size, dir); |
| 536 | return; | 561 | return; |
| 562 | #endif | ||
| 563 | break; | ||
| 537 | case SSB_BUSTYPE_SSB: | 564 | case SSB_BUSTYPE_SSB: |
| 538 | dma_sync_single_range_for_device(dev->dev, dma_addr, offset, | 565 | dma_sync_single_range_for_device(dev->dev, dma_addr, offset, |
| 539 | size, dir); | 566 | size, dir); |
| 540 | return; | 567 | return; |
| 541 | default: | 568 | default: |
| 542 | __ssb_dma_not_implemented(dev); | 569 | break; |
| 543 | } | 570 | } |
| 571 | __ssb_dma_not_implemented(dev); | ||
| 544 | } | 572 | } |
| 545 | 573 | ||
| 546 | 574 | ||
