Lines Matching defs:ihid_elan
39 struct i2c_hid_of_elan *ihid_elan =
43 if (ihid_elan->vcc33) {
44 ret = regulator_enable(ihid_elan->vcc33);
49 ret = regulator_enable(ihid_elan->vccio);
51 regulator_disable(ihid_elan->vcc33);
55 if (ihid_elan->chip_data->post_power_delay_ms)
56 msleep(ihid_elan->chip_data->post_power_delay_ms);
58 gpiod_set_value_cansleep(ihid_elan->reset_gpio, 0);
59 if (ihid_elan->chip_data->post_gpio_reset_on_delay_ms)
60 msleep(ihid_elan->chip_data->post_gpio_reset_on_delay_ms);
67 struct i2c_hid_of_elan *ihid_elan =
70 gpiod_set_value_cansleep(ihid_elan->reset_gpio, 1);
71 if (ihid_elan->chip_data->post_gpio_reset_off_delay_ms)
72 msleep(ihid_elan->chip_data->post_gpio_reset_off_delay_ms);
74 regulator_disable(ihid_elan->vccio);
75 if (ihid_elan->vcc33)
76 regulator_disable(ihid_elan->vcc33);
81 struct i2c_hid_of_elan *ihid_elan;
83 ihid_elan = devm_kzalloc(&client->dev, sizeof(*ihid_elan), GFP_KERNEL);
84 if (!ihid_elan)
87 ihid_elan->ops.power_up = elan_i2c_hid_power_up;
88 ihid_elan->ops.power_down = elan_i2c_hid_power_down;
91 ihid_elan->reset_gpio =
93 if (IS_ERR(ihid_elan->reset_gpio))
94 return PTR_ERR(ihid_elan->reset_gpio);
96 ihid_elan->vccio = devm_regulator_get(&client->dev, "vccio");
97 if (IS_ERR(ihid_elan->vccio))
98 return PTR_ERR(ihid_elan->vccio);
100 ihid_elan->chip_data = device_get_match_data(&client->dev);
102 if (ihid_elan->chip_data->main_supply_name) {
103 ihid_elan->vcc33 = devm_regulator_get(&client->dev,
104 ihid_elan->chip_data->main_supply_name);
105 if (IS_ERR(ihid_elan->vcc33))
106 return PTR_ERR(ihid_elan->vcc33);
109 return i2c_hid_core_probe(client, &ihid_elan->ops,
110 ihid_elan->chip_data->hid_descriptor_address, 0);