#include <linux/device.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/serial_8250.h>
#include <linux/serial_reg.h>
#include <linux/platform_device.h>
#include <linux/clk.h>
#include "8250.h"
#define UART_DLL_EM …
#define UART_DLM_EM …
#define UART_HCR0_EM …
#define UART_FCR_EM …
#define UART_FCR_EM_HW …
#define UART_HCR0_EM_SW_RESET …
struct serial8250_em_priv { … };
static void serial8250_em_serial_out_helper(struct uart_port *p, int offset,
int value)
{ … }
static unsigned int serial8250_em_serial_in(struct uart_port *p, int offset)
{ … }
static void serial8250_em_reg_update(struct uart_port *p, int off, int value)
{ … }
static void serial8250_em_serial_out(struct uart_port *p, int offset, int value)
{ … }
static u32 serial8250_em_serial_dl_read(struct uart_8250_port *up)
{ … }
static void serial8250_em_serial_dl_write(struct uart_8250_port *up, u32 value)
{ … }
static int serial8250_em_probe(struct platform_device *pdev)
{ … }
static void serial8250_em_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id serial8250_em_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, serial8250_em_dt_ids);
static struct platform_driver serial8250_em_platform_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;