Lines Matching +full:start +full:- +full:up

1 // SPDX-License-Identifier: GPL-2.0+
17 static int rsa8250_request_resource(struct uart_8250_port *up) in rsa8250_request_resource() argument
19 unsigned long start = UART_RSA_BASE << up->port.regshift; in rsa8250_request_resource() local
20 unsigned int size = 8 << up->port.regshift; in rsa8250_request_resource()
21 struct uart_port *port = &up->port; in rsa8250_request_resource()
22 int ret = -EINVAL; in rsa8250_request_resource()
24 switch (port->iotype) { in rsa8250_request_resource()
27 start += port->iobase; in rsa8250_request_resource()
28 if (request_region(start, size, "serial-rsa")) in rsa8250_request_resource()
31 ret = -EBUSY; in rsa8250_request_resource()
38 static void rsa8250_release_resource(struct uart_8250_port *up) in rsa8250_release_resource() argument
40 unsigned long offset = UART_RSA_BASE << up->port.regshift; in rsa8250_release_resource()
41 unsigned int size = 8 << up->port.regshift; in rsa8250_release_resource()
42 struct uart_port *port = &up->port; in rsa8250_release_resource()
44 switch (port->iotype) { in rsa8250_release_resource()
47 release_region(port->iobase + offset, size); in rsa8250_release_resource()
54 struct uart_8250_port *up = up_to_u8250p(port); in univ8250_config_port() local
57 up->probe &= ~UART_PROBE_RSA; in univ8250_config_port()
58 if (port->type == PORT_RSA) { in univ8250_config_port()
59 if (rsa8250_request_resource(up) == 0) in univ8250_config_port()
60 up->probe |= UART_PROBE_RSA; in univ8250_config_port()
63 if (probe_rsa[i] == up->port.iobase) { in univ8250_config_port()
64 if (rsa8250_request_resource(up) == 0) in univ8250_config_port()
65 up->probe |= UART_PROBE_RSA; in univ8250_config_port()
71 univ8250_port_base_ops->config_port(port, flags); in univ8250_config_port()
73 if (port->type != PORT_RSA && up->probe & UART_PROBE_RSA) in univ8250_config_port()
74 rsa8250_release_resource(up); in univ8250_config_port()
79 struct uart_8250_port *up = up_to_u8250p(port); in univ8250_request_port() local
82 ret = univ8250_port_base_ops->request_port(port); in univ8250_request_port()
83 if (ret == 0 && port->type == PORT_RSA) { in univ8250_request_port()
84 ret = rsa8250_request_resource(up); in univ8250_request_port()
86 univ8250_port_base_ops->release_port(port); in univ8250_request_port()
94 struct uart_8250_port *up = up_to_u8250p(port); in univ8250_release_port() local
96 if (port->type == PORT_RSA) in univ8250_release_port()
97 rsa8250_release_resource(up); in univ8250_release_port()
98 univ8250_port_base_ops->release_port(port); in univ8250_release_port()
103 ops->config_port = univ8250_config_port; in univ8250_rsa_support()
104 ops->request_port = univ8250_request_port; in univ8250_rsa_support()
105 ops->release_port = univ8250_release_port; in univ8250_rsa_support()
130 0444, -1, 0); in rsa8250_options()