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[] = {
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)
.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),
};