• Home
  • Raw
  • Download

Lines Matching refs:client

64 	struct i2c_client *client;  member
67 static int max7359_write_reg(struct i2c_client *client, u8 reg, u8 val) in max7359_write_reg() argument
69 int ret = i2c_smbus_write_byte_data(client, reg, val); in max7359_write_reg()
72 dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n", in max7359_write_reg()
77 static int max7359_read_reg(struct i2c_client *client, int reg) in max7359_read_reg() argument
79 int ret = i2c_smbus_read_byte_data(client, reg); in max7359_read_reg()
82 dev_err(&client->dev, "%s: reg 0x%x, err %d\n", in max7359_read_reg()
94 val = max7359_read_reg(keypad->client, MAX7359_REG_KEYFIFO); in max7359_interrupt()
101 dev_dbg(&keypad->client->dev, in max7359_interrupt()
116 static inline void max7359_fall_deepsleep(struct i2c_client *client) in max7359_fall_deepsleep() argument
118 max7359_write_reg(client, MAX7359_REG_SLEEP, MAX7359_AUTOSLEEP_8192); in max7359_fall_deepsleep()
125 static inline void max7359_take_catnap(struct i2c_client *client) in max7359_take_catnap() argument
127 max7359_write_reg(client, MAX7359_REG_SLEEP, MAX7359_AUTOSLEEP_256); in max7359_take_catnap()
134 max7359_take_catnap(keypad->client); in max7359_open()
143 max7359_fall_deepsleep(keypad->client); in max7359_close()
146 static void max7359_initialize(struct i2c_client *client) in max7359_initialize() argument
148 max7359_write_reg(client, MAX7359_REG_CONFIG, in max7359_initialize()
153 max7359_write_reg(client, MAX7359_REG_DEBOUNCE, 0x1F); in max7359_initialize()
156 max7359_write_reg(client, MAX7359_REG_INTERRUPT, 0x01); in max7359_initialize()
158 max7359_fall_deepsleep(client); in max7359_initialize()
161 static int max7359_probe(struct i2c_client *client, in max7359_probe() argument
165 dev_get_platdata(&client->dev); in max7359_probe()
171 if (!client->irq) { in max7359_probe()
172 dev_err(&client->dev, "The irq number should not be zero\n"); in max7359_probe()
177 ret = max7359_read_reg(client, MAX7359_REG_KEYFIFO); in max7359_probe()
179 dev_err(&client->dev, "failed to detect device\n"); in max7359_probe()
183 dev_dbg(&client->dev, "keys FIFO is 0x%02x\n", ret); in max7359_probe()
185 keypad = devm_kzalloc(&client->dev, sizeof(struct max7359_keypad), in max7359_probe()
188 dev_err(&client->dev, "failed to allocate memory\n"); in max7359_probe()
192 input_dev = devm_input_allocate_device(&client->dev); in max7359_probe()
194 dev_err(&client->dev, "failed to allocate input device\n"); in max7359_probe()
198 keypad->client = client; in max7359_probe()
201 input_dev->name = client->name; in max7359_probe()
205 input_dev->dev.parent = &client->dev; in max7359_probe()
221 dev_err(&client->dev, "failed to build keymap\n"); in max7359_probe()
225 error = devm_request_threaded_irq(&client->dev, client->irq, NULL, in max7359_probe()
228 client->name, keypad); in max7359_probe()
230 dev_err(&client->dev, "failed to register interrupt\n"); in max7359_probe()
237 dev_err(&client->dev, "failed to register input device\n"); in max7359_probe()
242 max7359_initialize(client); in max7359_probe()
244 device_init_wakeup(&client->dev, 1); in max7359_probe()
252 struct i2c_client *client = to_i2c_client(dev); in max7359_suspend() local
254 max7359_fall_deepsleep(client); in max7359_suspend()
256 if (device_may_wakeup(&client->dev)) in max7359_suspend()
257 enable_irq_wake(client->irq); in max7359_suspend()
264 struct i2c_client *client = to_i2c_client(dev); in max7359_resume() local
266 if (device_may_wakeup(&client->dev)) in max7359_resume()
267 disable_irq_wake(client->irq); in max7359_resume()
270 max7359_take_catnap(client); in max7359_resume()