![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0-only 0002 * 0003 * Copyright (C) 2020-21 Intel Corporation. 0004 */ 0005 0006 #ifndef IOSM_IPC_PORT_H 0007 #define IOSM_IPC_PORT_H 0008 0009 #include <linux/wwan.h> 0010 0011 #include "iosm_ipc_imem_ops.h" 0012 0013 /** 0014 * struct iosm_cdev - State of the char driver layer. 0015 * @iosm_port: Pointer of type wwan_port 0016 * @ipc_imem: imem instance 0017 * @dev: Pointer to device struct 0018 * @pcie: PCIe component 0019 * @port_type: WWAN port type 0020 * @channel: Channel instance 0021 * @chl_id: Channel Indentifier 0022 */ 0023 struct iosm_cdev { 0024 struct wwan_port *iosm_port; 0025 struct iosm_imem *ipc_imem; 0026 struct device *dev; 0027 struct iosm_pcie *pcie; 0028 enum wwan_port_type port_type; 0029 struct ipc_mem_channel *channel; 0030 enum ipc_channel_id chl_id; 0031 }; 0032 0033 /** 0034 * ipc_port_init - Allocate IPC port & register to wwan subsystem for AT/MBIM 0035 * communication. 0036 * @ipc_imem: Pointer to iosm_imem structure 0037 * @ipc_port_cfg: IPC Port Config 0038 * 0039 * Returns: 0 on success & NULL on failure 0040 */ 0041 struct iosm_cdev *ipc_port_init(struct iosm_imem *ipc_imem, 0042 struct ipc_chnl_cfg ipc_port_cfg); 0043 0044 /** 0045 * ipc_port_deinit - Free IPC port & unregister port with wwan subsystem. 0046 * @ipc_port: Array of pointer to the ipc port data-struct 0047 */ 0048 void ipc_port_deinit(struct iosm_cdev *ipc_port[]); 0049 0050 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |