[ARM] clkdev: fix clock matching
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Sat, 24 Jan 2009 10:14:37 +0000 (10:14 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 24 Jan 2009 11:41:20 +0000 (11:41 +0000)
commit409dc360b49480b57869ffd457e4b95901b76b75
tree23cfbdc67df8f1ec5edb73dc8b1736ff05a6b8da
parent02e0746ecc0e72482fe6f350cbb8b65d1d5fc40a
[ARM] clkdev: fix clock matching

The old matching algorithm was too fuzzy, causing false positives.
For example, when asked for device D connection C1 and we only find
device D connection C2, we return that as a valid match despite the
connection names being different.

Change the algorithm such that:
  An entry with a NULL ID is assumed to be a wildcard.
  If an entry has a device ID, it must match
  If an entry has a connection ID, it must match

However, we maintain the order of precidence while still only doing
a single pass over all entries: dev+con > dev only > con only.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/common/clkdev.c