diff options
Diffstat (limited to 'drivers/tty/serial/samsung.h')
-rw-r--r-- | drivers/tty/serial/samsung.h | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/drivers/tty/serial/samsung.h b/drivers/tty/serial/samsung.h index 8e87b788e5c6..1a4bca3e4179 100644 --- a/drivers/tty/serial/samsung.h +++ b/drivers/tty/serial/samsung.h | |||
@@ -19,20 +19,25 @@ struct s3c24xx_uart_info { | |||
19 | unsigned long tx_fifomask; | 19 | unsigned long tx_fifomask; |
20 | unsigned long tx_fifoshift; | 20 | unsigned long tx_fifoshift; |
21 | unsigned long tx_fifofull; | 21 | unsigned long tx_fifofull; |
22 | unsigned int def_clk_sel; | ||
23 | unsigned long num_clks; | ||
24 | unsigned long clksel_mask; | ||
25 | unsigned long clksel_shift; | ||
22 | 26 | ||
23 | /* uart port features */ | 27 | /* uart port features */ |
24 | 28 | ||
25 | unsigned int has_divslot:1; | 29 | unsigned int has_divslot:1; |
26 | 30 | ||
27 | /* clock source control */ | ||
28 | |||
29 | int (*get_clksrc)(struct uart_port *, struct s3c24xx_uart_clksrc *clk); | ||
30 | int (*set_clksrc)(struct uart_port *, struct s3c24xx_uart_clksrc *clk); | ||
31 | |||
32 | /* uart controls */ | 31 | /* uart controls */ |
33 | int (*reset_port)(struct uart_port *, struct s3c2410_uartcfg *); | 32 | int (*reset_port)(struct uart_port *, struct s3c2410_uartcfg *); |
34 | }; | 33 | }; |
35 | 34 | ||
35 | struct s3c24xx_serial_drv_data { | ||
36 | struct s3c24xx_uart_info *info; | ||
37 | struct s3c2410_uartcfg *def_cfg; | ||
38 | unsigned int fifosize[CONFIG_SERIAL_SAMSUNG_UARTS]; | ||
39 | }; | ||
40 | |||
36 | struct s3c24xx_uart_port { | 41 | struct s3c24xx_uart_port { |
37 | unsigned char rx_claimed; | 42 | unsigned char rx_claimed; |
38 | unsigned char tx_claimed; | 43 | unsigned char tx_claimed; |
@@ -43,10 +48,13 @@ struct s3c24xx_uart_port { | |||
43 | unsigned int tx_irq; | 48 | unsigned int tx_irq; |
44 | 49 | ||
45 | struct s3c24xx_uart_info *info; | 50 | struct s3c24xx_uart_info *info; |
46 | struct s3c24xx_uart_clksrc *clksrc; | ||
47 | struct clk *clk; | 51 | struct clk *clk; |
48 | struct clk *baudclk; | 52 | struct clk *baudclk; |
49 | struct uart_port port; | 53 | struct uart_port port; |
54 | struct s3c24xx_serial_drv_data *drv_data; | ||
55 | |||
56 | /* reference to platform data */ | ||
57 | struct s3c2410_uartcfg *cfg; | ||
50 | 58 | ||
51 | #ifdef CONFIG_CPU_FREQ | 59 | #ifdef CONFIG_CPU_FREQ |
52 | struct notifier_block freq_transition; | 60 | struct notifier_block freq_transition; |
@@ -56,7 +64,6 @@ struct s3c24xx_uart_port { | |||
56 | /* conversion functions */ | 64 | /* conversion functions */ |
57 | 65 | ||
58 | #define s3c24xx_dev_to_port(__dev) (struct uart_port *)dev_get_drvdata(__dev) | 66 | #define s3c24xx_dev_to_port(__dev) (struct uart_port *)dev_get_drvdata(__dev) |
59 | #define s3c24xx_dev_to_cfg(__dev) (struct s3c2410_uartcfg *)((__dev)->platform_data) | ||
60 | 67 | ||
61 | /* register access controls */ | 68 | /* register access controls */ |
62 | 69 | ||
@@ -69,17 +76,6 @@ struct s3c24xx_uart_port { | |||
69 | #define wr_regb(port, reg, val) __raw_writeb(val, portaddr(port, reg)) | 76 | #define wr_regb(port, reg, val) __raw_writeb(val, portaddr(port, reg)) |
70 | #define wr_regl(port, reg, val) __raw_writel(val, portaddr(port, reg)) | 77 | #define wr_regl(port, reg, val) __raw_writel(val, portaddr(port, reg)) |
71 | 78 | ||
72 | extern int s3c24xx_serial_probe(struct platform_device *dev, | ||
73 | struct s3c24xx_uart_info *uart); | ||
74 | |||
75 | extern int __devexit s3c24xx_serial_remove(struct platform_device *dev); | ||
76 | |||
77 | extern int s3c24xx_serial_initconsole(struct platform_driver *drv, | ||
78 | struct s3c24xx_uart_info **uart); | ||
79 | |||
80 | extern int s3c24xx_serial_init(struct platform_driver *drv, | ||
81 | struct s3c24xx_uart_info *info); | ||
82 | |||
83 | #ifdef CONFIG_SERIAL_SAMSUNG_DEBUG | 79 | #ifdef CONFIG_SERIAL_SAMSUNG_DEBUG |
84 | 80 | ||
85 | extern void printascii(const char *); | 81 | extern void printascii(const char *); |