- 13 2月, 2014 1 次提交
-
-
由 Aaron Sierra 提交于
The pca953x driver supports tca6424 (24-bit) and pca9505 (40-bit) devices. They were the only supported devices not mentioned in the Kconfig help. Signed-off-by: NAaron Sierra <asierra@xes-inc.com> Acked-by: NGraeme Smecher <gsmecher@threespeedlogic.com> 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>
-
- 23 9月, 2013 1 次提交
-
-
由 Graeme Smecher 提交于
The pca957x driver supports a handful of I2C GPIO expanders from NXP, Maxim, and TI. For the PCA9574 and PCA9575 devices only, the driver resets the GPIO level and direction in the pca957x_probe function. This seems like the wrong thing to do, since it can cause hardware bit twiddles during warm reboots when the chip state and reset values don't match. This kind of initialization is best left upstream (in a bootloader) or downstream (in userspace). It's also an inconsistency across devices supported by this driver. This patch is NOT boot-tested: the SoC I'm using is stuck on 2.6.37, and the patch doesn't apply trivially. Signed-off-by: NGraeme Smecher <gsmecher@threespeedlogic.com> Acked-by: NHaojian Zhuang <haojian.zhuang@gmail.com> Tested-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 30 8月, 2013 1 次提交
-
-
由 Vivien Didelot 提交于
This patch moves the pca953x.h header from include/linux/i2c to include/linux/platform_data and updates existing support accordingly. Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NH Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 16 8月, 2013 2 次提交
-
-
由 Andrew Ruder 提交于
This change fixes a regression introduced by commit f5f0b7aa (gpio: pca953x: make the register access by GPIO bank) When the pca953x driver was converted to using 8-bit reads/writes the bitmask in pca953x_gpio_get_value wasn't adjusted with a modulus BANK_SZ and consequently looks at the wrong bits in the input register. Signed-off-by: NAndrew Ruder <andrew.ruder@elecsyscorp.com> Reviewed-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 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>
-
- 12 4月, 2013 1 次提交
-
-
由 Alexandre Belloni 提交于
We actually have to pass chip as the host_data parameter of irq_domain_add_simple() as later on, it is used to initialize chip_data in pca953x_gpio_irq_map(). Failing to do so is leading to a NULL pointer dereference after calling irq_data_get_irq_chip_data() in pca953x_irq_mask(), pca953x_irq_unmask(), pca953x_irq_bus_lock(), pca953x_irq_bus_sync_unlock() and pca953x_irq_set_type(). Fixes regression introduced by commit 0e8f2fda (gpio: pca953x: use simple irqdomain) Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 27 3月, 2013 1 次提交
-
-
由 Laurent Navet 提交于
Fix : gpio/gpio-pca953x.c:150: ERROR: else should follow close brace '}' Signed-off-by: NLaurent Navet <laurent.navet@gmail.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 28 1月, 2013 2 次提交
-
-
由 Linus Walleij 提交于
Using the devm_* managed resources the pca driver can be simplified and cut down on boilerplate code. [gcl: fixed a inccorect reference to a removed label, "goto fail_out" became "return ret"] Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Gregory CLEMENT 提交于
This switches the legacy irqdomain to the simple one, which will auto-allocate descriptors, and also make sure that we use irq_create_mapping() in the to_irq function. Also use the map function of irq_domain_ops to setup the irq configuration on demand and no more statically during the initialization of the driver. Based on a initial patch from Linus Walleij <linus.walleij@linaro.org> Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 25 1月, 2013 2 次提交
-
-
由 Gregory CLEMENT 提交于
Now that pca953x driver can handle GPIO expanders with more than 32 bits this patch adds the support for the pca9505 which cam with 40 GPIOs. Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Gregory CLEMENT 提交于
Until now the pca953x driver accessed all the bank of a given register in a single command using only a 32 bits variable. New expanders from the pca53x family come with 40 GPIOs which no more fit in a 32 variable. This patch make access to the registers more generic by relying on an array of u8 variables. This fits exactly the way the registers are represented in the hardware. It also adds helpers to access to a single register of a bank instead of reading or writing all the banks for a given register. Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Tested-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 29 11月, 2012 1 次提交
-
-
由 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>
-
- 18 11月, 2012 2 次提交
-
-
由 Maxime Ripard 提交于
Even though the device tree binding code was already written, the compatible strings were not yet in the driver. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Maxime Ripard 提交于
The PCA953x used to register no IRQ domain, which made it impossible to use it as an interrupt-parent from the device tree. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 18 7月, 2012 2 次提交
-
-
由 Leed Aguilar 提交于
Increase variable size from u16 to u32 to allocate 24 bit of data required for the TCA6424 I/O expander device type. Signed-off-by: NLeed Aguilar <leed.aguilar@ti.com> Signed-off-by: NChandrabhanu Mahapatra <cmahapatra@ti.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Chandrabhanu Mahapatra 提交于
TCA6424 is a low voltage 24 bit I2C and SMBus I/O expander of pca953x family similar to its 16 bit predecessor TCA6416. It comes with three 8-bit active Input, Output, Polarity Inversion and Configuration registers each. The polarity of Input ports can be reversed by setting the appropiate bit in Polarity Inversion registers. The variables corresponding to Input, Output and Configuration registers have already been updated to support 24 bit values. This patch thus updates the invert variable of PCA953X platform data to support 24 bit. Signed-off-by: NChandrabhanu Mahapatra <cmahapatra@ti.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 26 5月, 2012 1 次提交
-
-
由 Andreas Schallenberg 提交于
This is a follow-up to ae79c190 "[PATCH v2] Add support for TCA6424" merged in the v3.5 merge window. It fixes comments made when the patch was merged. - Use 3 byte transfers instead of two separate transfers (2+1 byte) - An unnecessary cast removed Signed-off-by: NAndreas Schallenberg <Andreas.Schallenberg@3alitytechnica.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 19 5月, 2012 1 次提交
-
-
由 Andreas Schallenberg 提交于
This patch extends the PCA953x driver to support TI's TCA6424A 24 bit I2C I/O expander. The patch is based on code by Michele Bevilacqua. Changes in v2: - Compare ngpio against 24 in both places, not >16 - Larger datatype now u32 instead of uint. Bit fields not used for struct members since their address is taken. - Be precise: TCA6424A (untested for older TCA6424) Signed-off-by: Andreas Schallenberg<Andreas.Schallenberg@3alitytechnica.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 22 11月, 2011 1 次提交
-
-
由 Mark Brown 提交于
It's not used outside of the driver so doesn't need to be exported, and sparse notices this and complains about it. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 29 10月, 2011 2 次提交
-
-
由 Wolfram Sang 提交于
Initializing the chips may return with an error, but this error gets dropped in probe(). Propagate this further to the driver core. Also, simplify returning the error in one of the init functions. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Cc: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Wolfram Sang 提交于
We can assume our own device_id table is correct, so remove checking if the chip type is valid. (The check was bogus anyway: If it found an invalid entry, it returned with 0!) This is in preparation for further cleanups. Signed-off-by: NWolfram Sang <w.sang@pengutronix.de> Cc: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 14 10月, 2011 1 次提交
-
-
由 Hartmut Knaack 提交于
gpio_base was set to 0 if no system platform data or open firmware platform data was provided. This led to conflicts, if any other gpiochip with a gpiobase of 0 was instantiated already. Setting it to -1 will automatically use the first one available. Signed-off-by: NHartmut Knaack <knaack.h@gmx.de> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 17 6月, 2011 3 次提交
-
-
由 David Jander 提交于
The property 'polarity' is handled by the GPIO core, and the 'gpio-base' should be assigned automatically. It is meaningless in the device-tree, since GPIO's are identified by the "chip-name"/offset pair. This way, the whole pca953x_get_alt_pdata() can hopefully soon go away. We still need to check whether we really want GPIO-interrupt functionality by simply looking if the I2C node has an interrupts property defined, since this property is not used for anything else. Signed-off-by: NDavid Jander <david@protonic.nl> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 David Jander 提交于
In the case that we obtain device-tree data to fill in platform_data, the new platform data struct was dynamically allocated, but the pointer to it was not used everywhere it should. It seems easier to fix this issue by removing the dynamic allocation altogether since its data is only used during driver probing. Signed-off-by: NDavid Jander <david@protonic.nl> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 David Jander 提交于
It seems that in the normal case, IRQ_NOREQUEST needs to be explicitly cleared, otherwise claiming the interrupt fails. In the case of sparse interrupts, the descriptor needs to be allocated first. Signed-off-by: NDavid Jander <david@protonic.nl> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 09 6月, 2011 3 次提交
-
-
由 David Jander 提交于
When using nested threaded irqs, use handle_nested_irq(). This function does not call the chip handler, so no handler is set. Signed-off-by: NDavid Jander <david@protonic.nl> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 David Jander 提交于
The interrupt pin of the PCA953x is active low, and on the rising edge no interrupt should be produced. Signed-off-by: NDavid Jander <david@protonic.nl> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 David Jander 提交于
It seems that in the normal case, IRQ_NOREQUEST needs to be explicitly cleared, otherwise claiming the interrupt fails. In the case of sparse interrupts, the descriptor needs to be allocated first. Signed-off-by: NDavid Jander <david@protonic.nl> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 07 6月, 2011 2 次提交
-
-
由 Grant Likely 提交于
Sort the gpio makefile and enforce the naming convention gpio-*.c for gpio drivers. v2: cleaned up filenames in Kconfig and comment blocks v3: fixup use of BASIC_MMIO to GENERIC_GPIO for mxc Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 David Jander 提交于
The interrupt pin of the PCA953x is active low, and on the rising edge no interrupt should be produced. Signed-off-by: NDavid Jander <david@protonic.nl> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 27 5月, 2011 1 次提交
-
-
由 Haojian Zhuang 提交于
PCA957x is i2c gpio expander, and similar to PCA953x. Although register configurations are different between PCA957x and PCA953x. They can share a lot of components, such as IRQ handling, GPIO IN/OUT. So updating PCA953x driver to support PCA957x chips. Signed-off-by: NHaojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 20 5月, 2011 1 次提交
-
-
由 Erik Botö 提交于
Make pca953x driver use the simple irq handler since no hardware control is necessary and the driver lacks an irq_ack function. handle_edge_irq() calls chip->irq_ack() which crashes since this function does not exist. Signed-off-by: NErik Botö <erik.boto@pelagicore.com> Signed-off-by: NRichard Röjfors <richard.rojfors@pelagicore.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 31 3月, 2011 1 次提交
-
-
由 Ben Dooks 提交于
If the device fails to respond, then the error path tries to remove an interrupt that never got registered, which causes an backtrace from the interrupt handling code. Fix this by ensuring that the cleanup path has two labels and use the correct path as needed. fixes the following error: WARNING: at kernel/irq/manage.c:908 __free_irq+0x80/0x160() Trying to free already-free IRQ 0 Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 25 3月, 2011 1 次提交
-
-
由 Thomas Gleixner 提交于
Converted with coccinelle. Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Acked-by: NGrant Likely <grant.likely@secretlab.ca> LKML-Reference: <20110324212509.025730689@linutronix.de> Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
-
- 24 2月, 2011 1 次提交
-
-
由 Dirk Eibach 提交于
pca953x_get_alt_pdata() uses uint16_t* as result type for of_get_property(), but numeric of values are __be32. Checking for negative values is bogus because of-property values are unsigned by definition. Instead check for proper property size. v3: - assume big-endian properties - check property size v2: - removed bogus check for negative property values Signed-off-by: NDirk Eibach <eibach@gdsys.de> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 12 2月, 2011 1 次提交
-
-
由 Roland Stigge 提交于
Add a mutex to register communication and handling. Without the mutex, GPIOs didn't switch as expected when toggled in a fast sequence of status changes of multiple outputs. Signed-off-by: NRoland Stigge <stigge@antcom.de> Acked-by: NEric Miao <eric.y.miao@gmail.com> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Marc Zyngier <maz@misterjones.org> Cc: Ben Gardner <bgardner@wabtec.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 14 1月, 2011 1 次提交
-
-
由 Lennert Buytenhek 提交于
Converts irq_chips and flow handlers over to the new struct irq_data based irq_chip functions. Signed-off-by: NLennert Buytenhek <buytenh@secretlab.ca> Cc: Alek Du <alek.du@intel.com> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 27 10月, 2010 1 次提交
-
-
由 Alek Du 提交于
Our Moorestown platform has two max7315 chips which is covered by pca953x i2c gpio driver. A while ago this driver got updated with nested irq thread support, and it broke the compatibity with "request_irq". For example, the gpio_keys.c driver can not work with this driver now. This patch fixes the issue by switching to generic_handle_irq. Also fix the irq_base issue: irq_base == 0 is valid, and a "-1" value should mean invalid. IRQ 0 is not a valid IRQ, irq_base of 0 is valid. Signed-off-by: NAlek Du <alek.du@intel.com> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 28 5月, 2010 1 次提交
-
-
由 Uwe Kleine-König 提交于
gpiolib doesn't need to modify the names and I assume most initializers use string constants that shouldn't be modified anyhow. [akpm@linux-foundation.org: fix drivers/gpio/cs5535-gpio.c] Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Kevin Wells <kevin.wells@nxp.com> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-