It relies on the time between probes of both nubs, which is not
consistent. According to atmel docs the nub controllers should not need
an explicit reset, but if they do, it needs to be readded with a
consistent length.
}
if (!vsense_reset_refcount) {
}
if (!vsense_reset_refcount) {
- ret = gpio_request_one(pdata->gpio_reset, GPIOF_OUT_INIT_HIGH,
+ /* resetting drains power, as well as disabling supply,
+ * so keep it powered and out of reset at all times */
+ ret = gpio_request_one(pdata->gpio_reset, GPIOF_OUT_INIT_LOW,
"vsense reset");
if (ret < 0) {
dev_err(&client->dev, "gpio_request error: %d, %d\n",
"vsense reset");
if (ret < 0) {
dev_err(&client->dev, "gpio_request error: %d, %d\n",
goto err_regulator_enable;
}
goto err_regulator_enable;
}
- /* HACK */
- if (vsense_reset_refcount == 2)
- /* resetting drains power, as well as disabling supply,
- * so keep it powered and out of reset at all times */
- vsense_reset(ddata, 0);
-
ret = vsense_input_register(ddata, ddata->mode);
if (ret) {
dev_err(&client->dev, "failed to register input device, "
ret = vsense_input_register(ddata, ddata->mode);
if (ret) {
dev_err(&client->dev, "failed to register input device, "