Age | Commit message (Collapse) | Author | Files | Lines |
|
Rename the argument "virq" to just "irq", this IRQ isn't any
more "virtual" than any other Linux IRQ number, we use "hwirq"
for the actual hw-numbers, "virq" is just bogus.
Cc: Anatolij Gustschin <[email protected]>
Cc: Uwe Kleine-König <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Rename the argument "virq" to just "irq", this IRQ isn't any
more "virtual" than any other Linux IRQ number, we use "hwirq"
for the actual hw-numbers, "virq" is just bogus. Take this
opportunity to sink a variable into a loop.
Acked-by: Mathias Nyman <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Rename the argument "virq" to just "irq", this IRQ isn't any
more "virtual" than any other Linux IRQ number, we use "hwirq"
for the actual hw-numbers, "virq" is just bogus.
Acked-by: David Cohen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Rename the argument "virq" to just "irq", this IRQ isn't any
more "virtual" than any other Linux IRQ number, we use "hwirq"
for the actual hw-numbers, "virq" is just bogus.
Cc: Magnus Damm <[email protected]>
Reviewed-by: Ian Molton <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Rename the argument "virq" to just "irq", this IRQ isn't any
more "virtual" than any other Linux IRQ number, we use "hwirq"
for the actual hw-numbers, "virq" is just bogus. Rename the
"gpio" variable to "hwirq" to reflect what it is. Rename one
instance of "virq" to "child_irq" that better describes what
it is.
Cc: Markus Mayer <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
This variable is confusingly named, the different Linux IRQs
aren't any more virtual than any other Linux IRQ. Give it a
non-misleading name.
Acked-by: Lars Poeschel <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Rename the argument "virq" to just "irq", this IRQ isn't any
more "virtual" than any other Linux IRQ number, we use "hwirq"
for the actual hw-numbers, "virq" is just bogus.
Signed-off-by: Linus Walleij <[email protected]>
|
|
The GPIO interrupt handler does not need to be marked as nested.
Signed-off-by: Markus Mayer <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Assign [email protected] as maintainer of Intel MID gpio
driver at drivers/gpio/gpio-intel-mid.c.
Signed-off-by: David Cohen <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
After file was renamed from gpio-langwell to gpio-intel-mid, this patch
updates the variables, functions and structs to be based on intel-mid
instead of langwell.
There is no function change.
Signed-off-by: David Cohen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
gpio-langwell is a deprecated name. Despite the driver was made
initially for Langwell, it supports now other Intel Mid SoC's.
This patch does no change beside the file renaming with Kconfig/Makefile
update.
Signed-off-by: David Cohen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
This patch implements a better way to handle multiple SoC's and adds
Intel Merrifield support to gpio-langwell.
It was based on previous work from Ning Li <[email protected]>
Signed-off-by: David Cohen <[email protected]>
Signed-off-by: Fei Yang <[email protected]>
Signed-off-by: Ning Li <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
It makes more sense to have these functions close to each other. No
functional changes.
Signed-off-by: Mika Westerberg <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
We need to use the of_node from the main Arizona device as that
holds our configuration.
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
The data structure of_match_ptr() protects is always compiled in.
Hence of_match_ptr() is not needed.
Signed-off-by: Sachin Kamat <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
The data structure of_match_ptr() protects is always compiled in.
Hence of_match_ptr() is not needed.
Signed-off-by: Sachin Kamat <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
The data structure of_match_ptr() protects is always compiled in.
Hence of_match_ptr() is not needed.
Signed-off-by: Sachin Kamat <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
The Gemini has no need of a <mach/gpio.h> header as this is only
used by the machine-local gpio.c gpiochip driver, which is also
only using the irq_to_gpio() macro. Delete the file, move the single
macro into the driver and remove the NEED_MACH_GPIO_H flag.
Cc: Hans Ulli Kroll <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
The local <mach/gpio.h> file on the w90x900 is completely unused
and the platform does not define NEED_MACH_GPIO_H.
Cc: Wan ZongShun <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
|
|
Now that these custom GPIO accessors are only used from the
gpio chip in this machine, move the code out of the include
file and right next to the gpiochip implementation.
Cc: Imre Kaloz <[email protected]>
Cc: Alexandre Courbot <[email protected]>
Acked-by: Krzysztof Halasa <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
This dangerous function is not used in the kernel, so let's
just delete it.
Cc: Imre Kaloz <[email protected]>
Cc: Alexandre Courbot <[email protected]>
Acked-by: Krzysztof Halasa <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
The lirc serial module has special hooks to work with NSLU2,
switch these over to use gpiolib, as that is available on the
ixp4 platform.
Not even compile tested as there is no way to select this
driver from menuconfig on the ixp4 platform.
Cc: Imre Kaloz <[email protected]>
Cc: Alexandre Courbot <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Acked-by: Krzysztof Halasa <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
This platform supports gpiolib, so remove the custom API use
and replace with calls to gpiolib. Also request the GPIO before
starting to use it.
Cc: Imre Kaloz <[email protected]>
Cc: Alexandre Courbot <[email protected]>
Cc: [email protected]
Acked-by: Richard Cochran <[email protected]>
Acked-by: Krzysztof Halasa <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Request and free the GPIO line used for the beeper properly.
Then use the gpiolib API to flip the output of the GPIO pin
instead of relying on hacks to poke the register bits.
Cc: Imre Kaloz <[email protected]>
Cc: Alexandre Courbot <[email protected]>
Acked-by: Dmitry Torokhov <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Acked-by: Krzysztof Halasa <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
The platform using this beeper has support for gpiolib, so there
is no point to use the custom gpio_line* API. A strange ambiguity
where a line was first set as input and then driven high was
solved by first driving the line high as output and then switch
it to input.
Cc: Imre Kaloz <[email protected]>
Cc: Alexandre Courbot <[email protected]>
Acked-by: Dmitry Torokhov <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Acked-by: Krzysztof Halasa <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
A few call sites inside mach-ixp4xx were still using the custom
ixp4xx GPIO API with gpio_line_* accessors, convert all these
to use the standard gpiolib functions instead. Also attempt to
request and label all GPIOs before use. Move the GPIO requests
to per-machine device_initcalls() so we are not dependent on the
GPIO chip to be available at machine_init time.
Cc: Imre Kaloz <[email protected]>
Cc: Alexandre Courbot <[email protected]>
Acked-by: Krzysztof Halasa <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
|
|
The PXA sub-architecture appears to have a custom <mach/gpio.h>
for no reason whatsoever. The file became completely empty
after Haojian removed the remaining content in
commit 157d2644cb0c1e71a18baaffca56d2b1d0ebf10f
"ARM: pxa: change gpio to platform device".
That commit added these two lines:
However it seems like deleting the file has no effect
whatsoever on the kernel compilation.
Cc: Eric Miao <[email protected]>
Cc: Russell King <[email protected]>
Acked-by: Haojian Zhuang <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
The MMP sub-architecture appears to have a custom <mach/gpio.h>
for no reason whatsoever. The file became completely empty
after Haojian removed the remaining content in
commit 157d2644cb0c1e71a18baaffca56d2b1d0ebf10f
"ARM: pxa: change gpio to platform device".
Cc: Eric Miao <[email protected]>
Acked-by: Haojian Zhuang <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Add DT bindings for the pcf857x-compatible chips and parse the device
tree node in the driver.
Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
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: Graeme Smecher <[email protected]>
Acked-by: Haojian Zhuang <[email protected]>
Tested-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Driver core sets driver data to NULL upon failure or remove.
Signed-off-by: Sachin Kamat <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
'gen_74x164_dt_ids' is always compiled in. Hence the macro is not
necessary.
Signed-off-by: Sachin Kamat <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Driver core sets driver data to NULL upon failure or remove.
Signed-off-by: Sachin Kamat <[email protected]>
Cc: Gabor Juhos <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
|
|
As per the pattern from other GPIO drivers, use set_irq_flags()
on ARM only, use irq_set_noprobe() on other archs.
Also rename the argument "virq" to just "irq", this IRQ isn't
any more "virtual" than any other Linux IRQ number, we use
"hwirq" for the actual hw-numbers, "virq" is just bogus.
Reviewed-by: Markus Mayer <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
This alters the IOP platforms to pass a physical base for their
GPIO blocks and alters the driver to remap it when probing
instead of relying on the virtual addresses to be used.
Cc: Lennert Buytenhek <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Mikael Pettersson <[email protected]>
Tested-by: Aaro Koskinen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Use the standard 32bit I/O accessors instead of just assigning
addresses.
Cc: Lennert Buytenhek <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Mikael Pettersson <[email protected]>
Tested-by: Aaro Koskinen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
This converts the IOP32x and IOP33x platforms to pass their
base address offset by a resource attached to a platform device
instead of using static offset macros implicitly passed
through <linux/gpio.h> including <mach/gpio.h>. Delete the
local <mach/gpio.h> and <asm/hardware/iop3xx-gpio.h> headers
and remove the selection of NEED_MACH_GPIO_H.
Pass the virtual address as a resource in the platform device
at this point for bisectability, next patch will pass the
physical address as is custom.
Cc: Lennert Buytenhek <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Mikael Pettersson <[email protected]>
Tested-by: Aaro Koskinen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
The kernel will now only use gpiolib to access GPIOs, so remove
the complex GPIO flag and the custom implementation.
Cc: Lennert Buytenhek <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Mikael Pettersson <[email protected]>
Tested-by: Aaro Koskinen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
This removes the only dependence between the IOP GPIO
driver and the GENERIC_GPIO header in <mach/gpio.h>
and its common implementation in the <asm/*> namespace
by copying the one constant it is using into the driver
file.
Cc: Lennert Buytenhek <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Mikael Pettersson <[email protected]>
Tested-by: Aaro Koskinen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Refrain from using the custom gpio_line_get() to read the power
key on the N2100, use the gpiolib function gpio_get() instead.
Also request the line in the GPIOs initicall, and move the poll
timer setup to that inicall so the gpio chip is available before
we request this GPIO and start to poll it.
Cc: Lennert Buytenhek <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Mikael Pettersson <[email protected]>
Tested-by: Aaro Koskinen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
As the IOP GPIO driver supports gpiolib we can use the standard
GPIO calls to issue a reset of the machine instead of using the
custom gpio_line_set/config calls. Also request the GPIO when
initializing the machine.
Cc: Lennert Buytenhek <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Mikael Pettersson <[email protected]>
Tested-by: Aaro Koskinen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Move the IOP GPIO driver to live with its siblings in the
GPIO subsystem.
Cc: Lennert Buytenhek <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Mikael Pettersson <[email protected]>
Tested-by: Aaro Koskinen <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
With the recent code cleanup from Marek Vasut, driver gpio-ucb1400 can
be built as a module, so change symbol GPIO_UCB1400 from bool to
tristate.
Signed-off-by: Jean Delvare <[email protected]>
Reviewed-by: Marek Vasut <[email protected]>
Cc: Linus Walleij <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
The driver core clears the driver data to NULL after device_release
or on probe failure. Thus, it is not needed to manually clear the
device driver data to NULL.
Signed-off-by: Jingoo Han <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|
|
Add the GPIO driver for the Broadcom bcm281xx family of mobile SoCs.
These GPIO controllers may contain up to 8 banks where each bank
includes 32 pins that can be driven high or low and act as an edge
sensitive interrupt.
Signed-off-by: Markus Mayer <[email protected]>
Reviewed-by: Christian Daudt <[email protected]>
Reviewed-by: Tim Kryger <[email protected]>
Reviewed-by: Matt Porter <[email protected]>
Reviewed-by: Stephen Warren <[email protected]>
[Added depends on OF_GPIO]
Signed-off-by: Linus Walleij <[email protected]>
|
|
gpiod_get/set functions share common code between their regular and
cansleep variants. The exporting of the gpiod interface will make
the situation worse. This patch factorizes the common code to avoid code
redundancy.
Signed-off-by: Alexandre Courbot <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
|