Lines Matching defs:client

182 	struct i2c_client *client;
202 static int adp5588_read(struct i2c_client *client, u8 reg)
204 int ret = i2c_smbus_read_byte_data(client, reg);
207 dev_err(&client->dev, "Read Error\n");
212 static int adp5588_write(struct i2c_client *client, u8 reg, u8 val)
214 return i2c_smbus_write_byte_data(client, reg, val);
229 val = adp5588_read(kpad->client, GPIO_DAT_STAT1 + bank);
250 adp5588_write(kpad->client, GPIO_DAT_OUT1 + bank, kpad->dat_out[bank]);
282 ret = adp5588_write(kpad->client, GPIO_PULL1 + bank,
300 ret = adp5588_write(kpad->client, GPIO_DIR1 + bank, kpad->dir[bank]);
324 ret = adp5588_write(kpad->client, GPIO_DAT_OUT1 + bank,
329 ret = adp5588_write(kpad->client, GPIO_DIR1 + bank, kpad->dir[bank]);
375 adp5588_write(kpad->client, GPI_EM1 + i, kpad->int_en[i]);
427 struct device *dev = &kpad->client->dev;
437 kpad->gc.parent = &kpad->client->dev;
446 kpad->gc.label = kpad->client->name;
463 kpad->dat_out[i] = adp5588_read(kpad->client,
465 kpad->dir[i] = adp5588_read(kpad->client, GPIO_DIR1 + i);
466 kpad->pull_dis[i] = adp5588_read(kpad->client, GPIO_PULL1 + i);
492 struct i2c_client *client = kpad->client;
496 hwirq = adp5588_gpiomap_get_hwirq(&client->dev, kpad->gpiomap,
499 dev_err(&client->dev, "Could not get hwirq for key(%u)\n", key_val);
509 dev_err(&client->dev, "Could not get irq(%u) data\n", irq);
529 int key = adp5588_read(kpad->client, KEY_EVENTA + i);
541 dev_dbg_ratelimited(&kpad->client->dev,
563 struct i2c_client *client = kpad->client;
581 status = adp5588_read(client, INT_STAT);
584 dev_err(&client->dev, "Event Overflow Error\n");
587 ev_cnt = adp5588_read(client, KEY_LCK_EC_STAT) & ADP5588_KEC;
594 adp5588_write(client, INT_STAT, status); /* Status is W1C */
601 struct i2c_client *client = kpad->client;
604 ret = adp5588_write(client, KP_GPIO1, KP_SEL(kpad->rows));
608 ret = adp5588_write(client, KP_GPIO2, KP_SEL(kpad->cols) & 0xFF);
612 ret = adp5588_write(client, KP_GPIO3, KP_SEL(kpad->cols) >> 8);
617 ret = adp5588_write(client, UNLOCK1 + i, kpad->unlock_keys[i]);
623 ret = adp5588_write(client, KEY_LCK_EC_STAT, ADP5588_K_LCK_EN);
629 ret = adp5588_read(client, KEY_EVENTA);
634 ret = adp5588_write(client, INT_STAT,
641 return adp5588_write(client, CFG, ADP5588_INT_CFG |
647 struct i2c_client *client = kpad->client;
650 ret = matrix_keypad_parse_properties(&client->dev, &kpad->rows,
656 dev_err(&client->dev, "Invalid nr of rows(%u) or cols(%u)\n",
668 if (device_property_read_bool(&client->dev, "autorepeat"))
671 kpad->nkeys_unlock = device_property_count_u32(&client->dev,
680 dev_err(&client->dev, "number of unlock keys(%d) > (%zu)\n",
685 ret = device_property_read_u32_array(&client->dev, "adi,unlock-keys",
701 dev_err(&client->dev, "Invalid unlock key(%d)\n",
716 static int adp5588_probe(struct i2c_client *client)
725 if (!i2c_check_functionality(client->adapter,
727 dev_err(&client->dev, "SMBUS Byte Data not Supported\n");
731 kpad = devm_kzalloc(&client->dev, sizeof(*kpad), GFP_KERNEL);
735 input = devm_input_allocate_device(&client->dev);
739 kpad->client = client;
746 error = devm_regulator_get_enable(&client->dev, "vcc");
750 gpio = devm_gpiod_get_optional(&client->dev, "reset", GPIOD_OUT_HIGH);
760 ret = adp5588_read(client, DEV_ID);
768 input->name = client->name;
780 dev_err(&client->dev, "unable to register input device: %d\n",
793 error = devm_request_threaded_irq(&client->dev, client->irq,
796 client->dev.driver->name, kpad);
798 dev_err(&client->dev, "failed to request irq %d: %d\n",
799 client->irq, error);
803 dev_info(&client->dev, "Rev.%d keypad, irq %d\n", revid, client->irq);
807 static void adp5588_remove(struct i2c_client *client)
809 adp5588_write(client, CFG, 0);
816 struct i2c_client *client = to_i2c_client(dev);
818 disable_irq(client->irq);
825 struct i2c_client *client = to_i2c_client(dev);
827 enable_irq(client->irq);