mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[libata] Add ATA transport class
This is a scheleton for libata transport class. All information is read only, exporting information from libata: - ata_port class: one per ATA port - ata_link class: one per ATA port or 15 for SATA Port Multiplier - ata_device class: up to 2 for PATA link, usually one for SATA. Signed-off-by: Gwendal Grignou <gwendal@google.com> Reviewed-by: Grant Grundler <grundler@google.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
f6f94e2ab1
commit
d9027470b8
10 changed files with 987 additions and 40 deletions
|
@ -604,6 +604,7 @@ struct ata_device {
|
|||
union acpi_object *gtf_cache;
|
||||
unsigned int gtf_filter;
|
||||
#endif
|
||||
struct device tdev;
|
||||
/* n_sector is CLEAR_BEGIN, read comment above CLEAR_BEGIN */
|
||||
u64 n_sectors; /* size of device, if ATA */
|
||||
u64 n_native_sectors; /* native size, if ATA */
|
||||
|
@ -690,6 +691,7 @@ struct ata_link {
|
|||
struct ata_port *ap;
|
||||
int pmp; /* port multiplier port # */
|
||||
|
||||
struct device tdev;
|
||||
unsigned int active_tag; /* active tag on this link */
|
||||
u32 sactive; /* active NCQ commands */
|
||||
|
||||
|
@ -707,6 +709,8 @@ struct ata_link {
|
|||
|
||||
struct ata_device device[ATA_MAX_DEVICES];
|
||||
};
|
||||
#define ATA_LINK_CLEAR_BEGIN offsetof(struct ata_link, active_tag)
|
||||
#define ATA_LINK_CLEAR_END offsetof(struct ata_link, device[0])
|
||||
|
||||
struct ata_port {
|
||||
struct Scsi_Host *scsi_host; /* our co-allocated scsi host */
|
||||
|
@ -752,6 +756,7 @@ struct ata_port {
|
|||
struct ata_port_stats stats;
|
||||
struct ata_host *host;
|
||||
struct device *dev;
|
||||
struct device tdev;
|
||||
|
||||
struct mutex scsi_scan_mutex;
|
||||
struct delayed_work hotplug_task;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue