mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-20 00:11:22 +00:00
[PATCH] libata: Add ata_host_set_init
Add ata_host_set_init in preparation for SAS attached SATA. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
c256e95f7d
commit
b03732f006
@ -5350,6 +5350,28 @@ err_out:
|
||||
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
|
||||
@ -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++) {
|
||||
@ -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);
|
||||
|
@ -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…
Reference in New Issue
Block a user