1. 22 8月, 2013 1 次提交
  2. 09 4月, 2013 1 次提交
    • S
      pinctrl: imx: move hard-coding data into device tree · e1641531
      Shawn Guo 提交于
      Currently, all imx pinctrl drivers maintain a big array of struct
      imx_pin_reg which hard-codes data like register offset and mux mode
      setting for each pin function.  Every time a new imx SoC support is
      added, we need to add such a big mount of data.  With moving to single
      kernel build, it's only matter of time to be blamed on memory consuming.
      
      With DTC pre-processor support in place, the patch moves all these data
      into device tree by redefining the PIN_FUNC_ID in imxXX-pinfunc.h and
      changing the PIN_FUNC_ID parsing code a little bit.
      
      The pin id gets re-numbered based on mux register offset, or config
      register offset if the pin has no mux register, so that kernel can
      identify the pin id from register offsets provided by device tree.
      
      As a bonus point of the change, those arbitrary magic numbers standing
      for particular PIN_FUNC_ID in device tree sources are now replaced by
      macros to improve the readability of dts files.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Acked-by: NDong Aisheng <dong.aisheng@linaro.org>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      e1641531