#include <linux/device.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/mfd/syscon.h>
#include <linux/regmap.h>
#include <linux/platform_device.h>
#define HICR9 …
#define HICRA …
#define UART_ROUTING_IO1 …
#define UART_ROUTING_IO2 …
#define UART_ROUTING_IO3 …
#define UART_ROUTING_IO4 …
#define UART_ROUTING_IO5 …
#define UART_ROUTING_IO6 …
#define UART_ROUTING_IO10 …
#define UART_ROUTING_UART1 …
#define UART_ROUTING_UART2 …
#define UART_ROUTING_UART3 …
#define UART_ROUTING_UART4 …
#define UART_ROUTING_UART5 …
#define UART_ROUTING_UART6 …
#define UART_ROUTING_UART10 …
#define UART_ROUTING_RES …
struct aspeed_uart_routing { … };
struct aspeed_uart_routing_selector { … };
#define to_routing_selector(_dev_attr) …
static ssize_t aspeed_uart_routing_show(struct device *dev,
struct device_attribute *attr,
char *buf);
static ssize_t aspeed_uart_routing_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count);
#define ROUTING_ATTR(_name) …
static struct aspeed_uart_routing_selector ast2500_io6_sel = …;
static struct aspeed_uart_routing_selector ast2500_uart5_sel = …;
static struct aspeed_uart_routing_selector ast2500_uart4_sel = …;
static struct aspeed_uart_routing_selector ast2500_uart3_sel = …;
static struct aspeed_uart_routing_selector ast2500_uart2_sel = …;
static struct aspeed_uart_routing_selector ast2500_uart1_sel = …;
static struct aspeed_uart_routing_selector ast2500_io5_sel = …;
static struct aspeed_uart_routing_selector ast2500_io4_sel = …;
static struct aspeed_uart_routing_selector ast2500_io3_sel = …;
static struct aspeed_uart_routing_selector ast2500_io2_sel = …;
static struct aspeed_uart_routing_selector ast2500_io1_sel = …;
static struct attribute *ast2500_uart_routing_attrs[] = …;
static const struct attribute_group ast2500_uart_routing_attr_group = …;
static struct aspeed_uart_routing_selector ast2600_uart10_sel = …;
static struct aspeed_uart_routing_selector ast2600_io10_sel = …;
static struct aspeed_uart_routing_selector ast2600_uart4_sel = …;
static struct aspeed_uart_routing_selector ast2600_uart3_sel = …;
static struct aspeed_uart_routing_selector ast2600_uart2_sel = …;
static struct aspeed_uart_routing_selector ast2600_uart1_sel = …;
static struct aspeed_uart_routing_selector ast2600_io4_sel = …;
static struct aspeed_uart_routing_selector ast2600_io3_sel = …;
static struct aspeed_uart_routing_selector ast2600_io2_sel = …;
static struct aspeed_uart_routing_selector ast2600_io1_sel = …;
static struct attribute *ast2600_uart_routing_attrs[] = …;
static const struct attribute_group ast2600_uart_routing_attr_group = …;
static ssize_t aspeed_uart_routing_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t aspeed_uart_routing_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static int aspeed_uart_routing_probe(struct platform_device *pdev)
{ … }
static void aspeed_uart_routing_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id aspeed_uart_routing_table[] = …;
static struct platform_driver aspeed_uart_routing_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;