Lines Matching refs:lm8333

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