#include <linux/bitfield.h>
#include <linux/device.h>
#include <linux/dfl.h>
#include <linux/errno.h>
#include <linux/ioport.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/types.h>
#include <linux/serial.h>
#include <linux/serial_8250.h>
#define DFHv1_PARAM_ID_CLK_FRQ …
#define DFHv1_PARAM_ID_FIFO_LEN …
#define DFHv1_PARAM_ID_REG_LAYOUT …
#define DFHv1_PARAM_REG_LAYOUT_WIDTH …
#define DFHv1_PARAM_REG_LAYOUT_SHIFT …
struct dfl_uart { … };
static int dfh_get_u64_param_val(struct dfl_device *dfl_dev, int param_id, u64 *pval)
{ … }
static int dfl_uart_get_params(struct dfl_device *dfl_dev, struct uart_8250_port *uart)
{ … }
static int dfl_uart_probe(struct dfl_device *dfl_dev)
{ … }
static void dfl_uart_remove(struct dfl_device *dfl_dev)
{ … }
#define FME_FEATURE_ID_UART …
static const struct dfl_device_id dfl_uart_ids[] = …;
MODULE_DEVICE_TABLE(dfl, dfl_uart_ids);
static struct dfl_driver dfl_uart_driver = …;
module_dfl_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;