X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fata%2Fsata_ceva.c;h=bae26898bad21121d8a1e1b4be80ba4fc7992aaf;hb=58a6fb7b04963d1bf353b66e27f3084037babd6c;hp=0c24fce8dc32f9dcb3d0360a198e4c2e205cf45f;hpb=f2105c61821b67bc1d572304d901518e88ee007b;p=u-boot diff --git a/drivers/ata/sata_ceva.c b/drivers/ata/sata_ceva.c index 0c24fce8dc..bae26898ba 100644 --- a/drivers/ata/sata_ceva.c +++ b/drivers/ata/sata_ceva.c @@ -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), };