Lines Matching defs:lm8333

13 #include <linux/input/lm8333.h>
33 struct lm8333 {
42 int lm8333_read8(struct lm8333 *lm8333, u8 cmd)
47 ret = i2c_smbus_read_byte_data(lm8333->client, cmd);
53 int lm8333_write8(struct lm8333 *lm8333, u8 cmd, u8 val)
58 ret = i2c_smbus_write_byte_data(lm8333->client, cmd, val);
64 int lm8333_read_block(struct lm8333 *lm8333, u8 cmd, u8 len, u8 *buf)
69 ret = i2c_smbus_read_i2c_block_data(lm8333->client,
76 static void lm8333_key_handler(struct lm8333 *lm8333)
78 struct input_dev *input = lm8333->input;
83 ret = lm8333_read_block(lm8333, LM8333_FIFO_READ,
86 dev_err(&lm8333->client->dev,
96 input_report_key(input, lm8333->keycodes[code], pressed);
104 struct lm8333 *lm8333 = data;
105 u8 status = lm8333_read8(lm8333, LM8333_READ_INT);
111 u8 err = lm8333_read8(lm8333, LM8333_READ_ERROR);
116 lm8333_read_block(lm8333, LM8333_FIFO_READ,
119 dev_err(&lm8333->client->dev, "Got error %02x\n", err);
123 lm8333_key_handler(lm8333);
133 struct lm8333 *lm8333;
146 lm8333 = kzalloc(sizeof(*lm8333), GFP_KERNEL);
148 if (!lm8333 || !input) {
153 lm8333->client = client;
154 lm8333->input = input;
164 lm8333->keycodes, input);
169 err = lm8333_write8(lm8333, LM8333_DEBOUNCE,
176 err = lm8333_write8(lm8333, LM8333_ACTIVE,
184 "lm8333", lm8333);
192 i2c_set_clientdata(client, lm8333);
196 free_irq(client->irq, lm8333);
199 kfree(lm8333);
205 struct lm8333 *lm8333 = i2c_get_clientdata(client);
207 free_irq(client->irq, lm8333);
208 input_unregister_device(lm8333->input);
209 kfree(lm8333);
215 { "lm8333", 0 },
222 .name = "lm8333",