From: Linus Torvalds Date: Tue, 26 Feb 2013 17:35:29 +0000 (-0800) Subject: Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux X-Git-Tag: v3.9-rc1~76 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=4c8c225abf972ce422c241579ce1d4d27eaeb166;p=~emulex%2Finfiniband.git Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux Pull GPIO changes from Grant Likely: "This branch contains the usual set of individual driver improvements and bug fixes, as well as updates to the core code. The more notable changes include: - Internally add new API for referencing GPIOs by gpio_desc instead of number. Eventually this will become a public API - ACPI GPIO binding support" * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux: (33 commits) arm64: select ARCH_WANT_OPTIONAL_GPIOLIB gpio: em: Use irq_domain_add_simple() to fix runtime error gpio: using common order: let 'static const' instead of 'const static' gpio/vt8500: memory cleanup missing gpiolib: Fix locking on gpio debugfs files gpiolib: let gpio_chip reference its descriptors gpiolib: use descriptors internally gpiolib: use gpio_chips list in gpiochip_find_base gpiolib: use gpio_chips list in sysfs ops gpiolib: use gpio_chips list in gpiochip_find gpiolib: use gpio_chips list in gpiolib_sysfs_init gpiolib: link all gpio_chips using a list gpio/langwell: cleanup driver gpio/langwell: Add Cloverview ids to pci device table gpio/lynxpoint: add chipset gpio driver. gpiolib: add missing braces in gpio_direction_show gpiolib-acpi: Fix error checks in interrupt requesting gpio: mpc8xxx: don't set IRQ_TYPE_NONE when creating irq mapping gpiolib: remove gpiochip_reserve() arm: pxa: tosa: do not use gpiochip_reserve() ... --- 4c8c225abf972ce422c241579ce1d4d27eaeb166 diff --cc arch/arm64/Kconfig index f532ce5f3c5,e9a8fe60791..fd70a68387e --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@@ -1,10 -1,9 +1,11 @@@ config ARM64 def_bool y select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE + select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_COMPAT_IPC_PARSE_VERSION + select ARCH_WANT_FRAME_POINTERS select ARM_AMBA + select ARM_ARCH_TIMER select CLONE_BACKWARDS select COMMON_CLK select GENERIC_CLOCKEVENTS diff --cc drivers/gpio/gpiolib.c index 5359ca78130,4b3f388bcc6..4828fe7c66c --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@@ -801,12 -819,18 +819,18 @@@ fail_unregister_device device_unregister(dev); fail_unlock: mutex_unlock(&sysfs_lock); - pr_debug("%s: gpio%d status %d\n", __func__, gpio, status); + pr_debug("%s: gpio%d status %d\n", __func__, desc_to_gpio(desc), + status); return status; } + + int gpio_export(unsigned gpio, bool direction_may_change) + { + return gpiod_export(gpio_to_desc(gpio), direction_may_change); + } EXPORT_SYMBOL_GPL(gpio_export); -static int match_export(struct device *dev, void *data) +static int match_export(struct device *dev, const void *data) { return dev_get_drvdata(dev) == data; }