GNU Linux-libre 4.19.264-gnu1
[releases.git] / drivers / usb / gadget / function / u_printer.h
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * u_printer.h
4  *
5  * Utility definitions for the printer function
6  *
7  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
8  *              http://www.samsung.com
9  *
10  * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
11  */
12
13 #ifndef U_PRINTER_H
14 #define U_PRINTER_H
15
16 #include <linux/usb/composite.h>
17
18 struct f_printer_opts {
19         struct usb_function_instance    func_inst;
20         int                             minor;
21         char                            *pnp_string;
22         bool                            pnp_string_allocated;
23         unsigned                        q_len;
24
25         /*
26          * Protect the data from concurrent access by read/write
27          * and create symlink/remove symlink
28          */
29         struct mutex                    lock;
30         int                             refcnt;
31 };
32
33 #endif /* U_PRINTER_H */