Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35bb94b1 authored by Jeff Garzik's avatar Jeff Garzik
Browse files

libata: Add helper ata_shost_to_port()

parent 381544bb
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -4659,7 +4659,7 @@ static struct ata_port * ata_host_add(const struct ata_probe_ent *ent,

	host->transportt = &ata_scsi_transport_template;

	ap = (struct ata_port *) &host->hostdata[0];
	ap = ata_shost_to_port(host);

	ata_host_init(ap, host, host_set, ent, port_no);

@@ -4872,7 +4872,7 @@ void ata_host_set_remove(struct ata_host_set *host_set)

int ata_scsi_release(struct Scsi_Host *host)
{
	struct ata_port *ap = (struct ata_port *) &host->hostdata[0];
	struct ata_port *ap = ata_shost_to_port(host);
	int i;

	DPRINTK("ENTER\n");
+2 −2
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@
enum scsi_eh_timer_return ata_scsi_timed_out(struct scsi_cmnd *cmd)
{
	struct Scsi_Host *host = cmd->device->host;
	struct ata_port *ap = (struct ata_port *) &host->hostdata[0];
	struct ata_port *ap = ata_shost_to_port(host);
	unsigned long flags;
	struct ata_queued_cmd *qc;
	enum scsi_eh_timer_return ret = EH_HANDLED;
@@ -99,7 +99,7 @@ enum scsi_eh_timer_return ata_scsi_timed_out(struct scsi_cmnd *cmd)
 */
void ata_scsi_error(struct Scsi_Host *host)
{
	struct ata_port *ap = (struct ata_port *)&host->hostdata[0];
	struct ata_port *ap = ata_shost_to_port(host);

	DPRINTK("ENTER\n");

+4 −4
Original line number Diff line number Diff line
@@ -395,7 +395,7 @@ void ata_dump_status(unsigned id, struct ata_taskfile *tf)

int ata_scsi_device_resume(struct scsi_device *sdev)
{
	struct ata_port *ap = (struct ata_port *) &sdev->host->hostdata[0];
	struct ata_port *ap = ata_shost_to_port(sdev->host);
	struct ata_device *dev = &ap->device[sdev->id];

	return ata_device_resume(ap, dev);
@@ -403,7 +403,7 @@ int ata_scsi_device_resume(struct scsi_device *sdev)

int ata_scsi_device_suspend(struct scsi_device *sdev, pm_message_t state)
{
	struct ata_port *ap = (struct ata_port *) &sdev->host->hostdata[0];
	struct ata_port *ap = ata_shost_to_port(sdev->host);
	struct ata_device *dev = &ap->device[sdev->id];

	return ata_device_suspend(ap, dev, state);
@@ -704,7 +704,7 @@ int ata_scsi_slave_config(struct scsi_device *sdev)
		struct ata_port *ap;
		struct ata_device *dev;

		ap = (struct ata_port *) &sdev->host->hostdata[0];
		ap = ata_shost_to_port(sdev->host);
		dev = &ap->device[sdev->id];

		ata_scsi_dev_config(sdev, dev);
@@ -2478,7 +2478,7 @@ int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
	struct scsi_device *scsidev = cmd->device;
	struct Scsi_Host *shost = scsidev->host;

	ap = (struct ata_port *) &shost->hostdata[0];
	ap = ata_shost_to_port(shost);

	spin_unlock(shost->host_lock);
	spin_lock(&ap->host_set->lock);
+1 −1
Original line number Diff line number Diff line
@@ -257,7 +257,7 @@ static int k2_sata_proc_info(struct Scsi_Host *shost, char *page, char **start,
	int len, index;

	/* Find  the ata_port */
	ap = (struct ata_port *) &shost->hostdata[0];
	ap = ata_shost_to_port(shost);
	if (ap == NULL)
		return 0;

+6 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@
#include <asm/io.h>
#include <linux/ata.h>
#include <linux/workqueue.h>
#include <scsi/scsi_host.h>

/*
 * compile-time options: to be removed as soon as all the drivers are
@@ -977,4 +978,9 @@ static inline void ata_pad_free(struct ata_port *ap, struct device *dev)
	dma_free_coherent(dev, ATA_DMA_PAD_BUF_SZ, ap->pad, ap->pad_dma);
}

static inline struct ata_port *ata_shost_to_port(struct Scsi_Host *host)
{
	return (struct ata_port *) &host->hostdata[0];
}

#endif /* __LINUX_LIBATA_H__ */