blob: dc983f0417b248c981b11c98671635ef36a986af [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Henrik Nordström26f9a6c2013-11-10 10:26:56 -07002/*
3 * Copyright (c) 2013, Henrik Nordstrom <henrik@henriknordstrom.net>
Henrik Nordström26f9a6c2013-11-10 10:26:56 -07004 */
5
6#ifndef __SANDBOX_BLOCK_DEV__
7#define __SANDBOX_BLOCK_DEV__
8
Simon Glassc6d76812021-11-24 09:26:40 -07009/* Maximum number of host devices - see drivers/block/sandbox.c */
10#define SANDBOX_HOST_MAX_DEVICES 4
11
Henrik Nordström26f9a6c2013-11-10 10:26:56 -070012struct host_block_dev {
Simon Glass2c2075a2016-02-29 15:25:57 -070013#ifndef CONFIG_BLK
Simon Glasse3394752016-02-29 15:25:34 -070014 struct blk_desc blk_dev;
Simon Glass2c2075a2016-02-29 15:25:57 -070015#endif
Henrik Nordström26f9a6c2013-11-10 10:26:56 -070016 char *filename;
17 int fd;
18};
19
Simon Glassb4d00772021-03-15 18:11:11 +130020/**
21 * host_dev_bind() - Bind or unbind a device
22 *
23 * @dev: Device number (0=first slot)
24 * @filename: Host filename to use, or NULL to unbind
25 * @removable: true if the block device should mark itself as removable
26 */
27int host_dev_bind(int dev, char *filename, bool removable);
Henrik Nordström26f9a6c2013-11-10 10:26:56 -070028
AKASHI Takahiro777cc2c2022-04-19 10:01:55 +090029int host_get_dev_err(int dev, struct blk_desc **blk_devp);
30
Henrik Nordström26f9a6c2013-11-10 10:26:56 -070031#endif