usb_mass_storage.h 849 B

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * Copyright (C) 2011 Samsung Electrnoics
  3. * Lukasz Majewski <l.majewski@samsung.com>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef __USB_MASS_STORAGE_H__
  8. #define __USB_MASS_STORAGE_H__
  9. #define SECTOR_SIZE 0x200
  10. #include <part.h>
  11. #include <linux/usb/composite.h>
  12. /* Wait at maximum 60 seconds for cable connection */
  13. #define UMS_CABLE_READY_TIMEOUT 60
  14. struct ums {
  15. int (*read_sector)(struct ums *ums_dev,
  16. ulong start, lbaint_t blkcnt, void *buf);
  17. int (*write_sector)(struct ums *ums_dev,
  18. ulong start, lbaint_t blkcnt, const void *buf);
  19. unsigned int start_sector;
  20. unsigned int num_sectors;
  21. const char *name;
  22. struct blk_desc block_dev;
  23. };
  24. int fsg_init(struct ums *ums_devs, int count);
  25. void fsg_cleanup(void);
  26. int fsg_main_thread(void *);
  27. int fsg_add(struct usb_configuration *c);
  28. #endif /* __USB_MASS_STORAGE_H__ */