]> git.sur5r.net Git - u-boot/blobdiff - drivers/ata/sata_ceva.c
mmc: reworked version lookup in mmc_startup_v4
[u-boot] / drivers / ata / sata_ceva.c
index 0c24fce8dc32f9dcb3d0360a198e4c2e205cf45f..bae26898bad21121d8a1e1b4be80ba4fc7992aaf 100644 (file)
@@ -113,10 +113,16 @@ static int ceva_init_sata(ulong mmio)
 
 static int sata_ceva_probe(struct udevice *dev)
 {
-       struct scsi_platdata *plat = dev_get_platdata(dev);
+       int ret;
+       struct scsi_platdata *plat = dev_get_uclass_platdata(dev);
 
        ceva_init_sata(plat->base);
-       return 0;
+
+       ret = ahci_init_one_dm(dev);
+       if (ret)
+               return ret;
+
+       return ahci_start_ports_dm(dev);
 }
 
 static const struct udevice_id sata_ceva_ids[] = {
@@ -126,7 +132,7 @@ static const struct udevice_id sata_ceva_ids[] = {
 
 static int sata_ceva_ofdata_to_platdata(struct udevice *dev)
 {
-       struct scsi_platdata *plat = dev_get_platdata(dev);
+       struct scsi_platdata *plat = dev_get_uclass_platdata(dev);
 
        plat->base = devfdt_get_addr(dev);
        if (plat->base == FDT_ADDR_T_NONE)
@@ -143,7 +149,7 @@ U_BOOT_DRIVER(ceva_host_blk) = {
        .name = "ceva_sata",
        .id = UCLASS_SCSI,
        .of_match = sata_ceva_ids,
+       .ops = &scsi_ops,
        .probe = sata_ceva_probe,
        .ofdata_to_platdata = sata_ceva_ofdata_to_platdata,
-       .platdata_auto_alloc_size = sizeof(struct scsi_platdata),
 };