]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | // SPDX-License-Identifier: GPL-2.0+ |
e8a016b5 MS |
2 | /* |
3 | * Copyright (c) 2015 Google, Inc | |
4 | * Written by Simon Glass <[email protected]> | |
5 | * Copyright (c) 2016 Xilinx, Inc | |
6 | * Written by Michal Simek | |
7 | * | |
8 | * Based on ahci-uclass.c | |
e8a016b5 MS |
9 | */ |
10 | ||
11 | #include <common.h> | |
12 | #include <dm.h> | |
13 | #include <scsi.h> | |
14 | ||
f6ab5a92 SG |
15 | int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) |
16 | { | |
17 | struct scsi_ops *ops = scsi_get_ops(dev); | |
18 | ||
19 | if (!ops->exec) | |
20 | return -ENOSYS; | |
21 | ||
22 | return ops->exec(dev, pccb); | |
23 | } | |
24 | ||
25 | int scsi_bus_reset(struct udevice *dev) | |
26 | { | |
27 | struct scsi_ops *ops = scsi_get_ops(dev); | |
28 | ||
29 | if (!ops->bus_reset) | |
30 | return -ENOSYS; | |
31 | ||
32 | return ops->bus_reset(dev); | |
33 | } | |
34 | ||
e8a016b5 MS |
35 | UCLASS_DRIVER(scsi) = { |
36 | .id = UCLASS_SCSI, | |
37 | .name = "scsi", | |
1dc64f6c | 38 | .per_device_platdata_auto_alloc_size = sizeof(struct scsi_platdata), |
e8a016b5 | 39 | }; |