From: Alexandre Courbot Date: Wed, 19 Nov 2014 07:51:27 +0000 (+0900) Subject: gpio: remove gpio_descs global array X-Git-Tag: omap-for-v3.19/fixes-rc1~89^2~8 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=14e85c0e69d5;p=pandora-kernel.git gpio: remove gpio_descs global array Replace the ARCH_NR_GPIOS-sized static array of GPIO descriptors by dynamically-allocated arrays for each GPIO chip. This change makes gpio_to_desc() perform in O(n) (where n is the number of GPIO chips registered) instead of O(1), however since n is rarely bigger than 1 or 2 no noticeable performance issue is expected. Besides this provides more incentive for GPIO consumers to move to the gpiod interface. One could use a O(log(n)) structure to link the GPIO chips together, but considering the low limit of n the hypothetical performance benefit is probably not worth the added complexity. This patch uses kcalloc() in gpiochip_add(), which removes the ability to add a chip before kcalloc() can operate. I am not aware of such cases, but if someone bisects up to this patch then I will be proven wrong... Signed-off-by: Alexandre Courbot Signed-off-by: Linus Walleij --- Reading git-diff-tree failed