Lines Matching refs:host
130 eesoxscsi_terminator_ctl(struct Scsi_Host *host, int on_off) in eesoxscsi_terminator_ctl() argument
132 struct eesoxscsi_info *info = (struct eesoxscsi_info *)host->hostdata; in eesoxscsi_terminator_ctl()
166 eesoxscsi_dma_setup(struct Scsi_Host *host, Scsi_Pointer *SCp, in eesoxscsi_dma_setup() argument
169 struct eesoxscsi_info *info = (struct eesoxscsi_info *)host->hostdata; in eesoxscsi_dma_setup()
170 int dmach = host->dma_channel; in eesoxscsi_dma_setup()
348 eesoxscsi_dma_pseudo(struct Scsi_Host *host, Scsi_Pointer *SCp, in eesoxscsi_dma_pseudo() argument
351 unsigned int base = host->io_port; in eesoxscsi_dma_pseudo()
365 eesoxscsi_dma_stop(struct Scsi_Host *host, Scsi_Pointer *SCp) in eesoxscsi_dma_stop() argument
367 if (host->dma_channel != NO_DMA) in eesoxscsi_dma_stop()
368 disable_dma(host->dma_channel); in eesoxscsi_dma_stop()
376 const char *eesoxscsi_info(struct Scsi_Host *host) in eesoxscsi_info() argument
378 struct eesoxscsi_info *info = (struct eesoxscsi_info *)host->hostdata; in eesoxscsi_info()
382 host->hostt->name, info->info.scsi.type, info->ec->slot_no, in eesoxscsi_info()
396 eesoxscsi_set_proc_info(struct Scsi_Host *host, char *buffer, int length) in eesoxscsi_set_proc_info() argument
406 eesoxscsi_terminator_ctl(host, 1); in eesoxscsi_set_proc_info()
408 eesoxscsi_terminator_ctl(host, 0); in eesoxscsi_set_proc_info()
436 struct Scsi_Host *host; in eesoxscsi_proc_info() local
440 host = scsi_host_hn_get(host_no); in eesoxscsi_proc_info()
441 if (!host) in eesoxscsi_proc_info()
445 return eesoxscsi_set_proc_info(host, buffer, length); in eesoxscsi_proc_info()
447 info = (struct eesoxscsi_info *)host->hostdata; in eesoxscsi_proc_info()
459 for (scd = host->host_queue; scd; scd = scd->next) { in eesoxscsi_proc_info()
517 static void eesoxscsi_remove(struct Scsi_Host *host);
523 static int eesoxscsi_release(struct Scsi_Host *host) in eesoxscsi_release() argument
525 eesoxscsi_remove(host); in eesoxscsi_release()
556 struct Scsi_Host *host; in eesoxscsi_probe() local
569 host = scsi_register(&eesox_template, in eesoxscsi_probe()
571 if (!host) { in eesoxscsi_probe()
576 host->io_port = base; in eesoxscsi_probe()
577 host->irq = ec->irq; in eesoxscsi_probe()
578 host->dma_channel = ec->dma; in eesoxscsi_probe()
580 info = (struct eesoxscsi_info *)host->hostdata; in eesoxscsi_probe()
593 info->info.scsi.irq = host->irq; in eesoxscsi_probe()
606 ret = fas216_init(host); in eesoxscsi_probe()
610 ret = request_irq(host->irq, eesoxscsi_intr, 0, "eesox", &info->info); in eesoxscsi_probe()
613 host->host_no, host->irq, ret); in eesoxscsi_probe()
617 if (host->dma_channel != NO_DMA) { in eesoxscsi_probe()
618 if (request_dma(host->dma_channel, "eesox")) { in eesoxscsi_probe()
620 host->host_no, host->dma_channel); in eesoxscsi_probe()
621 host->dma_channel = NO_DMA; in eesoxscsi_probe()
623 set_dma_speed(host->dma_channel, 180); in eesoxscsi_probe()
629 ret = fas216_add(host); in eesoxscsi_probe()
633 if (host->dma_channel != NO_DMA) in eesoxscsi_probe()
634 free_dma(host->dma_channel); in eesoxscsi_probe()
635 free_irq(host->irq, host); in eesoxscsi_probe()
638 fas216_remove(host); in eesoxscsi_probe()
641 scsi_unregister(host); in eesoxscsi_probe()
650 static void eesoxscsi_remove(struct Scsi_Host *host) in eesoxscsi_remove() argument
652 struct eesoxscsi_info *info = (struct eesoxscsi_info *)host->hostdata; in eesoxscsi_remove()
654 fas216_remove(host); in eesoxscsi_remove()
656 if (host->dma_channel != NO_DMA) in eesoxscsi_remove()
657 free_dma(host->dma_channel); in eesoxscsi_remove()
658 free_irq(host->irq, host); in eesoxscsi_remove()
660 release_region(host->io_port + EESOX_FAS216_OFFSET, 16 << EESOX_FAS216_SHIFT); in eesoxscsi_remove()
662 fas216_release(host); in eesoxscsi_remove()