Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Michael Buesch and committed by
David S. Miller
fd0fcf5c 95814834

+35 -7
+35 -7
include/linux/ssb/ssb.h
··· 427 427 { 428 428 switch (dev->bus->bustype) { 429 429 case SSB_BUSTYPE_PCI: 430 + #ifdef CONFIG_SSB_PCIHOST 430 431 return pci_dma_mapping_error(dev->bus->host_pci, addr); 432 + #endif 433 + break; 431 434 case SSB_BUSTYPE_SSB: 432 435 return dma_mapping_error(dev->dev, addr); 433 436 default: 434 - __ssb_dma_not_implemented(dev); 437 + break; 435 438 } 439 + __ssb_dma_not_implemented(dev); 436 440 return -ENOSYS; 437 441 } 438 442 ··· 445 441 { 446 442 switch (dev->bus->bustype) { 447 443 case SSB_BUSTYPE_PCI: 444 + #ifdef CONFIG_SSB_PCIHOST 448 445 return pci_map_single(dev->bus->host_pci, p, size, dir); 446 + #endif 447 + break; 449 448 case SSB_BUSTYPE_SSB: 450 449 return dma_map_single(dev->dev, p, size, dir); 451 450 default: 452 - __ssb_dma_not_implemented(dev); 451 + break; 453 452 } 453 + __ssb_dma_not_implemented(dev); 454 454 return 0; 455 455 } 456 456 ··· 463 455 { 464 456 switch (dev->bus->bustype) { 465 457 case SSB_BUSTYPE_PCI: 458 + #ifdef CONFIG_SSB_PCIHOST 466 459 pci_unmap_single(dev->bus->host_pci, dma_addr, size, dir); 467 460 return; 461 + #endif 462 + break; 468 463 case SSB_BUSTYPE_SSB: 469 464 dma_unmap_single(dev->dev, dma_addr, size, dir); 470 465 return; 471 466 default: 472 - __ssb_dma_not_implemented(dev); 467 + break; 473 468 } 469 + __ssb_dma_not_implemented(dev); 474 470 } 475 471 476 472 static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev, ··· 484 472 { 485 473 switch (dev->bus->bustype) { 486 474 case SSB_BUSTYPE_PCI: 475 + #ifdef CONFIG_SSB_PCIHOST 487 476 pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, 488 477 size, dir); 489 478 return; 479 + #endif 480 + break; 490 481 case SSB_BUSTYPE_SSB: 491 482 dma_sync_single_for_cpu(dev->dev, dma_addr, size, dir); 492 483 return; 493 484 default: 494 - __ssb_dma_not_implemented(dev); 485 + break; 495 486 } 487 + __ssb_dma_not_implemented(dev); 496 488 } 497 489 498 490 static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev, ··· 506 490 { 507 491 switch (dev->bus->bustype) { 508 492 case SSB_BUSTYPE_PCI: 493 + #ifdef CONFIG_SSB_PCIHOST 509 494 pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, 510 495 size, dir); 511 496 return; 497 + #endif 498 + break; 512 499 case SSB_BUSTYPE_SSB: 513 500 dma_sync_single_for_device(dev->dev, dma_addr, size, dir); 514 501 return; 515 502 default: 516 - __ssb_dma_not_implemented(dev); 503 + break; 517 504 } 505 + __ssb_dma_not_implemented(dev); 518 506 } 519 507 520 508 static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev, ··· 529 509 { 530 510 switch (dev->bus->bustype) { 531 511 case SSB_BUSTYPE_PCI: 512 + #ifdef CONFIG_SSB_PCIHOST 532 513 /* Just sync everything. That's all the PCI API can do. */ 533 514 pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, 534 515 offset + size, dir); 535 516 return; 517 + #endif 518 + break; 536 519 case SSB_BUSTYPE_SSB: 537 520 dma_sync_single_range_for_cpu(dev->dev, dma_addr, offset, 538 521 size, dir); 539 522 return; 540 523 default: 541 - __ssb_dma_not_implemented(dev); 524 + break; 542 525 } 526 + __ssb_dma_not_implemented(dev); 543 527 } 544 528 545 529 static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev, ··· 554 530 { 555 531 switch (dev->bus->bustype) { 556 532 case SSB_BUSTYPE_PCI: 533 + #ifdef CONFIG_SSB_PCIHOST 557 534 /* Just sync everything. That's all the PCI API can do. */ 558 535 pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, 559 536 offset + size, dir); 560 537 return; 538 + #endif 539 + break; 561 540 case SSB_BUSTYPE_SSB: 562 541 dma_sync_single_range_for_device(dev->dev, dma_addr, offset, 563 542 size, dir); 564 543 return; 565 544 default: 566 - __ssb_dma_not_implemented(dev); 545 + break; 567 546 } 547 + __ssb_dma_not_implemented(dev); 568 548 } 569 549 570 550