20 Jul, 2011
1 commit
-
The following commit renames irq_gc_ack() to irq_gc_ack_set_bit(),
and makes gpio-mxc and gpio-mxs fail to build.659fb32d1b67476f4ade25e9ea0e2642a5b9c4b5
genirq: replace irq_gc_ack() with {set,clr}_bit variants (fwd)The patch fixed a couple of typo of comma to semicolon.
Signed-off-by: Shawn Guo
Signed-off-by: Grant Likely
16 Jul, 2011
3 commits
-
Add i2c bindings for the mcp230xx devices. This is quite a lot simpler
than the spi one as there's no funky sub addressing done (one struct
i2c_client per struct gpio_chip).The mcp23s08_platform_data structure is reused for i2c, even though
only a single mcp23s08_chip_info structure is needed.To use, simply fill out a platform_data structure and pass it in
i2c_board_info, E.G.:static const struct mcp23s08_platform_data mcp23017_data = {
.chip[0] = {
.pullups = 0x00ff,
},
.base = 240,
};static struct i2c_board_info __initdata i2c_devs[] = {
{ I2C_BOARD_INFO("mcp23017", 0x20),
.platform_data = &smartview_mcp23017_data, },
...
};Signed-off-by: Peter Korsgaard
Signed-off-by: Grant Likely -
Change spi member of struct mcp23s08 to be a ops-specific opaque data
pointer, and move spi specific knowledge out of mcp23s08_probe_one().No functional change, but is needed to add i2c support.
Signed-off-by: Peter Korsgaard
Signed-off-by: Grant Likely -
There's no in-tree users, and bus notifiers are more generic anyway.
Signed-off-by: Peter Korsgaard
Signed-off-by: Grant Likely
15 Jul, 2011
1 commit
-
Never accessed anywhere.
Signed-off-by: Peter Korsgaard
Signed-off-by: Grant Likely
14 Jul, 2011
1 commit
-
We just set it twice in da9052_gpio_probe.
Signed-off-by: Axel Lin
Signed-off-by: Grant Likely
09 Jul, 2011
2 commits
-
The patch adds device tree probe support for gpio-mxc driver.
Signed-off-by: Shawn Guo
Signed-off-by: Grant Likely -
The patch removes all the uses of cpu_is_mx(). Instead, it utilizes
platform_device_id to distinguish the different gpio types, IMX1_GPIO
on i.mx1, IMX21_GPIO on i.mx21 and i.mx27, IMX31_GPIO on all other
i.mx SoCs.Signed-off-by: Shawn Guo
Signed-off-by: Grant Likely
08 Jul, 2011
1 commit
-
The bgpio_init() function does not initialise the shadow register for
the GPIO direction register. Thus, when configuring the first GPIO with
gpio_set_direction() all other GPIOs of the same bank will be
configured as inputs. Since the bgpio layer cannot know whether the
register is readable, the initialisation should be done by the caller
of bgpio_init().Also, the 'data' shadow variable that is used inside basic_mmio_gpio
to cache the current value of the GPIO_DR register is initialised from
the GPIO_PSR register within bgpio_init(). Thus when setting the
output value of a certain GPIO, the other GPIO outputs of the same
bank will be set or cleared depending on the pin state of the GPIO
inputs during bgpio_init().Signed-off-by: Lothar Waßmann
Signed-off-by: Grant Likely
07 Jul, 2011
2 commits
-
GPIO drivers are getting consolidated into drivers/gpio. While at it,
change the driver name to mpc5200-gpio* to avoid collisions.Signed-off-by: Grant Likely
-
DA9052 PMIC has 16 bit GPIO bus for peripheral control.
This patch add support for the GPIO pins on the DA9052.
Signed-off-by: David Dajun Chen
Signed-off-by: Ashish Jangam
Acked-by: Arnd Bergmann
Acked-by: Mark Brown
Signed-off-by: Grant Likely
06 Jul, 2011
1 commit
-
Engineering names are more stable than marketing names. Hence, use them
for Device Tree compatible properties instead.Signed-off-by: Stephen Warren
Signed-off-by: Grant Likely
29 Jun, 2011
1 commit
-
This patch adds a new routine, of_get_named_gpio_flags(), which takes the
property name as a parameter rather than assuming "gpios".of_get_gpio_flags() is modified to call of_get_named_gpio_flags() with "gpios"
as the property parameter.Signed-off-by: John Bonesio
[grant.likely: Tidied up whitespace and tweaked kerneldoc comments.]
Signed-off-by: Grant Likely
17 Jun, 2011
19 commits
-
with the "for (; i != 0; i--)" sytax, i-- will be executed after the iteration.
thus dev_err shows wrong i value.
Switch to "while(--i >= 0)" which is better in readability.Signed-off-by: Axel Lin
Signed-off-by: Grant Likely -
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: David Jander
Signed-off-by: Grant Likely -
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: David Jander
Signed-off-by: Grant Likely -
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: David Jander
Signed-off-by: Grant Likely -
…/git/khilman/linux-omap-pm into gpio/next
-
Remove cpu_is_* checks from gpio_show_revision() by passing in the
revision address offset from platform data. SoCs with no revision
register (15xx, 7xx, and all MPUIOs) use -1 (actually, USHRT_MAX) to
signify no register.While here, all GPIO banks are assumed to be the same revision, so fix
show_revision() to only show the revision for the first bank it finds.
This removes duplicate GPIO revision prints during boot.Thanks to Charulatha V for finding/fixing a few -1s
that were missed in the original patch.Signed-off-by: Kevin Hilman
-
Use register offsets passed in from pdata for accessing debounce registers.
Signed-off-by: Kevin Hilman
-
Make _set_gpio_wakeup() generic by removing ifdefs. Code for the
various SoCs/bank-methods was already the same, except for the
non-wakeup GPIO checking. But that flag is set on a per-SoC basis, so
can be used for all SoCs.While here, use dev_err() and remove GPIO bank calculation assumption
based on subtracting bank pointers.Signed-off-by: Kevin Hilman
-
These functions are useless. They are only called in a few places,
and where they are called, the GPIO has already been converted from an
IRQ or masked, so these functions will never fail.Signed-off-by: Kevin Hilman
-
MPUIO banks have their own dedicated IRQ chip interface, separate from
the "normal" GPIO banks. Convert the MPUIO IRQ chip over to using
the new generic IRQ chip interface.Signed-off-by: Kevin Hilman
-
Cleanup GPIO IRQ enable/disable handling by removing SoC-specific
Also split enable/disable IRQ into separate functions for better
readability and also facilitate potentially moving to generic irq_chip
in the future.Signed-off-by: Kevin Hilman
-
Cleanup IRQ status handling by passing IRQ status register offsets
via platform data.Cleans up clearing of GPIO IRQ status and GPIO ISR handler.
Signed-off-by: Kevin Hilman
-
Add register offset fields to GPIO platform_data for registers.
This patch adds registers that control direction, input and output
data. Using these register offsets in the common driver allows
removal of #ifdefs and greatly improves readability.Also create dedicated data out functions: one for banks with dedicated
set/clear registers, and another for banks with a single mask
register.Signed-off-by: Kevin Hilman
-
use chip info to get the pointer to the struct gpio_bank for a
given GPIO bank and remove get_gpio_bank().Signed-off-by: Charulatha V
-
The get_gpio_index() function, littered with cpu_is_* checks can be easily
replaced by using bitops based on the GPIO bank width. Do so.Signed-off-by: Kevin Hilman
-
Replace hard-coded mask values with bank->width which is already coming
from platform_data.Signed-off-by: Kevin Hilman
-
Rather than having a file-global bank_width variable, move it into
struct gpio_bank so it can be bank-specific. Note the bank width
is already passed per-bank via platform_data, so current code would
be incorrect if any banks had different width.Signed-off-by: Kevin Hilman
-
Remove the OMAP1 #ifdef and MPUIO special case for _clear_gpio_irqbank()
The MPUIOs do not need a register access to ack/clear the IRQ status,
since reading the IRQ status clears it. In addition, the MPUIO
irq_chip has an empty ack method, so _clear_gpio_irqbank() is never
used for MPUIOs.Signed-off-by: Kevin Hilman
-
In commit 78a1a6d3411de1a8b0dc1cb92754b5f12f251912 (ARM: OMAP4: Update
the GPIO support) braces were mistakenly added to included the
register read-back inside the cpu_is_* checking.Remove the braces, ensuring that a register read-back is done, even
when the IRQSTATUS2 register is not written.Note that the register read-back might be IRQSTATUS1 or IRQSTATUS2
depending on the CPU, but a read-back of any register in that region
will cause a flush of the posted writes.Signed-off-by: Kevin Hilman
16 Jun, 2011
3 commits
-
Conflicts:
drivers/gpio/Kconfig
drivers/gpio/Makefile -
Add support for decoding gpios from the device tree
Signed-off-by: Grant Likely
Acked-by: Olof Johansson -
As part of the gpio driver consolidation, this patch moves the Tegra driver
into drivers/gpioSigned-off-by: Grant Likely
Acked-by: Olof Johansson
Acked-by: Colin Cross
14 Jun, 2011
3 commits
-
…nel/git/tip/linux-2.6-tip
* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
rtc: Staticize non-exported __rtc_set_alarm()
rtc: Fix ioctl error path return
ptp: Fix some locking bugs in ptp_read()
ptp: Return -EFAULT on copy_to_user() errors -
…l/git/tip/linux-2.6-tip
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
ftrace: Revert 8ab2b7efd ftrace: Remove unnecessary disabling of irqs
kprobes/trace: Fix kprobe selftest for gcc 4.6
ftrace: Fix possible undefined return code
oprofile, dcookies: Fix possible circular locking dependency
oprofile: Fix locking dependency in sync_start()
oprofile: Free potentially owned tasks in case of errors
oprofile, x86: Add comments to IBS LVT offset initialization -
* 'spi/merge' of git://git.secretlab.ca/git/linux-2.6:
spi-pl022: Add missing return value update
13 Jun, 2011
2 commits
-
Return error on out of range cpsdvsr value.
Acked-by: Linus Walleij
Signed-off-by: Virupax Sadashivpetimath
Signed-off-by: Grant Likely -
The 74x164 GPIO driver has a static inline helper called
gpio_to_chip which clashes with the gpiolib namespace if we
try to expose the function with the same name from gpiolib,
and it's still confusing even if we don't do that. So rename
it to gpio_to_74x164_chip().Reported-by: H Hartley Sweeten
Signed-off-by: Linus Walleij
Signed-off-by: Grant Likely