- 31 3月, 2016 1 次提交
-
-
由 Alexander Stein 提交于
The interrupt for the corresponding pin is configured to trigger when the pin state changes compared to a preconfigured state (Bit set in INTCON). This state is set by setting/clearing the bit in DEFVAL. In the interrupt handler we need also to check if the bit in INTCON is set for level triggered interrupts. Signed-off-by: NAlexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 30 3月, 2016 2 次提交
-
-
由 Linus Walleij 提交于
When using the GPIOLIB_IRQCHIP the gpiolib provides a straight-forward implementation of request/release resources, rely on that instead. Cc: Phil Reid <preid@electromag.com.au> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Phil Reid 提交于
This switches the mcp23s08 driver to use the gpiolib irqchip helpers. Signed-off-by: NPhil Reid <preid@electromag.com.au> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 16 3月, 2016 1 次提交
-
-
由 Phil Reid 提交于
The mcp23s18 is configurable on clearing the interrupt on either reading INTCAP or GPIO. Since driver reads INTCAP in IRQ and not the GPIO reg need to set control byte for this mode. Signed-off-by: NPhil Reid <preid@electromag.com.au> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 09 3月, 2016 1 次提交
-
-
由 Phil Reid 提交于
This patch adds support for the mcp23s18 which is very similar to the mcp23s17. A couple of control bits are not the same. Notable IOCON_HAEN (s17 only) & IOCON_INTCC. Which can be ignored. Patch changes the following: - Add mcp23s18 types. - Always set mirror bit if the dts defines mcp23s18. regardless of type. Mirror bit is ignored on 8 bit devices anyway. - In mcp23s08_probe use chip.ngpio instead of logic based on type to determine number of gpio lins to increment by. This is set appropiately by the call to mcp23s08_probe_one. - Add mcp23s18 to device tree documentation. - Remove statement that irqs don't work for spi. They do. Tested with mcp23s18. Signed-off-by: NPhil Reid <preid@electromag.com.au> Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 16 2月, 2016 1 次提交
-
-
由 Insu Yun 提交于
Since devm_kzalloc can be failed in memory pressure, it needs to check and return -ENOMEM Signed-off-by: NInsu Yun <wuninsu@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 05 1月, 2016 1 次提交
-
-
由 Linus Walleij 提交于
This makes the driver use the data pointer added to the gpio_chip to store a pointer to the state container instead of relying on container_of(). Cc: Sonic Zhang <sonic.zhang@analog.com> Acked-by: NAlexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 19 11月, 2015 1 次提交
-
-
由 Linus Walleij 提交于
The name .dev in a struct is normally reserved for a struct device that is let us say a superclass to the thing described by the struct. struct gpio_chip stands out by confusingly using a struct device *dev to point to the parent device (such as a platform_device) that represents the hardware. As we want to give gpio_chip:s real devices, this is not working. We need to rename this member to parent. This was done by two coccinelle scripts, I guess it is possible to combine them into one, but I don't know such stuff. They look like this: @@ struct gpio_chip *var; @@ -var->dev +var->parent and: @@ struct gpio_chip var; @@ -var.dev +var.parent and: @@ struct bgpio_chip *var; @@ -var->gc.dev +var->gc.parent Plus a few instances of bgpio that I couldn't figure out how to teach Coccinelle to rewrite. This patch hits all over the place, but I *strongly* prefer this solution to any piecemal approaches that just exercise patch mechanics all over the place. It mainly hits drivers/gpio and drivers/pinctrl which is my own backyard anyway. Cc: Haavard Skinnemoen <hskinnemoen@gmail.com> Cc: Rafał Miłecki <zajec5@gmail.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Cc: Alek Du <alek.du@intel.com> Cc: Jaroslav Kysela <perex@perex.cz> Cc: Takashi Iwai <tiwai@suse.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: NLee Jones <lee.jones@linaro.org> Acked-by: NJiri Kosina <jkosina@suse.cz> Acked-by: NHans-Christian Egtvedt <egtvedt@samfundet.no> Acked-by: NJacek Anaszewski <j.anaszewski@samsung.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 28 10月, 2015 1 次提交
-
-
由 Andrew F. Davis 提交于
An spi_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: NAndrew F. Davis <afd@ti.com> Acked-by: NJonathan Cameron <jic23@kernel.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 28 7月, 2015 1 次提交
-
-
由 Rob Herring 提交于
set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed as most platforms don't use probing. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: NRob Herring <robh@kernel.org> Cc: Michael Hennerich <michael.hennerich@analog.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Cc: Alexandre Courbot <gnurou@gmail.com> Cc: Ray Jui <rjui@broadcom.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: linux-gpio@vger.kernel.org Cc: bcm-kernel-feedback-list@broadcom.com Cc: linux-tegra@vger.kernel.org Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 08 4月, 2015 2 次提交
-
-
由 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>
-
由 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>
-
- 26 1月, 2015 1 次提交
-
-
由 Sonic Zhang 提交于
Create default gpio base if neither device node nor platform data is defined. Cc: Stable <stable@vger.kernel.org> Signed-off-by: NSonic Zhang <sonic.zhang@analog.com> Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com> Tested-by: NAntonio Fiol <antonio@fiol.es> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 12 12月, 2014 1 次提交
-
-
由 Linus Walleij 提交于
The driver depends on the chip.of_node being present to compile, which is the case on some target platforms but not others. Instead, rely on chip.dev->of_node to be used, as struct device always has an of_node in place. Cc: Alexander Stein <alexander.stein@systec-electronic.com> Suggested-by: NLinus Torvalds <torvalds@linux-foundation.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 03 12月, 2014 1 次提交
-
-
由 Alexander Stein 提交于
Default is active low, but if property is specified in DT set INTPOL flag. Signed-off-by: NAlexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 27 11月, 2014 3 次提交
-
-
由 Alexander Stein 提交于
Currently this implementation only supports one IRQ for (all) SPI devices using the same chip select. Signed-off-by: NAlexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Alexander Stein 提交于
Request a shared interrupt when requesting a mcp23s08 GPIO interrupt. Signed-off-by: NAlexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Alexander Stein 提交于
If devm_request_threaded_irq fails for some reason we call mcp23s08_irq_teardown afterwards. Do not free the unrequested interrupt in this case. free_irq can also be omitted for the error free case because we use devm_request_threaded_irq. Signed-off-by: NAlexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 29 10月, 2014 1 次提交
-
-
由 Alexandre Courbot 提交于
This function actually operates on a gpio_chip, so its prefix should reflect that fact for consistency with other functions defined in gpio/driver.h. Signed-off-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 05 9月, 2014 1 次提交
-
-
由 Sonic Zhang 提交于
Device tree is not enabled in some architecture where gpio driver mcp23s08 is still required. v2-changes: - Parse device tree properties into platform data other than individual variables. v3-changes: - Use of_node in gpio_chip device structure, because the struct device * always has an of_node which is NULL when OF is not used. Signed-off-by: NSonic Zhang <sonic.zhang@analog.com> Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 22 7月, 2014 1 次提交
-
-
由 abdoulaye berthe 提交于
Signed-off-by: Nabdoulaye berthe <berthe.ab@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 05 7月, 2014 1 次提交
-
-
由 Michael Welling 提交于
Unnecessary checking was added during the merge of the gpio branch. This patch removes the extra unnecessary checking. Signed-off-by: NMichael Welling <mwelling@ieee.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 28 5月, 2014 1 次提交
-
-
由 Linus Walleij 提交于
Commit 3e3bed91 "gpio: mcp23s08: fixed count variable for devicetree probing" introduced a loop check to see if the number of chips were unconsistent and going below zero counting downwards, but this requires the counting variable to be able to be negative, so switch the variable from unsigned to int. Cc: Michael Stickel <ms@mycable.de> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 27 5月, 2014 1 次提交
-
-
由 Michael Stickel 提交于
Fixed missing increase of count variable for devicetree path in driver probing. The gpio-mcp23s08 driver has two paths for getting the platform registration information. One for the classic platform initialization and one for openfirmware devicetree based initialization. The devicetree based path is missing the increase of the count variable, which results in the count variable to become negative in the later use, where it is decreased. The count variable is used as an index into a vector. This results in accessing invalid memory space and can result in an exception. Tested this with an AM3352 SoC with two mcp23s17 on two chip selects as well as on a shared chip select. Signed-off-by: NMichael Stickel <ms@mycable.de> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 09 5月, 2014 2 次提交
-
-
由 Jingoo Han 提交于
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Michael Welling 提交于
The chips variable needs to be incremented for each chip that is found in the spi_present_mask when registering via device tree. Without this and the checking a negative index is passed to the data->chip array in a subsequent loop. Cc: stable@vger.kernel.org Signed-off-by: NMichael Welling <mwelling@ieee.org> Acked-by: NPeter Korsgaard <peter@korsgaard.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 18 3月, 2014 1 次提交
-
-
由 Linus Walleij 提交于
This switches all GPIO and pin control drivers with irqchips that were using .startup() and .shutdown() callbacks to lock GPIO lines for IRQ usage over to using the .request_resources() and .release_resources() callbacks just introduced into the irqchip vtable. Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Jean-Jacques Hiblot <jjhiblot@traphandler.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 12 3月, 2014 1 次提交
-
-
由 Gary Servin 提交于
This coding style issue was detected using the checkpatch.pl script Signed-off-by: NGary Servin <garyservin@gmail.com> Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 20 1月, 2014 1 次提交
-
-
由 SeongJae Park 提交于
Signed-off-by: NSeongJae Park <sj38.park@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 17 1月, 2014 1 次提交
-
-
由 Lars Poeschel 提交于
This adds interrupt functionality for i2c chips to the driver. They can act as a interrupt-controller and generate interrupts, if the inputs change. This is tested with a mcp23017 chip on an arm based platform. v3: - be a bit more clear that the irq functionality is also available on spi versions of the chips, but the linux driver does not support this yet v2: - some more word about irq-mirror property in binding doc - use of_read_bool instead of of_find_property for "interrupt-contrller" and "irq-mirror" - cache the "interrupt-controller" for remove function - do set the irq-mirror bit only if device is marked as interrupt-controller - do create the irq mapping and setup of irq_desc of all possible interrupts in probe path instead of in gpio_to_irq - mark gpios as in use as interrupts in irq in irq_startup and unlock it in irq_shutdown - rename virq to child_irq - remove dev argument from mcp23s08_irq_setup function - move gpiochip_add before mcp23s08_irq_setup in probe path Signed-off-by: NLars Poeschel <poeschel@lemonage.de> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 04 12月, 2013 1 次提交
-
-
由 Linus Walleij 提交于
This switches the two members of struct gpio_chip that were defined as unsigned foo:1 to bool, because that is indeed what they are. Switch all users in the gpio and pinctrl subsystems to assign these values with true/false instead of 0/1. The users outside these subsystems will survive since true/false is 1/0, atleast we set some kind of more strict typing example. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 30 8月, 2013 1 次提交
-
-
由 Lars Poeschel 提交于
The device tree property should be more descriptive. microchip seems more reasonable than mcp. The old mcp prefix is still supported but marked as deprecated. Users of mcp have to switch to the microchip prefix. Acked-by: NMark Rutland <mark.rutland@arm.com> Signed-off-by: NLars Poeschel <poeschel@lemonage.de> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 16 8月, 2013 2 次提交
-
-
由 Jingoo Han 提交于
Use the wrapper function for retrieving the platform data instead of accessing dev->platform_data directly. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Daniel M. Weeks 提交于
The call to gpiochip_add made by this driver is capable of auto-selecting a base if one is not provided. However, it was not called unless there was already a DT entry or platform data. This patch calls it even if the base is not already known so that gpiochip_add can attempt to find a usable base. Signed-off-by: NDaniel M. Weeks <dan@danweeks.net> Acked-by: NLars Poeschel <poeschel@lemonage.de> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 11 4月, 2013 1 次提交
-
-
由 Lars Poeschel 提交于
This converts the mcp23s08 driver to be able to be used with device tree. There is a "spi-present-mask" device tree property, that allows to use multiple of this spi chips on the same chipselect. v4: - removed the ability to specify the pullup from device tree - updated binding doc v3: - removed mcp,chips device tree property in favour of a mcp,spi-present-mask and a flag for the pullup of every gpio - seperated the match table. Now there is one for i2c and one for spi - do the of reading stuff on stack of the probe function - no devm any more v2: - squashed booth patches together - fixed build warning, when CONFIG_OF is not defined - use of_match_ptr macro for of_match_table Signed-off-by: NLars Poeschel <poeschel@lemonage.de> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 29 11月, 2012 3 次提交
-
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option so __devexit is no longer needed. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Cc: Grant Likely <grant.likely@secretlab.ca> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Cc: Peter Tyser <ptyser@xes-inc.com> Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option so __devinit is no longer needed. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> Cc: Kevin Hilman <khilman@ti.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer needed. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Peter Tyser <ptyser@xes-inc.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 18 11月, 2012 1 次提交
-
-
由 Daniel M. Weeks 提交于
The driver has both SPI and I2C pieces. The appropriate pieces are built based on whether SPI and/or I2C is/are enabled. However, it was only checking if I2C was built-in, never if it was built as a module. This patch checks for either since building both this driver and I2C as modules is possible. Signed-off-by: NDaniel M. Weeks <dan@danweeks.net> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 19 5月, 2012 1 次提交
-
-
由 Peter Korsgaard 提交于
Pullups are enabled when bits are set, not when cleared. Signed-off-by: NPeter Korsgaard <jacmet@sunsite.dk> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-