Hello Andy, Thank you for the quick reply. On Mon, Jun 06, 2022 at 02:42:18PM +0200, Andy Shevchenko wrote: > On Mon, Jun 6, 2022 at 1:23 PM Dmitry Rokosov <DDRokosov@xxxxxxxxxxxxxx> wrote: > > > > As a part of patch series about wrong trigger register() and get() > > calls order in the some IIO drivers trigger initialization path: > > > > https://lore.kernel.org/all/20220524181150.9240-1-ddrokosov@xxxxxxxxxxxxxx/ > > > > runtime WARN() is added to alarm IIO driver authors who make such > > a mistake. > > > > When IIO driver allocates a new IIO trigger, it should register it before > > an IIO > > > calling the get() operation. In other words, each IIO driver must abide by > > IIO trigger alloc()/register()/get() calls order. > > I believe triggers usually acquired at ->probe() time, means that in > case if the following code (however, I believe it will be quite rare) > goes into deferred probe cycle the WARN will be repeated. Perhaps > WARN_ONCE() ? You are totally right. I've tested deferred probing using -EPROBE_DEFER injection to probe() code path and WARN() was called each time. I'll fix it in the v3 as you suggested. -- Thank you, Dmitry