serial: max310x: Driver rework

This patch rework max310x driver.
Major changes have been made:
- Prepare driver to support ICs with more than one UART.
- Prepare driver to support work with I2C-bus.
The patch changes almost every function and can not be divided into parts.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Alexander Shiyan 2013-06-29 10:44:17 +04:00 committed by Greg Kroah-Hartman
parent b4cdc8f61b
commit 10d8b34a42
3 changed files with 455 additions and 474 deletions

View file

@ -291,9 +291,9 @@ config SERIAL_MAX3100
config SERIAL_MAX310X config SERIAL_MAX310X
bool "MAX310X support" bool "MAX310X support"
depends on SPI depends on SPI_MASTER
select SERIAL_CORE select SERIAL_CORE
select REGMAP_SPI if SPI select REGMAP_SPI if SPI_MASTER
default n default n
help help
This selects support for an advanced UART from Maxim (Dallas). This selects support for an advanced UART from Maxim (Dallas).

File diff suppressed because it is too large Load diff

View file

@ -42,9 +42,8 @@
/* MAX310X platform data structure */ /* MAX310X platform data structure */
struct max310x_pdata { struct max310x_pdata {
/* Flags global to driver */ /* Flags global to driver */
const u8 driver_flags:2; const u8 driver_flags;
#define MAX310X_EXT_CLK (0x00000001) /* External clock enable */ #define MAX310X_EXT_CLK (0x00000001) /* External clock enable */
#define MAX310X_AUTOSLEEP (0x00000002) /* Enable AutoSleep mode */
/* Flags global to UART port */ /* Flags global to UART port */
const u8 uart_flags[MAX310X_MAX_UARTS]; const u8 uart_flags[MAX310X_MAX_UARTS];
#define MAX310X_LOOPBACK (0x00000001) /* Loopback mode enable */ #define MAX310X_LOOPBACK (0x00000001) /* Loopback mode enable */
@ -60,8 +59,6 @@ struct max310x_pdata {
void (*init)(void); void (*init)(void);
/* Called before finish */ /* Called before finish */
void (*exit)(void); void (*exit)(void);
/* Suspend callback */
void (*suspend)(int do_suspend);
}; };
#endif #endif