[<prev] [next>] [day] [month] [year] [list]
Message-ID: <Zc-E3-MNe9dG9tdW@smile.fi.intel.com>
Date: Fri, 16 Feb 2024 17:53:03 +0200
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Mike Looijmans <mike.looijmans@...ic.nl>, devicetree@...r.kernel.org,
linux-iio@...r.kernel.org
Cc: Mike Looijmans <mike.looijmans@...ic.nl>,
Arnd Bergmann <arnd@...nel.org>,
Jonathan Cameron <jic23@...nel.org>,
Lars-Peter Clausen <lars@...afoo.de>,
Liam Beguin <liambeguin@...il.com>,
Liam Girdwood <lgirdwood@...il.com>,
Maksim Kiselev <bigunclemax@...il.com>,
Marcus Folkesson <marcus.folkesson@...il.com>,
Marius Cristea <marius.cristea@...rochip.com>,
Mark Brown <broonie@...nel.org>,
Niklas Schnelle <schnelle@...ux.ibm.com>,
Okan Sahin <okan.sahin@...log.com>, linux-kernel@...r.kernel.org
Subject: [PATCH v5 2/2] iio: adc: ti-ads1298: Add driver
..
+ if (reset_gpio) {
+ /*
+ * Deassert reset now that clock and power are active.
+ * Minimum reset pulsewidth is 2 clock cycles.
+ */
+ udelay(ADS1298_CLOCKS_TO_USECS(2));
This is sleeping context and you are calling unsleeping function. I haven't
checked the macro implementation and I have no idea what is the maximum it may
give, but making code robust just use fsleep() call.
+ gpiod_set_value_cansleep(reset_gpio, 0);
+ } else {
+ ret = ads1298_write_cmd(priv, ADS1298_CMD_RESET);
+ if (ret)
+ return dev_err_probe(dev, ret, "RESET failed\n");
+ }
+ /* Wait 18 clock cycles for reset command to complete */
+ udelay(ADS1298_CLOCKS_TO_USECS(18));
Ditto.
..
If it's the only issue I think Jonathan can modify when applying
(no new patch version would be needed).
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists