diff options
author | Jean Delvare <jdelvare@suse.de> | 2021-06-02 11:00:38 +0200 |
---|---|---|
committer | Jean Delvare <jdelvare@suse.de> | 2021-06-02 11:00:38 +0200 |
commit | bd4d1c4c6930606dfcbc9b4c113124d140d5fe0c (patch) | |
tree | 35ee45e05b8b8eca419c47cb2e21a1d20aa46f68 | |
parent | 85d8fa835bcc5befb00b0feee2666bb4189e13d6 (diff) | |
download | i2c-tools-git-bd4d1c4c6930606dfcbc9b4c113124d140d5fe0c.tar.gz |
i2cdetect: Sort the bus list by number
The bus list (option -l) will be easier to read once sorted, as
typically this will group the buses by driver.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | tools/i2cbusses.c | 11 |
2 files changed, 12 insertions, 0 deletions
@@ -4,6 +4,7 @@ i2c-tools CHANGES master decode-dimms: Attempt to decode LPDDR3 modules eeprom, eepromer: removed the tools in favor of eeprog + i2cdetect: Sort the bus list by number i2ctransfer: reverted check for returned length from driver 4.2 (2020-09-22) diff --git a/tools/i2cbusses.c b/tools/i2cbusses.c index b4f00ae..d23ee7a 100644 --- a/tools/i2cbusses.c +++ b/tools/i2cbusses.c @@ -129,6 +129,14 @@ static struct i2c_adap *more_adapters(struct i2c_adap *adapters, int n) return new_adapters; } +static int sort_i2c_busses(const void *a, const void *b) +{ + const struct i2c_adap *adap1 = a; + const struct i2c_adap *adap2 = b; + + return adap1->nr - adap2->nr; +} + struct i2c_adap *gather_i2c_busses(void) { char s[120]; @@ -314,6 +322,9 @@ found: closedir(dir); done: + /* Sort by bus number for convenience */ + qsort(adapters, count, sizeof(struct i2c_adap), sort_i2c_busses); + return adapters; } |