Hsi port device
struct hsi_port { struct device device; struct hsi_config tx_cfg; struct hsi_config rx_cfg; unsigned int num; unsigned int shared:1; int claimed; struct mutex lock; int (* async) (struct hsi_msg *msg); int (* setup) (struct hsi_client *cl); int (* flush) (struct hsi_client *cl); int (* start_tx) (struct hsi_client *cl); int (* stop_tx) (struct hsi_client *cl); int (* release) (struct hsi_client *cl); struct atomic_notifier_head n_head; };
device
Driver model representation of the device
tx_cfg
Current TX path configuration
rx_cfg
Current RX path configuration
num
Port number
shared
Set when port can be shared by different clients
claimed
Reference count of clients which claimed the port
lock
Serialize port claim
async
Asynchronous transfer callback
setup
Callback to set the HSI client configuration
flush
Callback to clean the HW state and destroy all pending transfers
start_tx
Callback to inform that a client wants to TX data
stop_tx
Callback to inform that a client no longer wishes to TX data
release
Callback to inform that a client no longer uses the port
n_head
Notifier chain for signaling port events to the clients.