65 if ( ! ns16550->
base ) {
73 ns16550->
shift = shift;
80 ns16550->
clock = clock;
92 uart_nullify (
uart );
112 uart_nullify (
uart );
struct arbelprm_rc_send_wqe rc
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
static void dwuart_remove(struct dt_device *dt)
Remove devicetree device.
void * base
Register base address.
unsigned int shift
Register shift.
int uart_register(struct uart *uart)
Register UART.
#define NS16550_CLK_DEFAULT
Default input clock rate (1.8432 MHz)
int(* probe)(struct dt_device *dt, unsigned int offset)
Probe device.
#define ENOMEM
Not enough space.
int fdt_u32(struct fdt *fdt, unsigned int offset, const char *name, uint32_t *value)
Get 32-bit integer property.
unsigned int clock
Input clock frequency.
static void dt_set_drvdata(struct dt_device *dt, void *priv)
Set devicetree driver-private data.
void * priv
Driver-private data.
#define ENODEV
No such device.
struct uart_operations ns16550_operations
16550 UART operations
static struct xen_remove_from_physmap * remove
const char * name
Device name.
static const char * dwuart_ids[]
DesignWare UART compatible model identifiers.
const char * name
Driver name.
struct dt_driver dwuart_driver __dt_driver
DesignWare UART devicetree driver.
static int dwuart_probe(struct dt_device *dt, unsigned int offset)
Probe devicetree device.
void * dt_ioremap(struct dt_device *dt, unsigned int offset, unsigned int index, size_t len)
Map devicetree range.
struct uart_operations * op
UART operations.
void iounmap(volatile const void *io_addr)
Unmap I/O address.
struct uart * alloc_uart(size_t priv_len)
Allocate UART.
void uart_unregister(struct uart *uart)
Unregister UART.
uint16_t offset
Offset to command line.
static void * dt_get_drvdata(struct dt_device *dt)
Get devicetree driver-private data.
struct fdt sysfdt
The system flattened device tree (if present)