From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Douglas Anderson <dianders@chromium.org>,
Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: lkp@intel.com, kbuild-all@lists.01.org,
Douglas Anderson <dianders@chromium.org>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] HID: i2c-hid: goodix: Tie the reset line to true state of the regulator
Date: Tue, 22 Jun 2021 11:49:30 +0300 [thread overview]
Message-ID: <202106221609.teM1w2T0-lkp@intel.com> (raw)
In-Reply-To: <20210611092847.1.I358cae5e33f742765fd38485d6ddf1a4a978644d@changeid>
Hi Douglas,
url: https://github.com/0day-ci/linux/commits/Douglas-Anderson/HID-i2c-hid-goodix-Tie-the-reset-line-to-true-state-of-the-regulator/20210617-102450
base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
config: i386-randconfig-m021-20210622 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/hid/i2c-hid/i2c-hid-of-goodix.c:151 i2c_hid_of_goodix_probe() warn: inconsistent returns '&ihid_goodix->regulator_mutex'.
vim +151 drivers/hid/i2c-hid/i2c-hid-of-goodix.c
c1ed18c11bdb80 Douglas Anderson 2021-01-15 95 static int i2c_hid_of_goodix_probe(struct i2c_client *client,
c1ed18c11bdb80 Douglas Anderson 2021-01-15 96 const struct i2c_device_id *id)
c1ed18c11bdb80 Douglas Anderson 2021-01-15 97 {
c1ed18c11bdb80 Douglas Anderson 2021-01-15 98 struct i2c_hid_of_goodix *ihid_goodix;
2b87ff72c696bc Douglas Anderson 2021-06-11 99 int ret;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 100 ihid_goodix = devm_kzalloc(&client->dev, sizeof(*ihid_goodix),
c1ed18c11bdb80 Douglas Anderson 2021-01-15 101 GFP_KERNEL);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 102 if (!ihid_goodix)
c1ed18c11bdb80 Douglas Anderson 2021-01-15 103 return -ENOMEM;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 104
2b87ff72c696bc Douglas Anderson 2021-06-11 105 mutex_init(&ihid_goodix->regulator_mutex);
2b87ff72c696bc Douglas Anderson 2021-06-11 106
c1ed18c11bdb80 Douglas Anderson 2021-01-15 107 ihid_goodix->ops.power_up = goodix_i2c_hid_power_up;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 108 ihid_goodix->ops.power_down = goodix_i2c_hid_power_down;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 109
c1ed18c11bdb80 Douglas Anderson 2021-01-15 110 /* Start out with reset asserted */
c1ed18c11bdb80 Douglas Anderson 2021-01-15 111 ihid_goodix->reset_gpio =
c1ed18c11bdb80 Douglas Anderson 2021-01-15 112 devm_gpiod_get_optional(&client->dev, "reset", GPIOD_OUT_HIGH);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 113 if (IS_ERR(ihid_goodix->reset_gpio))
c1ed18c11bdb80 Douglas Anderson 2021-01-15 114 return PTR_ERR(ihid_goodix->reset_gpio);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 115
c1ed18c11bdb80 Douglas Anderson 2021-01-15 116 ihid_goodix->vdd = devm_regulator_get(&client->dev, "vdd");
c1ed18c11bdb80 Douglas Anderson 2021-01-15 117 if (IS_ERR(ihid_goodix->vdd))
c1ed18c11bdb80 Douglas Anderson 2021-01-15 118 return PTR_ERR(ihid_goodix->vdd);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 119
c1ed18c11bdb80 Douglas Anderson 2021-01-15 120 ihid_goodix->timings = device_get_match_data(&client->dev);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 121
2b87ff72c696bc Douglas Anderson 2021-06-11 122 /*
2b87ff72c696bc Douglas Anderson 2021-06-11 123 * We need to control the "reset" line in lockstep with the regulator
2b87ff72c696bc Douglas Anderson 2021-06-11 124 * actually turning on an off instead of just when we make the request.
2b87ff72c696bc Douglas Anderson 2021-06-11 125 * This matters if the regulator is shared with another consumer.
2b87ff72c696bc Douglas Anderson 2021-06-11 126 * - If the regulator is off then we must assert reset. The reset
2b87ff72c696bc Douglas Anderson 2021-06-11 127 * line is active low and on some boards it could cause a current
2b87ff72c696bc Douglas Anderson 2021-06-11 128 * leak if left high.
2b87ff72c696bc Douglas Anderson 2021-06-11 129 * - If the regulator is on then we don't want reset asserted for very
2b87ff72c696bc Douglas Anderson 2021-06-11 130 * long. Holding the controller in reset apparently draws extra
2b87ff72c696bc Douglas Anderson 2021-06-11 131 * power.
2b87ff72c696bc Douglas Anderson 2021-06-11 132 */
2b87ff72c696bc Douglas Anderson 2021-06-11 133 mutex_lock(&ihid_goodix->regulator_mutex);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2b87ff72c696bc Douglas Anderson 2021-06-11 134 ihid_goodix->nb.notifier_call = ihid_goodix_vdd_notify;
2b87ff72c696bc Douglas Anderson 2021-06-11 135 ret = regulator_register_notifier(ihid_goodix->vdd, &ihid_goodix->nb);
2b87ff72c696bc Douglas Anderson 2021-06-11 136 if (ret)
2b87ff72c696bc Douglas Anderson 2021-06-11 137 return dev_err_probe(&client->dev, ret,
2b87ff72c696bc Douglas Anderson 2021-06-11 138 "regulator notifier request failed\n");
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Drop the lock before returning?
2b87ff72c696bc Douglas Anderson 2021-06-11 139
2b87ff72c696bc Douglas Anderson 2021-06-11 140 /*
2b87ff72c696bc Douglas Anderson 2021-06-11 141 * If someone else is holding the regulator on (or the regulator is
2b87ff72c696bc Douglas Anderson 2021-06-11 142 * an always-on one) we might never be told to deassert reset. Do it
2b87ff72c696bc Douglas Anderson 2021-06-11 143 * now. Here we'll assume that someone else might have _just
2b87ff72c696bc Douglas Anderson 2021-06-11 144 * barely_ turned the regulator on so we'll do the full
2b87ff72c696bc Douglas Anderson 2021-06-11 145 * "post_power_delay" just in case.
2b87ff72c696bc Douglas Anderson 2021-06-11 146 */
2b87ff72c696bc Douglas Anderson 2021-06-11 147 if (ihid_goodix->reset_gpio && regulator_is_enabled(ihid_goodix->vdd))
2b87ff72c696bc Douglas Anderson 2021-06-11 148 goodix_i2c_hid_deassert_reset(ihid_goodix, true);
2b87ff72c696bc Douglas Anderson 2021-06-11 149 mutex_unlock(&ihid_goodix->regulator_mutex);
2b87ff72c696bc Douglas Anderson 2021-06-11 150
c1ed18c11bdb80 Douglas Anderson 2021-01-15 @151 return i2c_hid_core_probe(client, &ihid_goodix->ops, 0x0001);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 152 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH] HID: i2c-hid: goodix: Tie the reset line to true state of the regulator
Date: Tue, 22 Jun 2021 16:44:00 +0800 [thread overview]
Message-ID: <202106221609.teM1w2T0-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 6921 bytes --]
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210611092847.1.I358cae5e33f742765fd38485d6ddf1a4a978644d@changeid>
References: <20210611092847.1.I358cae5e33f742765fd38485d6ddf1a4a978644d@changeid>
TO: Douglas Anderson <dianders@chromium.org>
TO: Jiri Kosina <jikos@kernel.org>
TO: Benjamin Tissoires <benjamin.tissoires@redhat.com>
CC: Douglas Anderson <dianders@chromium.org>
CC: linux-input(a)vger.kernel.org
CC: linux-kernel(a)vger.kernel.org
Hi Douglas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on hid/for-next]
[also build test WARNING on v5.13-rc7 next-20210621]
[cannot apply to jikos-trivial/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Douglas-Anderson/HID-i2c-hid-goodix-Tie-the-reset-line-to-true-state-of-the-regulator/20210617-102450
base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
:::::: branch date: 5 days ago
:::::: commit date: 5 days ago
config: i386-randconfig-m021-20210622 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/hid/i2c-hid/i2c-hid-of-goodix.c:151 i2c_hid_of_goodix_probe() warn: inconsistent returns '&ihid_goodix->regulator_mutex'.
vim +151 drivers/hid/i2c-hid/i2c-hid-of-goodix.c
2b87ff72c696bc Douglas Anderson 2021-06-11 94
c1ed18c11bdb80 Douglas Anderson 2021-01-15 95 static int i2c_hid_of_goodix_probe(struct i2c_client *client,
c1ed18c11bdb80 Douglas Anderson 2021-01-15 96 const struct i2c_device_id *id)
c1ed18c11bdb80 Douglas Anderson 2021-01-15 97 {
c1ed18c11bdb80 Douglas Anderson 2021-01-15 98 struct i2c_hid_of_goodix *ihid_goodix;
2b87ff72c696bc Douglas Anderson 2021-06-11 99 int ret;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 100 ihid_goodix = devm_kzalloc(&client->dev, sizeof(*ihid_goodix),
c1ed18c11bdb80 Douglas Anderson 2021-01-15 101 GFP_KERNEL);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 102 if (!ihid_goodix)
c1ed18c11bdb80 Douglas Anderson 2021-01-15 103 return -ENOMEM;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 104
2b87ff72c696bc Douglas Anderson 2021-06-11 105 mutex_init(&ihid_goodix->regulator_mutex);
2b87ff72c696bc Douglas Anderson 2021-06-11 106
c1ed18c11bdb80 Douglas Anderson 2021-01-15 107 ihid_goodix->ops.power_up = goodix_i2c_hid_power_up;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 108 ihid_goodix->ops.power_down = goodix_i2c_hid_power_down;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 109
c1ed18c11bdb80 Douglas Anderson 2021-01-15 110 /* Start out with reset asserted */
c1ed18c11bdb80 Douglas Anderson 2021-01-15 111 ihid_goodix->reset_gpio =
c1ed18c11bdb80 Douglas Anderson 2021-01-15 112 devm_gpiod_get_optional(&client->dev, "reset", GPIOD_OUT_HIGH);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 113 if (IS_ERR(ihid_goodix->reset_gpio))
c1ed18c11bdb80 Douglas Anderson 2021-01-15 114 return PTR_ERR(ihid_goodix->reset_gpio);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 115
c1ed18c11bdb80 Douglas Anderson 2021-01-15 116 ihid_goodix->vdd = devm_regulator_get(&client->dev, "vdd");
c1ed18c11bdb80 Douglas Anderson 2021-01-15 117 if (IS_ERR(ihid_goodix->vdd))
c1ed18c11bdb80 Douglas Anderson 2021-01-15 118 return PTR_ERR(ihid_goodix->vdd);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 119
c1ed18c11bdb80 Douglas Anderson 2021-01-15 120 ihid_goodix->timings = device_get_match_data(&client->dev);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 121
2b87ff72c696bc Douglas Anderson 2021-06-11 122 /*
2b87ff72c696bc Douglas Anderson 2021-06-11 123 * We need to control the "reset" line in lockstep with the regulator
2b87ff72c696bc Douglas Anderson 2021-06-11 124 * actually turning on an off instead of just when we make the request.
2b87ff72c696bc Douglas Anderson 2021-06-11 125 * This matters if the regulator is shared with another consumer.
2b87ff72c696bc Douglas Anderson 2021-06-11 126 * - If the regulator is off then we must assert reset. The reset
2b87ff72c696bc Douglas Anderson 2021-06-11 127 * line is active low and on some boards it could cause a current
2b87ff72c696bc Douglas Anderson 2021-06-11 128 * leak if left high.
2b87ff72c696bc Douglas Anderson 2021-06-11 129 * - If the regulator is on then we don't want reset asserted for very
2b87ff72c696bc Douglas Anderson 2021-06-11 130 * long. Holding the controller in reset apparently draws extra
2b87ff72c696bc Douglas Anderson 2021-06-11 131 * power.
2b87ff72c696bc Douglas Anderson 2021-06-11 132 */
2b87ff72c696bc Douglas Anderson 2021-06-11 133 mutex_lock(&ihid_goodix->regulator_mutex);
2b87ff72c696bc Douglas Anderson 2021-06-11 134 ihid_goodix->nb.notifier_call = ihid_goodix_vdd_notify;
2b87ff72c696bc Douglas Anderson 2021-06-11 135 ret = regulator_register_notifier(ihid_goodix->vdd, &ihid_goodix->nb);
2b87ff72c696bc Douglas Anderson 2021-06-11 136 if (ret)
2b87ff72c696bc Douglas Anderson 2021-06-11 137 return dev_err_probe(&client->dev, ret,
2b87ff72c696bc Douglas Anderson 2021-06-11 138 "regulator notifier request failed\n");
2b87ff72c696bc Douglas Anderson 2021-06-11 139
2b87ff72c696bc Douglas Anderson 2021-06-11 140 /*
2b87ff72c696bc Douglas Anderson 2021-06-11 141 * If someone else is holding the regulator on (or the regulator is
2b87ff72c696bc Douglas Anderson 2021-06-11 142 * an always-on one) we might never be told to deassert reset. Do it
2b87ff72c696bc Douglas Anderson 2021-06-11 143 * now. Here we'll assume that someone else might have _just
2b87ff72c696bc Douglas Anderson 2021-06-11 144 * barely_ turned the regulator on so we'll do the full
2b87ff72c696bc Douglas Anderson 2021-06-11 145 * "post_power_delay" just in case.
2b87ff72c696bc Douglas Anderson 2021-06-11 146 */
2b87ff72c696bc Douglas Anderson 2021-06-11 147 if (ihid_goodix->reset_gpio && regulator_is_enabled(ihid_goodix->vdd))
2b87ff72c696bc Douglas Anderson 2021-06-11 148 goodix_i2c_hid_deassert_reset(ihid_goodix, true);
2b87ff72c696bc Douglas Anderson 2021-06-11 149 mutex_unlock(&ihid_goodix->regulator_mutex);
2b87ff72c696bc Douglas Anderson 2021-06-11 150
c1ed18c11bdb80 Douglas Anderson 2021-01-15 @151 return i2c_hid_core_probe(client, &ihid_goodix->ops, 0x0001);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 152 }
c1ed18c11bdb80 Douglas Anderson 2021-01-15 153
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 47850 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] HID: i2c-hid: goodix: Tie the reset line to true state of the regulator
Date: Tue, 22 Jun 2021 11:49:30 +0300 [thread overview]
Message-ID: <202106221609.teM1w2T0-lkp@intel.com> (raw)
In-Reply-To: <20210611092847.1.I358cae5e33f742765fd38485d6ddf1a4a978644d@changeid>
[-- Attachment #1: Type: text/plain, Size: 6165 bytes --]
Hi Douglas,
url: https://github.com/0day-ci/linux/commits/Douglas-Anderson/HID-i2c-hid-goodix-Tie-the-reset-line-to-true-state-of-the-regulator/20210617-102450
base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
config: i386-randconfig-m021-20210622 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/hid/i2c-hid/i2c-hid-of-goodix.c:151 i2c_hid_of_goodix_probe() warn: inconsistent returns '&ihid_goodix->regulator_mutex'.
vim +151 drivers/hid/i2c-hid/i2c-hid-of-goodix.c
c1ed18c11bdb80 Douglas Anderson 2021-01-15 95 static int i2c_hid_of_goodix_probe(struct i2c_client *client,
c1ed18c11bdb80 Douglas Anderson 2021-01-15 96 const struct i2c_device_id *id)
c1ed18c11bdb80 Douglas Anderson 2021-01-15 97 {
c1ed18c11bdb80 Douglas Anderson 2021-01-15 98 struct i2c_hid_of_goodix *ihid_goodix;
2b87ff72c696bc Douglas Anderson 2021-06-11 99 int ret;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 100 ihid_goodix = devm_kzalloc(&client->dev, sizeof(*ihid_goodix),
c1ed18c11bdb80 Douglas Anderson 2021-01-15 101 GFP_KERNEL);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 102 if (!ihid_goodix)
c1ed18c11bdb80 Douglas Anderson 2021-01-15 103 return -ENOMEM;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 104
2b87ff72c696bc Douglas Anderson 2021-06-11 105 mutex_init(&ihid_goodix->regulator_mutex);
2b87ff72c696bc Douglas Anderson 2021-06-11 106
c1ed18c11bdb80 Douglas Anderson 2021-01-15 107 ihid_goodix->ops.power_up = goodix_i2c_hid_power_up;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 108 ihid_goodix->ops.power_down = goodix_i2c_hid_power_down;
c1ed18c11bdb80 Douglas Anderson 2021-01-15 109
c1ed18c11bdb80 Douglas Anderson 2021-01-15 110 /* Start out with reset asserted */
c1ed18c11bdb80 Douglas Anderson 2021-01-15 111 ihid_goodix->reset_gpio =
c1ed18c11bdb80 Douglas Anderson 2021-01-15 112 devm_gpiod_get_optional(&client->dev, "reset", GPIOD_OUT_HIGH);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 113 if (IS_ERR(ihid_goodix->reset_gpio))
c1ed18c11bdb80 Douglas Anderson 2021-01-15 114 return PTR_ERR(ihid_goodix->reset_gpio);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 115
c1ed18c11bdb80 Douglas Anderson 2021-01-15 116 ihid_goodix->vdd = devm_regulator_get(&client->dev, "vdd");
c1ed18c11bdb80 Douglas Anderson 2021-01-15 117 if (IS_ERR(ihid_goodix->vdd))
c1ed18c11bdb80 Douglas Anderson 2021-01-15 118 return PTR_ERR(ihid_goodix->vdd);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 119
c1ed18c11bdb80 Douglas Anderson 2021-01-15 120 ihid_goodix->timings = device_get_match_data(&client->dev);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 121
2b87ff72c696bc Douglas Anderson 2021-06-11 122 /*
2b87ff72c696bc Douglas Anderson 2021-06-11 123 * We need to control the "reset" line in lockstep with the regulator
2b87ff72c696bc Douglas Anderson 2021-06-11 124 * actually turning on an off instead of just when we make the request.
2b87ff72c696bc Douglas Anderson 2021-06-11 125 * This matters if the regulator is shared with another consumer.
2b87ff72c696bc Douglas Anderson 2021-06-11 126 * - If the regulator is off then we must assert reset. The reset
2b87ff72c696bc Douglas Anderson 2021-06-11 127 * line is active low and on some boards it could cause a current
2b87ff72c696bc Douglas Anderson 2021-06-11 128 * leak if left high.
2b87ff72c696bc Douglas Anderson 2021-06-11 129 * - If the regulator is on then we don't want reset asserted for very
2b87ff72c696bc Douglas Anderson 2021-06-11 130 * long. Holding the controller in reset apparently draws extra
2b87ff72c696bc Douglas Anderson 2021-06-11 131 * power.
2b87ff72c696bc Douglas Anderson 2021-06-11 132 */
2b87ff72c696bc Douglas Anderson 2021-06-11 133 mutex_lock(&ihid_goodix->regulator_mutex);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2b87ff72c696bc Douglas Anderson 2021-06-11 134 ihid_goodix->nb.notifier_call = ihid_goodix_vdd_notify;
2b87ff72c696bc Douglas Anderson 2021-06-11 135 ret = regulator_register_notifier(ihid_goodix->vdd, &ihid_goodix->nb);
2b87ff72c696bc Douglas Anderson 2021-06-11 136 if (ret)
2b87ff72c696bc Douglas Anderson 2021-06-11 137 return dev_err_probe(&client->dev, ret,
2b87ff72c696bc Douglas Anderson 2021-06-11 138 "regulator notifier request failed\n");
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Drop the lock before returning?
2b87ff72c696bc Douglas Anderson 2021-06-11 139
2b87ff72c696bc Douglas Anderson 2021-06-11 140 /*
2b87ff72c696bc Douglas Anderson 2021-06-11 141 * If someone else is holding the regulator on (or the regulator is
2b87ff72c696bc Douglas Anderson 2021-06-11 142 * an always-on one) we might never be told to deassert reset. Do it
2b87ff72c696bc Douglas Anderson 2021-06-11 143 * now. Here we'll assume that someone else might have _just
2b87ff72c696bc Douglas Anderson 2021-06-11 144 * barely_ turned the regulator on so we'll do the full
2b87ff72c696bc Douglas Anderson 2021-06-11 145 * "post_power_delay" just in case.
2b87ff72c696bc Douglas Anderson 2021-06-11 146 */
2b87ff72c696bc Douglas Anderson 2021-06-11 147 if (ihid_goodix->reset_gpio && regulator_is_enabled(ihid_goodix->vdd))
2b87ff72c696bc Douglas Anderson 2021-06-11 148 goodix_i2c_hid_deassert_reset(ihid_goodix, true);
2b87ff72c696bc Douglas Anderson 2021-06-11 149 mutex_unlock(&ihid_goodix->regulator_mutex);
2b87ff72c696bc Douglas Anderson 2021-06-11 150
c1ed18c11bdb80 Douglas Anderson 2021-01-15 @151 return i2c_hid_core_probe(client, &ihid_goodix->ops, 0x0001);
c1ed18c11bdb80 Douglas Anderson 2021-01-15 152 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next prev parent reply other threads:[~2021-06-22 8:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-11 16:28 [PATCH] HID: i2c-hid: goodix: Tie the reset line to true state of the regulator Douglas Anderson
2021-06-22 8:44 ` kernel test robot [this message]
2021-06-22 8:49 ` Dan Carpenter
2021-06-22 8:49 ` Dan Carpenter
2021-06-25 15:20 ` Doug Anderson
2021-06-25 15:20 ` Doug Anderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202106221609.teM1w2T0-lkp@intel.com \
--to=dan.carpenter@oracle.com \
--cc=benjamin.tissoires@redhat.com \
--cc=dianders@chromium.org \
--cc=jikos@kernel.org \
--cc=kbuild-all@lists.01.org \
--cc=kbuild@lists.01.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.