static ssize_t powertecscsi_show_term(struct device *dev, char *buf) { struct expansion_card *ec = ECARD_DEV(dev); struct Scsi_Host *host = ecard_get_drvdata(ec); struct powertec_info *info = (struct powertec_info *)host->hostdata; return sprintf(buf, "%d\n", info->term_ctl ? 1 : 0); }
static ssize_t eesoxscsi_show_term(struct device *dev, struct device_attribute *attr, char *buf) { struct expansion_card *ec = ECARD_DEV(dev); struct Scsi_Host *host = ecard_get_drvdata(ec); struct eesoxscsi_info *info = (struct eesoxscsi_info *)host->hostdata; return sprintf(buf, "%d\n", info->control & EESOX_TERM_ENABLE ? 1 : 0); }
static void ether1_remove(struct expansion_card *ec) { struct net_device *dev = ecard_get_drvdata(ec); ecard_set_drvdata(ec, NULL); unregister_netdev(dev); free_netdev(dev); ecard_release_resources(ec); }
static void __devexit rapide_remove(struct expansion_card *ec) { struct ide_host *host = ecard_get_drvdata(ec); ecard_set_drvdata(ec, NULL); ide_host_remove(host); ecard_release_resources(ec); }
static void __devexit rapide_remove(struct expansion_card *ec) { ide_hwif_t *hwif = ecard_get_drvdata(ec); ecard_set_drvdata(ec, NULL); /* there must be a better way */ ide_unregister(hwif - ide_hwifs); ecard_release_resources(ec); }
static void __devexit oakscsi_remove(struct expansion_card *ec) { struct Scsi_Host *host = ecard_get_drvdata(ec); ecard_set_drvdata(ec, NULL); scsi_remove_host(host); release_region(host->io_port, host->n_io_port); scsi_host_put(host); }
static ssize_t powertecscsi_store_term(struct device *dev, const char *buf, size_t len) { struct expansion_card *ec = ECARD_DEV(dev); struct Scsi_Host *host = ecard_get_drvdata(ec); if (len > 1) powertecscsi_terminator_ctl(host, buf[0] != '0'); return len; }
static void __devexit oakscsi_remove(struct expansion_card *ec) { struct Scsi_Host *host = ecard_get_drvdata(ec); ecard_set_drvdata(ec, NULL); scsi_remove_host(host); NCR5380_exit(host); iounmap(priv(host)->base); scsi_host_put(host); ecard_release_resources(ec); }
static void __devexit cumanascsi1_remove(struct expansion_card *ec) { struct Scsi_Host *host = ecard_get_drvdata(ec); ecard_set_drvdata(ec, NULL); scsi_remove_host(host); free_irq(host->irq, host); NCR5380_exit(host); release_region(host->io_port, host->n_io_port); scsi_host_put(host); }
static void __devexit serial_card_remove(struct expansion_card *ec) { struct serial_card_info *info = ecard_get_drvdata(ec); int i; ecard_set_drvdata(ec, NULL); for (i = 0; i < info->num_ports; i++) if (info->ports[i] > 0) serial8250_unregister_port(info->ports[i]); kfree(info); }
static void cumanascsi1_remove(struct expansion_card *ec) { struct Scsi_Host *host = ecard_get_drvdata(ec); ecard_set_drvdata(ec, NULL); scsi_remove_host(host); free_irq(host->irq, host); NCR5380_exit(host); iounmap(priv(host)->base); iounmap(priv(host)->dma); scsi_host_put(host); ecard_release_resources(ec); }
static void eesoxscsi_remove(struct expansion_card *ec) { struct Scsi_Host *host = ecard_get_drvdata(ec); struct eesoxscsi_info *info = (struct eesoxscsi_info *)host->hostdata; ecard_set_drvdata(ec, NULL); fas216_remove(host); if (info->info.scsi.dma != NO_DMA) free_dma(info->info.scsi.dma); free_irq(ec->irq, info); device_remove_file(&ec->dev, &dev_attr_bus_term); fas216_release(host); scsi_host_put(host); ecard_release_resources(ec); }
static ssize_t eesoxscsi_store_term(struct device *dev, struct device_attribute *attr, const char *buf, size_t len) { struct expansion_card *ec = ECARD_DEV(dev); struct Scsi_Host *host = ecard_get_drvdata(ec); struct eesoxscsi_info *info = (struct eesoxscsi_info *)host->hostdata; unsigned long flags; if (len > 1) { spin_lock_irqsave(host->host_lock, flags); if (buf[0] != '0') { info->control |= EESOX_TERM_ENABLE; } else { info->control &= ~EESOX_TERM_ENABLE; } writeb(info->control, info->ctl_port); spin_unlock_irqrestore(host->host_lock, flags); } return len; }
static void __devexit eesoxscsi_remove(struct expansion_card *ec) { struct Scsi_Host *host = ecard_get_drvdata(ec); struct eesoxscsi_info *info = (struct eesoxscsi_info *)host->hostdata; ecard_set_drvdata(ec, NULL); fas216_remove(host); if (host->dma_channel != NO_DMA) free_dma(host->dma_channel); free_irq(host->irq, info); device_remove_file(&ec->dev, &dev_attr_bus_term); iounmap((void *)host->base); fas216_release(host); scsi_host_put(host); ecard_release_resources(ec); }