All of lore.kernel.org
 help / color / mirror / Atom feed
* IIO trigger names are not actually unique
@ 2016-05-05 11:52 Crestez Dan Leonard
  2016-05-09  9:04 ` Lars-Peter Clausen
  0 siblings, 1 reply; 3+ messages in thread
From: Crestez Dan Leonard @ 2016-05-05 11:52 UTC (permalink / raw)
  To: linux-iio@vger.kernel.org, Jonathan Cameron; +Cc: Daniel Baluta

Hello,

I've been looking at trigger code and it seems to me that trigger->name
is not guaranteed to be unique. This is despite the fact that it's
documented as "@name: [DRIVER] unique name" on top of struct
iio_trigger. Just like indio_dev->name it seems to be a mostly cosmetic
label.

You can easily create a software trigger with a duplicate name if you
enable CONFIG_IIO_HRTIMER_TRIGGER:

mkdir /sys/kernel/config/iio/triggers/hrtimer/`cat
/sys/bus/iio/devices/trigger0/name`

It seems that trigger names are set at allocation time, mostly through
some variant of:

    iio_trigger_alloc("%s-dev%d", indio_dev->name, indio_dev->id);

indio_dev->name is not guaranteed to be unique but indio_dev->id is. The
are some exceptions, including st_sensors which does:

    iio_trigger_alloc("%s-trigger", indio_dev->name);

Since indio_dev->name is just the model name it seems that attaching two
identical st_sensors devices will create two triggers with the same name.

The "current_trigger" for an iio_device is identified by name. If you
have two triggers with the same name then the "first one" will be picked
up, probably in registration order.

One solution would be to refuse to register triggers with duplicate
names but that might cause probe errors in some cases.

Another option would be to just warn on duplicate names and provide a
separate current_trigger_id which identifies the current trigger by
numeric ID. In general it seems to me that it's better to identify
entities by numbers rather than strings.

-- 
Regards,
Leonard

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-05-14 17:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-05 11:52 IIO trigger names are not actually unique Crestez Dan Leonard
2016-05-09  9:04 ` Lars-Peter Clausen
2016-05-14 17:26   ` Jonathan Cameron

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.