MODULE_DESCRIPTION("GPIO driver for Super-I/O chips F71869, F71869A, F71882FG, F71889A, F71889F and F81866");
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/gpio/driver.h>
#include <linux/bitops.h>
#define DRVNAME "gpio-f7188x"
#define SIO_UNLOCK_KEY 0x87
#define SIO_LOCK_KEY 0xAA
#define SIO_FINTEK_ID 0x1934
#define SIO_F71869_ID 0x0814
#define SIO_F71869A_ID 0x1007
#define SIO_F71882_ID 0x0541
#define SIO_F71889_ID 0x0909
#define SIO_F71889A_ID 0x1005
#define SIO_F81866_ID 0x1010
#define SIO_F81804_ID 0x1502
enum chips { f71869, f71869a, f71882fg, f71889a, f71889f, f81866, f81804 };
static const char * const f7188x_names[] = {
struct f7188x_gpio_bank {