[PATCH v2 7/7] ARM: davinci: Start using gpiolib API inplace of inline functions

Linus Walleij linus.walleij at linaro.org
Wed Jun 19 15:05:12 EDT 2013


On Fri, Jun 14, 2013 at 11:35 AM, Philip Avinash <avinashphilip at ti.com> wrote:

> Remove NEED_MACH_GPIO_H config select option for ARCH_DAVINCI to start
> use gpiolib interface for davinci platforms. However with this software
> latencies for gpio_get/set APIs will affect. Latency has increased by 18
> microsecond with gpiolib API as compared with inline API's.
>
> Software latency is calculated on da850 EVM for gpio_get_value API by
> taking the printk timing for API execution with interrupts disabled.
> Experiment has done for inline and gpiolib API interface.
>
>   inline gpio API with interrupt disabled
>   [   29.734337] before gpio_get
>   [   29.736847] after gpio_get
>
>   Time difference 0.00251
>
>   gpio library with interrupt disabled
>   [  272.876763] before gpio_get
>   [  272.879291] after gpio_get
>
>   Time difference 0.002528
>   Latency increased by (0.002528 -  0.00251) = 18 microsecond.
>
> Also being here
> - Moved following definitions from mach folder to include directory
>         struct davinci_gpio_controller
>         Macro GPIO(x)
>         inline function __gpio_mask
> - Removed GPIO_TYPE_DAVINCI enum definition as GPIO Davinci is converted
>   to Linux device driver model.
> - With removal of select option of NEED_MACH_GPIO_H for ARCH_DAVINCI,
>   gpio-tnetv107x also start using gpiolib interface. Hence removes
>   related header files
>         arch/arm/mach-davinci/include/mach/gpio-davinci.h
>         arch/arm/mach-davinci/include/mach/gpio.h
>
>   and include linux/platform_data/gpio-davinci.h header file to support
>   gpio-davinci platform definitions.
>
> Signed-off-by: Philip Avinash <avinashphilip at ti.com>
> Signed-off-by: Sekhar Nori <nsekhar at ti.com>
> ---
> Changes since v1:
>         - Remove inline GPIO API support for tnetv107x platforms
>         - Remove gpio header files in mach directory.
>         - Remove include of gpio header files from mach directory.
>         - Moved enum davinci_gpio_type to include folder
>         - Replace __ASM_ARCH_DAVINCI_GPIO_H with __DAVINCI_GPIO_PLATFORM_H

Acked-by: Linus Walleij <linus.walleij at linaro.org>
on this as well, and this whole 7-patch series.

For sure things look better after this series than before it,
even if there may be details I think need to be adressed later.

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list