diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-06-24 09:31:54 -0400 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-07-09 18:07:41 -0400 |
commit | 53c96b41742a2dadd14e65c23fc119f2a2fd9f05 (patch) | |
tree | 44593ed2871181d95772ffb740e912c9585672d8 /drivers/ieee1394/highlevel.c | |
parent | 77bba7aea7dc833caa34761fa7ce081a40a14493 (diff) |
ieee1394: remove old isochronous ABI
Based on patch "the scheduled removal of RAW1394_REQ_ISO_{SEND,LISTEN}"
from Adrian Bunk, November 20 2006.
This patch also removes the underlying facilities in ohci1394 and
disables them in pcilynx. That is, hpsb_host_driver.devctl() and
hpsb_host_driver.transmit_packet() are no longer used for iso reception
and transmission.
Since video1394 and dv1394 only work with ohci1394 and raw1394's rawiso
interface has never been implemented in pcilynx, pcilynx is now no
longer useful for isochronous applications.
raw1394 will still handle the request types but will complete the
requests with errors that indicate API version conflicts.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/ieee1394/highlevel.c')
-rw-r--r-- | drivers/ieee1394/highlevel.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/drivers/ieee1394/highlevel.c b/drivers/ieee1394/highlevel.c index 83a493312751..b6425469b6ee 100644 --- a/drivers/ieee1394/highlevel.c +++ b/drivers/ieee1394/highlevel.c | |||
@@ -483,37 +483,6 @@ int hpsb_unregister_addrspace(struct hpsb_highlevel *hl, struct hpsb_host *host, | |||
483 | return retval; | 483 | return retval; |
484 | } | 484 | } |
485 | 485 | ||
486 | /** | ||
487 | * hpsb_listen_channel - enable receving a certain isochronous channel | ||
488 | * | ||
489 | * Reception is handled through the @hl's iso_receive op. | ||
490 | */ | ||
491 | int hpsb_listen_channel(struct hpsb_highlevel *hl, struct hpsb_host *host, | ||
492 | unsigned int channel) | ||
493 | { | ||
494 | if (channel > 63) { | ||
495 | HPSB_ERR("%s called with invalid channel", __FUNCTION__); | ||
496 | return -EINVAL; | ||
497 | } | ||
498 | if (host->iso_listen_count[channel]++ == 0) | ||
499 | return host->driver->devctl(host, ISO_LISTEN_CHANNEL, channel); | ||
500 | return 0; | ||
501 | } | ||
502 | |||
503 | /** | ||
504 | * hpsb_unlisten_channel - disable receving a certain isochronous channel | ||
505 | */ | ||
506 | void hpsb_unlisten_channel(struct hpsb_highlevel *hl, struct hpsb_host *host, | ||
507 | unsigned int channel) | ||
508 | { | ||
509 | if (channel > 63) { | ||
510 | HPSB_ERR("%s called with invalid channel", __FUNCTION__); | ||
511 | return; | ||
512 | } | ||
513 | if (--host->iso_listen_count[channel] == 0) | ||
514 | host->driver->devctl(host, ISO_UNLISTEN_CHANNEL, channel); | ||
515 | } | ||
516 | |||
517 | static void init_hpsb_highlevel(struct hpsb_host *host) | 486 | static void init_hpsb_highlevel(struct hpsb_host *host) |
518 | { | 487 | { |
519 | INIT_LIST_HEAD(&dummy_zero_addr.host_list); | 488 | INIT_LIST_HEAD(&dummy_zero_addr.host_list); |
@@ -570,20 +539,6 @@ void highlevel_host_reset(struct hpsb_host *host) | |||
570 | read_unlock_irqrestore(&hl_irqs_lock, flags); | 539 | read_unlock_irqrestore(&hl_irqs_lock, flags); |
571 | } | 540 | } |
572 | 541 | ||
573 | void highlevel_iso_receive(struct hpsb_host *host, void *data, size_t length) | ||
574 | { | ||
575 | unsigned long flags; | ||
576 | struct hpsb_highlevel *hl; | ||
577 | int channel = (((quadlet_t *)data)[0] >> 8) & 0x3f; | ||
578 | |||
579 | read_lock_irqsave(&hl_irqs_lock, flags); | ||
580 | list_for_each_entry(hl, &hl_irqs, irq_list) { | ||
581 | if (hl->iso_receive) | ||
582 | hl->iso_receive(host, channel, data, length); | ||
583 | } | ||
584 | read_unlock_irqrestore(&hl_irqs_lock, flags); | ||
585 | } | ||
586 | |||
587 | void highlevel_fcp_request(struct hpsb_host *host, int nodeid, int direction, | 542 | void highlevel_fcp_request(struct hpsb_host *host, int nodeid, int direction, |
588 | void *data, size_t length) | 543 | void *data, size_t length) |
589 | { | 544 | { |