GNU Linux-libre 4.14.332-gnu1
[releases.git] / drivers / usb / gadget / function / u_printer.h
1 /*
2  * u_printer.h
3  *
4  * Utility definitions for the printer function
5  *
6  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
7  *              http://www.samsung.com
8  *
9  * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License version 2 as
13  * published by the Free Software Foundation.
14  */
15
16 #ifndef U_PRINTER_H
17 #define U_PRINTER_H
18
19 #include <linux/usb/composite.h>
20
21 struct f_printer_opts {
22         struct usb_function_instance    func_inst;
23         int                             minor;
24         char                            *pnp_string;
25         bool                            pnp_string_allocated;
26         unsigned                        q_len;
27
28         /*
29          * Protect the data from concurrent access by read/write
30          * and create symlink/remove symlink
31          */
32         struct mutex                    lock;
33         int                             refcnt;
34 };
35
36 #endif /* U_PRINTER_H */