linux/drivers/net/wwan/iosm/iosm_ipc_wwan.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2020-21 Intel Corporation.
 */

#include <linux/etherdevice.h>
#include <linux/if_arp.h>
#include <linux/if_link.h>
#include <linux/rtnetlink.h>
#include <linux/wwan.h>
#include <net/pkt_sched.h>

#include "iosm_ipc_chnl_cfg.h"
#include "iosm_ipc_imem_ops.h"
#include "iosm_ipc_wwan.h"

#define IOSM_IP_TYPE_MASK
#define IOSM_IP_TYPE_IPV4
#define IOSM_IP_TYPE_IPV6

/**
 * struct iosm_netdev_priv - netdev WWAN driver specific private data
 * @ipc_wwan:	Pointer to iosm_wwan struct
 * @netdev:	Pointer to network interface device structure
 * @if_id:	Interface id for device.
 * @ch_id:	IPC channel number for which interface device is created.
 */
struct iosm_netdev_priv {};

/**
 * struct iosm_wwan - This structure contains information about WWAN root device
 *		      and interface to the IPC layer.
 * @ipc_imem:		Pointer to imem data-struct
 * @sub_netlist:	List of active netdevs
 * @dev:		Pointer device structure
 */
struct iosm_wwan {};

/* Bring-up the wwan net link */
static int ipc_wwan_link_open(struct net_device *netdev)
{}

/* Bring-down the wwan net link */
static int ipc_wwan_link_stop(struct net_device *netdev)
{}

/* Transmit a packet */
static netdev_tx_t ipc_wwan_link_transmit(struct sk_buff *skb,
					  struct net_device *netdev)
{}

/* Ops structure for wwan net link */
static const struct net_device_ops ipc_inm_ops =;

/* Setup function for creating new net link */
static void ipc_wwan_setup(struct net_device *iosm_dev)
{}

/* Create new wwan net link */
static int ipc_wwan_newlink(void *ctxt, struct net_device *dev,
			    u32 if_id, struct netlink_ext_ack *extack)
{}

static void ipc_wwan_dellink(void *ctxt, struct net_device *dev,
			     struct list_head *head)
{}

static const struct wwan_ops iosm_wwan_ops =;

int ipc_wwan_receive(struct iosm_wwan *ipc_wwan, struct sk_buff *skb_arg,
		     bool dss, int if_id)
{}

void ipc_wwan_tx_flowctrl(struct iosm_wwan *ipc_wwan, int if_id, bool on)
{}

struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev)
{}

void ipc_wwan_deinit(struct iosm_wwan *ipc_wwan)
{}