
Hi Simon,
2014-11-27 5:18 GMT+09:00 Simon Glass sjg@chromium.org:
Hi Masahiro,
On 26 November 2014 at 02:33, Masahiro Yamada yamada.m@jp.panasonic.com wrote:
If CONFIG_OF_CONTROL is enabled, lib/fdtdec.c is compiled. It includes <asm/gpio.h> and then <asm/gpio.h> includes <asm/arch/gpio.h>. Consequently, all the SoCs that enable CONFIG_OF_CONTROL must have <asm/arch/gpio.h> even if they do not support GPIO.
In the first place, GPIO has nothing to do with OF_CONTROL. It is wrong that lib/fdtdec.c includes GPIO functions; it should be split into two files, FDT-common things and GPIO things. It is, however, a pretty big work to fix that correctly.
This is a compromised commit to add a dummy <asm/arch/gpio.h> to support OF_CONTROL for UniPhier platform. This dummy header will be removed after FDT-GPIO stuff is fixed correctly.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com
I am working on the task to split lib/fdtdec.c and move GPIO functions to drivers/gpio/.
That code is only temporary and we can probably remove it soon. It should move to the GPIO uclass.
Do you mean, is it better to not touch lib/fdtdec.c ?
I agree that lib/libfdt/ is not enough for our use, but I am afraid our fdt support code is getting ugly.
Other than GPIO stuff, my concern is we have our libfdt extensions in some places: common/fdt_support.c and lib/fdtdec.c
The functions in the former is prefixed with fdt_ but the ones in the latter is prefixed with fdtdec_.
I do not see consistency.