diff options
author | Thomas Abraham <thomas.abraham@linaro.org> | 2011-11-02 06:23:25 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-12-22 20:07:00 -0500 |
commit | da121506eb03ee5daea55404709110b798bd61d9 (patch) | |
tree | dde722082c2d5ea53e44c1a86bf0e454cb2339f6 /drivers/tty/serial/samsung.h | |
parent | 0dfb3b41be4ca3c9d1688f6c2d00bfa178356494 (diff) |
serial: samsung: merge probe() function from all SoC specific extensions
With reset port, set clock and get clock functions in SoC specific extentions
being removed, only the driver probe is left over in these extensions. The
probe function itself can be merged into one and moved into the samsung common
serial driver. With driver probe also moved, all the SoC specific extentions
are no longer required and they are deleted.
Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'drivers/tty/serial/samsung.h')
-rw-r--r-- | drivers/tty/serial/samsung.h | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/drivers/tty/serial/samsung.h b/drivers/tty/serial/samsung.h index c9cab2c5ae0d..1a4bca3e4179 100644 --- a/drivers/tty/serial/samsung.h +++ b/drivers/tty/serial/samsung.h | |||
@@ -32,6 +32,12 @@ struct s3c24xx_uart_info { | |||
32 | int (*reset_port)(struct uart_port *, struct s3c2410_uartcfg *); | 32 | int (*reset_port)(struct uart_port *, struct s3c2410_uartcfg *); |
33 | }; | 33 | }; |
34 | 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 | |||
35 | struct s3c24xx_uart_port { | 41 | struct s3c24xx_uart_port { |
36 | unsigned char rx_claimed; | 42 | unsigned char rx_claimed; |
37 | unsigned char tx_claimed; | 43 | unsigned char tx_claimed; |
@@ -45,6 +51,7 @@ struct s3c24xx_uart_port { | |||
45 | struct clk *clk; | 51 | struct clk *clk; |
46 | struct clk *baudclk; | 52 | struct clk *baudclk; |
47 | struct uart_port port; | 53 | struct uart_port port; |
54 | struct s3c24xx_serial_drv_data *drv_data; | ||
48 | 55 | ||
49 | /* reference to platform data */ | 56 | /* reference to platform data */ |
50 | struct s3c2410_uartcfg *cfg; | 57 | struct s3c2410_uartcfg *cfg; |
@@ -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 *); |