Loading drivers/scsi/libata-core.c +24 −4 Original line number Diff line number Diff line Loading @@ -5350,6 +5350,28 @@ static struct ata_port * ata_host_add(const struct ata_probe_ent *ent, return NULL; } /** * ata_sas_host_init - Initialize a host_set struct * @host_set: host_set to initialize * @dev: device host_set is attached to * @flags: host_set flags * @ops: port_ops * * LOCKING: * PCI/etc. bus probe sem. * */ void ata_host_set_init(struct ata_host_set *host_set, struct device *dev, unsigned long flags, const struct ata_port_operations *ops) { spin_lock_init(&host_set->lock); host_set->dev = dev; host_set->flags = flags; host_set->ops = ops; } /** * ata_device_add - Register hardware device with ATA and SCSI layers * @ent: Probe information describing hardware device to be registered Loading Loading @@ -5381,15 +5403,12 @@ int ata_device_add(const struct ata_probe_ent *ent) (ent->n_ports * sizeof(void *)), GFP_KERNEL); if (!host_set) return 0; spin_lock_init(&host_set->lock); host_set->dev = dev; ata_host_set_init(host_set, dev, ent->host_set_flags, ent->port_ops); host_set->n_ports = ent->n_ports; host_set->irq = ent->irq; host_set->mmio_base = ent->mmio_base; host_set->private_data = ent->private_data; host_set->ops = ent->port_ops; host_set->flags = ent->host_set_flags; /* register each port bound to this device */ for (i = 0; i < ent->n_ports; i++) { Loading Loading @@ -5908,6 +5927,7 @@ EXPORT_SYMBOL_GPL(sata_deb_timing_hotplug); EXPORT_SYMBOL_GPL(sata_deb_timing_long); EXPORT_SYMBOL_GPL(ata_std_bios_param); EXPORT_SYMBOL_GPL(ata_std_ports); EXPORT_SYMBOL_GPL(ata_host_set_init); EXPORT_SYMBOL_GPL(ata_device_add); EXPORT_SYMBOL_GPL(ata_port_detach); EXPORT_SYMBOL_GPL(ata_host_set_remove); Loading include/linux/libata.h +2 −0 Original line number Diff line number Diff line Loading @@ -684,6 +684,8 @@ extern int ata_pci_clear_simplex(struct pci_dev *pdev); #endif /* CONFIG_PCI */ extern int ata_device_add(const struct ata_probe_ent *ent); extern void ata_port_detach(struct ata_port *ap); extern void ata_host_set_init(struct ata_host_set *, struct device *, unsigned long, const struct ata_port_operations *); extern void ata_host_set_remove(struct ata_host_set *host_set); extern int ata_scsi_detect(struct scsi_host_template *sht); extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg); Loading Loading
drivers/scsi/libata-core.c +24 −4 Original line number Diff line number Diff line Loading @@ -5350,6 +5350,28 @@ static struct ata_port * ata_host_add(const struct ata_probe_ent *ent, return NULL; } /** * ata_sas_host_init - Initialize a host_set struct * @host_set: host_set to initialize * @dev: device host_set is attached to * @flags: host_set flags * @ops: port_ops * * LOCKING: * PCI/etc. bus probe sem. * */ void ata_host_set_init(struct ata_host_set *host_set, struct device *dev, unsigned long flags, const struct ata_port_operations *ops) { spin_lock_init(&host_set->lock); host_set->dev = dev; host_set->flags = flags; host_set->ops = ops; } /** * ata_device_add - Register hardware device with ATA and SCSI layers * @ent: Probe information describing hardware device to be registered Loading Loading @@ -5381,15 +5403,12 @@ int ata_device_add(const struct ata_probe_ent *ent) (ent->n_ports * sizeof(void *)), GFP_KERNEL); if (!host_set) return 0; spin_lock_init(&host_set->lock); host_set->dev = dev; ata_host_set_init(host_set, dev, ent->host_set_flags, ent->port_ops); host_set->n_ports = ent->n_ports; host_set->irq = ent->irq; host_set->mmio_base = ent->mmio_base; host_set->private_data = ent->private_data; host_set->ops = ent->port_ops; host_set->flags = ent->host_set_flags; /* register each port bound to this device */ for (i = 0; i < ent->n_ports; i++) { Loading Loading @@ -5908,6 +5927,7 @@ EXPORT_SYMBOL_GPL(sata_deb_timing_hotplug); EXPORT_SYMBOL_GPL(sata_deb_timing_long); EXPORT_SYMBOL_GPL(ata_std_bios_param); EXPORT_SYMBOL_GPL(ata_std_ports); EXPORT_SYMBOL_GPL(ata_host_set_init); EXPORT_SYMBOL_GPL(ata_device_add); EXPORT_SYMBOL_GPL(ata_port_detach); EXPORT_SYMBOL_GPL(ata_host_set_remove); Loading
include/linux/libata.h +2 −0 Original line number Diff line number Diff line Loading @@ -684,6 +684,8 @@ extern int ata_pci_clear_simplex(struct pci_dev *pdev); #endif /* CONFIG_PCI */ extern int ata_device_add(const struct ata_probe_ent *ent); extern void ata_port_detach(struct ata_port *ap); extern void ata_host_set_init(struct ata_host_set *, struct device *, unsigned long, const struct ata_port_operations *); extern void ata_host_set_remove(struct ata_host_set *host_set); extern int ata_scsi_detect(struct scsi_host_template *sht); extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg); Loading