openwrt/target/linux/cns3xxx/patches-3.10/080-sata_support.patch

45 lines
1.2 KiB
Diff

--- a/arch/arm/mach-cns3xxx/devices.c
+++ b/arch/arm/mach-cns3xxx/devices.c
@@ -40,7 +40,7 @@ static struct resource cns3xxx_ahci_reso
static u64 cns3xxx_ahci_dmamask = DMA_BIT_MASK(32);
static struct platform_device cns3xxx_ahci_pdev = {
- .name = "ahci",
+ .name = "cns3xxx-ahci",
.id = 0,
.resource = cns3xxx_ahci_resource,
.num_resources = ARRAY_SIZE(cns3xxx_ahci_resource),
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
@@ -31,6 +31,7 @@ enum ahci_type {
AHCI, /* standard platform ahci */
IMX53_AHCI, /* ahci on i.mx53 */
STRICT_AHCI, /* delayed DMA engine start */
+ CNS3XXX_AHCI, /* AHCI on cns3xxx */
};
static struct platform_device_id ahci_devtype[] = {
@@ -44,6 +45,9 @@ static struct platform_device_id ahci_de
.name = "strict-ahci",
.driver_data = STRICT_AHCI,
}, {
+ .name = "cns3xxx-ahci",
+ .driver_data = CNS3XXX_AHCI,
+ }, {
/* sentinel */
}
};
@@ -80,6 +84,12 @@ static const struct ata_port_info ahci_p
.udma_mask = ATA_UDMA6,
.port_ops = &ahci_platform_ops,
},
+ [CNS3XXX_AHCI] = {
+ .flags = AHCI_FLAG_COMMON,
+ .pio_mask = ATA_PIO4,
+ .udma_mask = ATA_UDMA6,
+ .port_ops = &ahci_platform_retry_srst_ops,
+ }
};
static struct scsi_host_template ahci_platform_sht = {