- 12 5月, 2015 5 次提交
-
-
由 Johan Hovold 提交于
Clean up gpiochip_remove somewhat and only output warning about removing chip with GPIOs requested once. Signed-off-by: NJohan Hovold <johan@kernel.org> Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Michal Simek 提交于
Fix kernel-doc format: - Add gpio-width description - Remove additional "inited" variable description - Add return value description - xgpio_remove Signed-off-by: NMichal Simek <michal.simek@xilinx.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Christophe Jaillet 提交于
priv->irq is allocated using devm_kzalloc so there is no need to memset it. Signed-off-by: NChristophe Jaillet <christophe.jaillet@wanadoo.fr> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Krzysztof Kozlowski 提交于
The platform_device_id is not modified by the driver and core uses it as const. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Paul Gortmaker 提交于
This file is built off of a tristate Kconfig option and also contains modular function calls so it should explicitly include module.h to avoid compile breakage during header shuffles done in the future. Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Alexandre Courbot <gnurou@gmail.com> Cc: linux-gpio@vger.kernel.org Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 11 5月, 2015 4 次提交
-
-
由 Mika Westerberg 提交于
ACPI specification knows two types of GPIOs: GpioIo and GpioInt. The latter is used to describe that a given device interrupt line is connected to a specific GPIO pin. Typical ACPI _CRS entry for such device looks like below: Name (_CRS, ResourceTemplate () { I2cSerialBus (0x004A, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C6", 0x00, ResourceConsumer) GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer) { 0x004B } GpioInt (Level, ActiveLow, Shared, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer) { 0x004C } }) Currently drivers need to request a GPIO corresponding to the right GpioInt and then translate that to Linux IRQ number. This adds unnecessary lines of boiler-plate code. We can ease this a bit by introducing acpi_dev_gpio_irq_get() analogous to of_irq_get(). This function translates given GpioInt resource under the device in question to the suitable Linux IRQ number. Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com> Acked-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Vladimir Zapolskiy 提交于
All supported iMX GPIO controllers store configured GPIO output value in GPIO_DR data register, which is represented by GPIO generic reg_set. Provide a BGPIOF_READ_OUTPUT_REG_SET flag to bgpio_init() to allow correct getting of previously set output value. Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Vladimir Zapolskiy 提交于
Adding a BGPIOF_READ_OUTPUT_REG_SET initialization flag to GPIO generic MMIO driver makes possible to remove a private get() value function from the driver. Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Vladimir Zapolskiy 提交于
The change introduces BGPIOF_READ_OUTPUT_REG_SET flag for gpio-generic GPIO chip implementation, which allows to get correct configured value from reg_set register, input value is still get from reg_dat. Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 06 5月, 2015 5 次提交
-
-
由 Kamlakant Patel 提交于
Add GPIO controller driver for Netlogic XLP MIPS64 SOCs. This driver is instantiated by device tree and supports interrupts for GPIOs. Signed-off-by: NKamlakant Patel <kamlakant.patel@broadcom.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tony Lindgren 提交于
We currently get all kinds of errors building the omap gpio driver as a module starting with: undefined reference to `omap2_gpio_resume_after_idle' undefined reference to `omap2_gpio_prepare_for_idle' ... Let's fix the issue by adding inline functions to the header. Note that we can now also remove the two unused functions for omap_set_gpio_debounce and omap_set_gpio_debounce_time. Then doing rmmod on the module produces further warnings because of missing exit related functions. Let's add those. And finally, we can make the Kconfig entry just a tristate option that's selected for omaps. Cc: Javier Martinez Canillas <javier@dowhile0.org> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Nishanth Menon <nm@ti.com> Signed-off-by: NTony Lindgren <tony@atomide.com> Reviewed-by: NGrygorii Strashko <grygorii.strashko@linaro.org> Acked-by: NSantosh Shilimkar <ssantosh@kernel.org> Reviewed-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Tony Lindgren 提交于
At some point with all the GPIO clean-up we've broken the MPUIO interrupts. Those are just a little bit different from the GPIO interrupts, so we can fix it up just by setting different irqchip functions for it. And then we can just remove all old code trying to do the same. Cc: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Javier Martinez Canillas <javier@dowhile0.org> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Nishanth Menon <nm@ti.com> Signed-off-by: NTony Lindgren <tony@atomide.com> Reviewed-by: NGrygorii Strashko <grygorii.strashko@linaro.org> Acked-by: NSantosh Shilimkar <ssantosh@kernel.org> Reviewed-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Semen Protsenko 提交于
MAX732X clears all pending interrupts on I2C read (when interrupts register is being read). Driver doesn't need to send any ACKs when interrupt was handled. So replace handle_edge_irq() with handle_simple_irq(). Using handle_edge_irq() (w/o .irq_ack callback set) may lead to NULL pointer dereference in some cases. E.g. this was observed on hibernation process: Unable to handle kernel NULL pointer dereference at virtual address 0 Backtrace: (handle_edge_irq) from (resend_irqs) (resend_irqs) from (tasklet_action) (tasklet_action) from (__do_softirq) (__do_softirq) from (run_ksoftirqd) (run_ksoftirqd) from (smpboot_thread_fn) (smpboot_thread_fn) from (kthread) (kthread) from (ret_from_fork) Signed-off-by: NSemen Protsenko <semen.protsenko@globallogic.com> Reviewed-by: NGrygorii Strashko <grygorii.strashko@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Semen Protsenko 提交于
It's possible that multiple MAX732X can be hooked up to the same interrupt line with the processor. So add IRQF_SHARED in requesting irq. Signed-off-by: NSemen Protsenko <semen.protsenko@globallogic.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 05 5月, 2015 1 次提交
-
-
由 Joachim Eastwood 提交于
Driver for the GPIO block found on NXP LPC18xx/43xx devices. Signed-off-by: NJoachim Eastwood <manabian@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 04 5月, 2015 1 次提交
-
-
由 Semen Protsenko 提交于
Set .irq_set_wake callback to prevent possible issues on wake-up. This patch was inspired by this commit: b80eef95Signed-off-by: NSemen Protsenko <semen.protsenko@globallogic.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 30 4月, 2015 1 次提交
-
-
由 Johan Hovold 提交于
Unregister GPIOs requested through sysfs at chip remove to avoid leaking the associated memory and sysfs entries. The stale sysfs entries prevented the gpio numbers from being exported when the gpio range was later reused (e.g. at device reconnect). This also fixes the related module-reference leak. Note that kernfs makes sure that any on-going sysfs operations finish before the class devices are unregistered and that further accesses fail. The chip exported flag is used to prevent gpiod exports during removal. This also makes it harder to trigger, but does not fix, the related race between gpiochip_remove and export_store, which is really a race with gpiod_request that needs to be addressed separately. Also note that this would prevent the crashes (e.g. NULL-dereferences) at reconnect that affects pre-3.18 kernels, as well as use-after-free on operations on open attribute files on pre-3.14 kernels (prior to kernfs). Fixes: d8f388d8 ("gpio: sysfs interface") Cc: stable <stable@vger.kernel.org> # v2.6.27: 01cca93aSigned-off-by: NJohan Hovold <johan@kernel.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 27 4月, 2015 2 次提交
-
-
由 Axel Lin 提交于
Implement gpio_chip's get_direction() callback, that lets other drivers get particular GPIOs direction using gpiod_get_direction(). Signed-off-by: NAxel Lin <axel.lin@ingics.com> Reviewed-by: NRay Jui <rjui@broadcom.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Qipeng Zha 提交于
The signed error will be wrongly used as valid gpio offset Reported-by: NDavid Binderman <dcb314@hotmail.com> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NQipeng Zha <qipeng.zha@intel.com> Acked-by: NMika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 10 4月, 2015 1 次提交
-
-
由 Linus Walleij 提交于
This reverts commit d1e10dc8. This commit should not go through this tree. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 09 4月, 2015 1 次提交
-
-
由 Linus Walleij 提交于
The Synopsys DesignWare DWAPB GPIO block is popular to synthesize amongst many architectures: X86, ARM, ARC. The driver was restricted to only these archs due to using [read|write]l_relaxed() accessors that were not universally available in the past, but as of commit 9439eb3a "asm-generic: io: implement relaxed accessor macros as conditional wrappers" these accessors are available on all archs so this should not be a problem any more. Enable the driver for all archs. Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 08 4月, 2015 18 次提交
-
-
由 Vineet Gupta 提交于
Synopsys SDP platform uses DW GPIO controller in design with ARC cores. So adding ARC to architectures that may select this GPIO controller. Even though support for Synopsys SDP is yet to be submitted we'll need this tiny option enabled at least for properly working interrupts (DW GPIO controller is used as interrupt controller). Signed-off-by: NVineet Gupta <vgupta@synopsys.com> Signed-off-by: NAlexey Brodkin <abrodkin@synopsys.com> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Varka Bhadram 提交于
commit 3de07e5aaf290a0b58919 ("drivers: gpio: use devm_kzalloc") introduce devm_kzalloc() for allocating the memory. In this case kfree is not required to use. Above commit id introduced the bug that kfree is not removed from the remove function. This patch fix the above bug. Signed-off-by: NVarka Bhadram <varkab@cdac.in> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Gregory CLEMENT 提交于
Level IRQ handlers and edge IRQ handler are managed by tow different sets of registers. But currently the driver uses the same mask for the both registers. It lead to issues with the following scenario: First, an IRQ is requested on a GPIO to be triggered on front. After, this an other IRQ is requested for a GPIO of the same bank but triggered on level. Then the first one will be also setup to be triggered on level. It leads to an interrupt storm. The different kind of handler are already associated with two different irq chip type. With this patch the driver uses a private mask for each one which solves this issue. It has been tested on an Armada XP based board and on an Armada 375 board. For the both boards, with this patch is applied, there is no such interrupt storm when running the previous scenario. This bug was already fixed but in a different way in the legacy version of this driver by Evgeniy Dushistov: 9ece8839 "ARM: orion: Fix for certain sequence of request_irq can cause irq storm". The fact the new version of the gpio drive could be affected had been discussed there: http://thread.gmane.org/gmane.linux.ports.arm.kernel/344670/focus=364012Reported-by: NEvgeniy A. Dushistov <dushistov@mail.ru> Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Cc: <stable@vger.kernel.org> # v3.7 + Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Linus Walleij 提交于
Create Kconfig submenus for memory mapped, I2C, MFD, PCI, SPI and USB GPIO drivers to help navigate the forest of drivers in this subsystem. The I2C, SPI and USB menus get dependencies so we don't have to see them unless we have the required subsystem enabled in the first place. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Linus Walleij 提交于
Get rid of AC97, MODULbus and other weird subheadings for GPIO drivers. Move all MFD drivers out of I2C etc and in under the MFD comment. This is too weird as it is and makes no sense, if the dependent parent driver is MFD, group these as MFD GPIO drivers. Alphabetize and move this comment group inbetween "I2C" and "PCI" to also have the groups in alphabetic order. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Linus Walleij 提交于
Move the Kconfig option for the Broadcom BCM Kona up to the commin GPIO controllers, as it is currently grouped under MODULbus expanders which it definately is not. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Linus Walleij 提交于
Rearrange the SPI GPIO expanders in alphabetic order as already indicated by the comment in the file. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Linus Walleij 提交于
Rearrange PCI GPIO controllers in alphabetic order as already indicated by the comment in the file. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Linus Walleij 提交于
Rearrange the I2C GPIO expanders in alphabetic order as already indicated by the comment in the file. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Linus Walleij 提交于
This rearranges the GPIO drivers Kconfig symbols alphabetically as the top comment in the file already states they should be. No functional changes whatsoever. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Aaron Sierra 提交于
Allow the kernel to query the driver for a GPIO's pin direction. Signed-off-by: NAaron Sierra <asierra@xes-inc.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Varka Bhadram 提交于
Signed-off-by: NVarka Bhadram <varkab@cdac.in> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Varka Bhadram 提交于
This driver no need to set the owner field, it will be populated by driver core. Signed-off-by: NVarka Bhadram <varkab@cdac.in> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Varka Bhadram 提交于
Signed-off-by: NVarka Bhadram <varkab@cdac.in> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Varka Bhadram 提交于
We can use devres API for allocating memory. No need of using kfree. Signed-off-by: NVarka Bhadram <varkab@cdac.in> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Michael S. Tsirkin 提交于
Header moved from linux/pci_ids.h to uapi/linux/pci_ids.h, use the new header directly so we can drop the wrapper in include/linux/pci_ids.h. Signed-off-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Vladimir Zapolskiy 提交于
devm_ioremap_resource() returns IOMEM_ERR_PTR() and it never returns NULL, fix the check to prevent access to invalid virtual address. Signed-off-by: NVladimir Zapolskiy <vz@mleia.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Huacai Chen 提交于
Improve Loongson-2's GPIO driver to support Loongson-3A/3B, and update Loongson-3's default config file. Acked-by: NRalf Baechle <ralf@linux-mips.org> Signed-off-by: NHuacai Chen <chenhc@lemote.com> Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 07 4月, 2015 1 次提交
-
-
由 Huacai Chen 提交于
Move Loongson-2's GPIO driver to drivers/gpio and add Kconfig options. Acked-by: NRalf Baechle <ralf@linux-mips.org> Signed-off-by: NHuacai Chen <chenhc@lemote.com> Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-