]>
Commit | Line | Data |
---|---|---|
b528f713 ŁM |
1 | /* |
2 | * Copyright (C) 2011 Samsung Electrnoics | |
3 | * Lukasz Majewski <l.majewski@samsung.com> | |
4 | * | |
1a459660 | 5 | * SPDX-License-Identifier: GPL-2.0+ |
b528f713 ŁM |
6 | */ |
7 | ||
8 | #ifndef __USB_MASS_STORAGE_H__ | |
9 | #define __USB_MASS_STORAGE_H__ | |
10 | ||
11 | #define SECTOR_SIZE 0x200 | |
b528f713 | 12 | #include <mmc.h> |
ba4e95c9 | 13 | #include <linux/usb/composite.h> |
b528f713 | 14 | |
93c813b3 PM |
15 | #ifndef UMS_START_SECTOR |
16 | #define UMS_START_SECTOR 0 | |
17 | #endif | |
b528f713 | 18 | |
93c813b3 PM |
19 | #ifndef UMS_NUM_SECTORS |
20 | #define UMS_NUM_SECTORS 0 | |
21 | #endif | |
22 | ||
23 | struct ums { | |
24 | int (*read_sector)(struct ums *ums_dev, | |
b528f713 | 25 | ulong start, lbaint_t blkcnt, void *buf); |
93c813b3 | 26 | int (*write_sector)(struct ums *ums_dev, |
b528f713 | 27 | ulong start, lbaint_t blkcnt, const void *buf); |
0697f206 PM |
28 | unsigned int start_sector; |
29 | unsigned int num_sectors; | |
b528f713 | 30 | const char *name; |
93c813b3 | 31 | struct mmc *mmc; |
b528f713 ŁM |
32 | }; |
33 | ||
93c813b3 PM |
34 | extern struct ums *ums; |
35 | ||
36 | int fsg_init(struct ums *); | |
16297cfb | 37 | void fsg_cleanup(void); |
93c813b3 | 38 | struct ums *ums_init(unsigned int); |
16297cfb | 39 | int fsg_main_thread(void *); |
b528f713 | 40 | |
ba4e95c9 ŁM |
41 | #ifdef CONFIG_USB_GADGET_MASS_STORAGE |
42 | int fsg_add(struct usb_configuration *c); | |
43 | #else | |
44 | int fsg_add(struct usb_configuration *c) | |
45 | { | |
46 | return 0; | |
47 | } | |
48 | #endif | |
b528f713 | 49 | #endif /* __USB_MASS_STORAGE_H__ */ |