/* hpsb_iso_xmit_init - allocate the buffer and DMA context  */
struct hpsb_iso* hpsb_iso_xmit_init(struct hpsb_host *host, unsigned int data_buf_size, unsigned int buf_packets, int channel, int speed, int irq_interval, void(*callback)(struct hpsb_iso *))
/* hpsb_iso_xmit_init - allocate the buffer and DMA context  */
struct hpsb_iso* hpsb_iso_xmit_init(struct hpsb_host *host, unsigned int data_buf_size, unsigned int buf_packets, int channel, int speed, int irq_interval, void(*callback)(struct hpsb_iso *))
{
	struct hpsb_iso *iso = hpsb_iso_common_init(host, HPSB_ISO_XMIT,
						    data_buf_size, buf_packets,
						    channel,
						    HPSB_ISO_DMA_DEFAULT,
						    irq_interval, callback);
	if (!iso)
		return NULL;
	iso->speed = speed;
	if (host->driver->isoctl(iso, XMIT_INIT, 0))
		goto err;
	iso->flags |= HPSB_ISO_DRIVER_INIT;
	return iso;
      err:
	hpsb_iso_shutdown(iso);
	return NULL;
}