Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| sata_port_multipliers [2019/04/24 11:31] – [struct ata_port] rpjday | sata_port_multipliers [2019/04/24 12:30] (current) – [struct ata_device] rpjday | ||
|---|---|---|---|
| Line 14: | Line 14: | ||
| * Makefile | * Makefile | ||
| * libata-pmp.c | * libata-pmp.c | ||
| + | * libata-eh.c | ||
| ===== Build files [drivers/ | ===== Build files [drivers/ | ||
| Line 108: | Line 109: | ||
| ... | ... | ||
| ATA_FLAG_PMP | ATA_FLAG_PMP | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | struct ata_port_operations { | ||
| + | ... | ||
| + | void (*pmp_attach)(struct ata_port *ap); | ||
| + | void (*pmp_detach)(struct ata_port *ap); | ||
| ... | ... | ||
| </ | </ | ||
| Line 172: | Line 181: | ||
| unsigned int class; | unsigned int class; | ||
| ... | ... | ||
| + | union { | ||
| + | u16 | ||
| + | u32 | ||
| + | } ____cacheline_aligned; | ||
| + | |||
| </ | </ | ||
| Line 185: | Line 199: | ||
| int | int | ||
| ... | ... | ||
| + | struct ata_device | ||
| </ | </ | ||
| Line 209: | Line 224: | ||
| </ | </ | ||
| - | ===== libata-pmp.c ===== | + | ===== drivers/ |
| + | |||
| + | ==== libata-eh.c ==== | ||
| + | |||
| + | < | ||
| + | static int ata_eh_revalidate_and_attach(struct ata_link *link, | ||
| + | struct ata_device **r_failed_dev) | ||
| + | { | ||
| + | struct ata_port *ap = link-> | ||
| + | struct ata_eh_context *ehc = & | ||
| + | struct ata_device *dev; | ||
| + | ... | ||
| + | ata_for_each_dev(dev, | ||
| + | ... | ||
| + | dev-> | ||
| + | |||
| + | if (dev-> | ||
| + | rc = sata_pmp_attach(dev); | ||
| + | else | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | ==== libata-pmp.c | ||
| - | ==== sata_pmp_configure() | + | === sata_pmp_configure() === |