1STRUCT HSI_PORT(9) High Speed Synchronous Serial STRUCT HSI_PORT(9)
2
3
4
6 struct_hsi_port - HSI port device
7
9 struct hsi_port {
10 struct device device;
11 struct hsi_config tx_cfg;
12 struct hsi_config rx_cfg;
13 unsigned int num;
14 unsigned int shared:1;
15 int claimed;
16 struct mutex lock;
17 int (* async) (struct hsi_msg *msg);
18 int (* setup) (struct hsi_client *cl);
19 int (* flush) (struct hsi_client *cl);
20 int (* start_tx) (struct hsi_client *cl);
21 int (* stop_tx) (struct hsi_client *cl);
22 int (* release) (struct hsi_client *cl);
23 struct atomic_notifier_head n_head;
24 };
25
27 device
28 Driver model representation of the device
29
30 tx_cfg
31 Current TX path configuration
32
33 rx_cfg
34 Current RX path configuration
35
36 num
37 Port number
38
39 shared
40 Set when port can be shared by different clients
41
42 claimed
43 Reference count of clients which claimed the port
44
45 lock
46 Serialize port claim
47
48 async
49 Asynchronous transfer callback
50
51 setup
52 Callback to set the HSI client configuration
53
54 flush
55 Callback to clean the HW state and destroy all pending transfers
56
57 start_tx
58 Callback to inform that a client wants to TX data
59
60 stop_tx
61 Callback to inform that a client no longer wishes to TX data
62
63 release
64 Callback to inform that a client no longer uses the port
65
66 n_head
67 Notifier chain for signaling port events to the clients.
68
70Kernel Hackers Manual 3.10 June 2019 STRUCT HSI_PORT(9)