exynos: i2c: Change FDT bus setup code to enumerate ports correctly
authorSimon Glass <sjg@chromium.org>
Tue, 15 Oct 2013 10:32:10 +0000 (16:02 +0530)
committerHeiko Schocher <hs@denx.de>
Thu, 17 Oct 2013 05:20:26 +0000 (07:20 +0200)
commit940dd1624255baac928dbac5dc2e3147477ba02f
tree7affddc22b510581da3e2daee5e9343f82a590e9
parente4e2402071e8052eab7fb10ecfbdec01310ac06f
exynos: i2c: Change FDT bus setup code to enumerate ports correctly

At present the i2c ports are enumerated in a strange way - the
fdtdec_find_aliases_for_id() function is used, but then the ID returned
is ignored and the ports are renumbered. The effect is the same provided
that the device tree has the ports in the same order, or uses aliases,
and has no gaps, but it is not correct.

Adjust the code to use the function as intended. This will allows device
tree aliases to change the device order if required.

As a result, the i2c_busses variable is dropped. We can't be sure that
there are no 'holes' in the list of buses, so must check the whole
array.

Note: it seems that non-FDT operation is now broken in this drive and
will need to be reinstated for upstream.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/59369
Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
drivers/i2c/s3c24x0_i2c.c
drivers/i2c/s3c24x0_i2c.h