lm8333
struct lm8333 *lm8333 = data;
u8 status = lm8333_read8(lm8333, LM8333_READ_INT);
u8 err = lm8333_read8(lm8333, LM8333_READ_ERROR);
lm8333_read_block(lm8333, LM8333_FIFO_READ,
dev_err(&lm8333->client->dev, "Got error %02x\n", err);
lm8333_key_handler(lm8333);
struct lm8333 *lm8333;
lm8333 = devm_kzalloc(&client->dev, sizeof(*lm8333), GFP_KERNEL);
if (!lm8333)
lm8333->client = client;
lm8333->input = input;
lm8333->keycodes, input);
err = lm8333_write8(lm8333, LM8333_DEBOUNCE,
err = lm8333_write8(lm8333, LM8333_ACTIVE,
"lm8333", lm8333);
i2c_set_clientdata(client, lm8333);
int lm8333_read8(struct lm8333 *lm8333, u8 cmd)
ret = i2c_smbus_read_byte_data(lm8333->client, cmd);
int lm8333_write8(struct lm8333 *lm8333, u8 cmd, u8 val)
ret = i2c_smbus_write_byte_data(lm8333->client, cmd, val);
int lm8333_read_block(struct lm8333 *lm8333, u8 cmd, u8 len, u8 *buf)
ret = i2c_smbus_read_i2c_block_data(lm8333->client,
static void lm8333_key_handler(struct lm8333 *lm8333)
struct input_dev *input = lm8333->input;
ret = lm8333_read_block(lm8333, LM8333_FIFO_READ,
dev_err(&lm8333->client->dev,
input_report_key(input, lm8333->keycodes[code], pressed);
extern int lm8333_read8(struct lm8333 *lm8333, u8 cmd);
extern int lm8333_write8(struct lm8333 *lm8333, u8 cmd, u8 val);
extern int lm8333_read_block(struct lm8333 *lm8333, u8 cmd, u8 len, u8 *buf);
struct lm8333;