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
bool "MAX310X support"
depends on SPI
depends on SPI_MASTER
select SERIAL_CORE
select REGMAP_SPI if SPI
select REGMAP_SPI if SPI_MASTER
default n
help
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 */
struct max310x_pdata {
/* Flags global to driver */
const u8 driver_flags:2;
const u8 driver_flags;
#define MAX310X_EXT_CLK (0x00000001) /* External clock enable */
#define MAX310X_AUTOSLEEP (0x00000002) /* Enable AutoSleep mode */
/* Flags global to UART port */
const u8 uart_flags[MAX310X_MAX_UARTS];
#define MAX310X_LOOPBACK (0x00000001) /* Loopback mode enable */
@ -60,8 +59,6 @@ struct max310x_pdata {
void (*init)(void);
/* Called before finish */
void (*exit)(void);
/* Suspend callback */
void (*suspend)(int do_suspend);
};
#endif