linux/drivers/net/ethernet/qualcomm/qca_uart.c

// SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
/*
 *   Copyright (c) 2011, 2012, Qualcomm Atheros Communications Inc.
 *   Copyright (c) 2017, I2SE GmbH
 */

/*   This module implements the Qualcomm Atheros UART protocol for
 *   kernel-based UART device; it is essentially an Ethernet-to-UART
 *   serial converter;
 */

#include <linux/device.h>
#include <linux/errno.h>
#include <linux/etherdevice.h>
#include <linux/if_arp.h>
#include <linux/if_ether.h>
#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/of.h>
#include <linux/of_net.h>
#include <linux/sched.h>
#include <linux/serdev.h>
#include <linux/skbuff.h>
#include <linux/types.h>

#include "qca_7k_common.h"

#define QCAUART_DRV_VERSION
#define QCAUART_DRV_NAME
#define QCAUART_TX_TIMEOUT

struct qcauart {};

static size_t
qca_tty_receive(struct serdev_device *serdev, const u8 *data, size_t count)
{}

/* Write out any remaining transmit buffer. Scheduled when tty is writable */
static void qcauart_transmit(struct work_struct *work)
{}

/* Called by the driver when there's room for more data.
 * Schedule the transmit.
 */
static void qca_tty_wakeup(struct serdev_device *serdev)
{}

static const struct serdev_device_ops qca_serdev_ops =;

static int qcauart_netdev_open(struct net_device *dev)
{}

static int qcauart_netdev_close(struct net_device *dev)
{}

static netdev_tx_t
qcauart_netdev_xmit(struct sk_buff *skb, struct net_device *dev)
{}

static void qcauart_netdev_tx_timeout(struct net_device *dev, unsigned int txqueue)
{}

static int qcauart_netdev_init(struct net_device *dev)
{}

static void qcauart_netdev_uninit(struct net_device *dev)
{}

static const struct net_device_ops qcauart_netdev_ops =;

static void qcauart_netdev_setup(struct net_device *dev)
{}

static const struct of_device_id qca_uart_of_match[] =;
MODULE_DEVICE_TABLE(of, qca_uart_of_match);

static int qca_uart_probe(struct serdev_device *serdev)
{}

static void qca_uart_remove(struct serdev_device *serdev)
{}

static struct serdev_device_driver qca_uart_driver =;

module_serdev_device_driver();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_LICENSE();
MODULE_VERSION();