]> git.ipfire.org Git - people/ms/u-boot.git/blob - drivers/scsi/scsi-uclass.c
dm: scsi: Add operations for SCSI devices
[people/ms/u-boot.git] / drivers / scsi / scsi-uclass.c
1 /*
2 * Copyright (c) 2015 Google, Inc
3 * Written by Simon Glass <sjg@chromium.org>
4 * Copyright (c) 2016 Xilinx, Inc
5 * Written by Michal Simek
6 *
7 * Based on ahci-uclass.c
8 *
9 * SPDX-License-Identifier: GPL-2.0+
10 */
11
12 #include <common.h>
13 #include <dm.h>
14 #include <scsi.h>
15
16 int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb)
17 {
18 struct scsi_ops *ops = scsi_get_ops(dev);
19
20 if (!ops->exec)
21 return -ENOSYS;
22
23 return ops->exec(dev, pccb);
24 }
25
26 int scsi_bus_reset(struct udevice *dev)
27 {
28 struct scsi_ops *ops = scsi_get_ops(dev);
29
30 if (!ops->bus_reset)
31 return -ENOSYS;
32
33 return ops->bus_reset(dev);
34 }
35
36 UCLASS_DRIVER(scsi) = {
37 .id = UCLASS_SCSI,
38 .name = "scsi",
39 .per_device_platdata_auto_alloc_size = sizeof(struct scsi_platdata),
40 };