23 Mar, 2018
6 commits
-
Move gpio/drivers-on-gpio.txt to driver-api/gpio/drivers-on-gpio.rst and
make sure it builds cleanly as ReST.Signed-off-by: Jonathan Neuschäfer
Signed-off-by: Linus Walleij -
Move gpio/board.txt to driver-api/gpio/board.rst and make sure it builds
cleanly as ReST.Signed-off-by: Jonathan Neuschäfer
Signed-off-by: Linus Walleij -
Move gpio/consumer.txt to driver-api/gpio/consumer.rst and make sure it
builds cleanly as ReST.Signed-off-by: Jonathan Neuschäfer
Signed-off-by: Linus Walleij -
Move gpio/gpio-legacy.txt to driver-api/gpio/legacy.rst and make sure it
builds cleanly as ReST.Also move the legacy API reference from index.rst to legacy.rst.
Signed-off-by: Jonathan Neuschäfer
Signed-off-by: Linus Walleij -
Move gpio/driver.txt to driver-api/gpio/driver.rst and make sure it
builds cleanly as ReST.Signed-off-by: Jonathan Neuschäfer
Signed-off-by: Linus Walleij -
Move gpio/intro.txt to driver-api/gpio/intro.rst and make sure it builds
cleanly as ReST.Signed-off-by: Jonathan Neuschäfer
Signed-off-by: Linus Walleij
02 Feb, 2018
1 commit
-
Pull input layer updates from Dmitry Torokhov:
- evdev interface has been adjusted to extend the life of timestamps on
32 bit systems to the year of 2108- Synaptics RMI4 driver's PS/2 guest handling ha beed updated to
improve chances of detecting trackpoints on the pass-through port- mms114 touchcsreen controller driver has been updated to support
generic device properties and work with mms152 cntrollers- Goodix driver now supports generic touchscreen properties
- couple of drivers for AVR32 architecture are gone as the architecture
support has been removed from the kernel- gpio-tilt driver has been removed as there are no mainline users and
the driver itself is using legacy APIs and relies on platform data- MODULE_LINECSE/MODULE_VERSION cleanups
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (45 commits)
Input: goodix - use generic touchscreen_properties
Input: mms114 - fix typo in definition
Input: mms114 - use BIT() macro instead of explicit shifting
Input: mms114 - replace mdelay with msleep
Input: mms114 - add support for mms152
Input: mms114 - drop platform data and use generic APIs
Input: mms114 - mark as direct input device
Input: mms114 - do not clobber interrupt trigger
Input: edt-ft5x06 - fix error handling for factory mode on non-M06
Input: stmfts - set IRQ_NOAUTOEN to the irq flag
Input: auo-pixcir-ts - delete an unnecessary return statement
Input: auo-pixcir-ts - remove custom log for a failed memory allocation
Input: da9052_tsi - remove unused mutex
Input: docs - use PROPERTY_ENTRY_U32() directly
Input: synaptics-rmi4 - log when we create a guest serio port
Input: synaptics-rmi4 - unmask F03 interrupts when port is opened
Input: synaptics-rmi4 - do not delete interrupt memory too early
Input: ad7877 - use managed resource allocations
Input: stmfts,s6sy671 - add SPDX identifier
Input: remove atmel-wm97xx touchscreen driver
...
21 Jan, 2018
1 commit
-
Simple etraneous letter.
Reported-by: Alexander Stein
Signed-off-by: Linus Walleij
18 Jan, 2018
1 commit
-
Update a slew of documentation files with the latest changes in the
API/ABI. Again stress that sysfs is deprecated. Add all new flags and
clean up and move some text.Signed-off-by: Linus Walleij
09 Jan, 2018
1 commit
-
The use of the GPIOF_* flags is deprecated, so don't advertise them
here. Document the plain numbers for now until we have a better
solution.Signed-off-by: Wolfram Sang
Signed-off-by: Linus Walleij
02 Jan, 2018
1 commit
-
This driver was merged in 2011 as a tool for detecting the orientation
of a screen. The device driver assumes board file setup using the
platform data from . But no boards in the
kernel tree defines this platform data.As I am faced with refactoring drivers to use GPIO descriptors and
pass decriptor tables from boards, or use the device tree device
drivers like these creates a serious problem: I cannot fix them and
cannot test them, not even compile-test them with a system actually
using it (no in-tree boardfile).I suggest to delete this driver and rewrite it using device tree if
it is still in use on actively maintained systems.I can also offer to rewrite it out of the blue using device tree if
someone promise to test it and help me iterate it.Signed-off-by: Linus Walleij
Acked-by: Heiko Stuebner
Patchwork-Id: 10133609
Signed-off-by: Dmitry Torokhov
09 Nov, 2017
1 commit
08 Nov, 2017
2 commits
-
In order to consolidate the multiple ways to associate an IRQ chip with
a GPIO chip, move more fields into the new struct gpio_irq_chip.Signed-off-by: Thierry Reding
Acked-by: Grygorii Strashko
Signed-off-by: Linus Walleij -
In order to consolidate the multiple ways to associate an IRQ chip with
a GPIO chip, move more fields into the new struct gpio_irq_chip.Signed-off-by: Thierry Reding
Acked-by: Grygorii Strashko
Signed-off-by: Linus Walleij
20 Oct, 2017
1 commit
-
SPI-attached GPIO controllers typically read out all inputs in one go.
If callers desire the values of multipe inputs, ideally a single readout
should take place to return the desired values. However the current
driver API only offers a ->get callback but no ->get_multiple (unlike
->set_multiple, which is present). Thus, to read multiple inputs, a
full readout needs to be performed for every single value (barring
driver-internal caching), which is inefficient.In fact, the lack of a ->get_multiple callback has been bemoaned
repeatedly by the gpio subsystem maintainer:
http://www.spinics.net/lists/linux-gpio/msg10571.html
http://www.spinics.net/lists/devicetree/msg121734.htmlIntroduce the missing callback. Add corresponding consumer functions
such as gpiod_get_array_value(). Amend linehandle_ioctl() to take
advantage of the newly added infrastructure. Update the documentation.Cc: Rojhalat Ibrahim
Signed-off-by: Lukas Wunner
Signed-off-by: Linus Walleij
22 Sep, 2017
2 commits
-
The pinctrl_request_gpio() and pinctrl_free_gpio() break the nice
namespacing in the other cross-calls like pinctrl_gpio_foo().
Just rename them and all references so we have one namespace
with all cross-calls under pinctrl_gpio_*().Signed-off-by: Linus Walleij
-
Merge "Immutable branch between MFD and many other subsystems due for
the v4.14 merge window" to get the TWL headers moved to the right place.
19 Sep, 2017
1 commit
-
After discussion we add a few blurbs to clarify how the stubs
in the consumer API are supposed to be used.Cc: Florian Fainelli
Cc: Sergei Shtylyov
Cc: Andrew Lunn
Signed-off-by: Linus Walleij
08 Sep, 2017
1 commit
-
Pull input updates from Dmitry Torokhov:
- a new GPIO bit-banging driver implementing PS/2 protocol
- a new power key driver for Rockchip RK805 PMIC
- bunch of patches constifying various device ID structures
- Elan I2C touchpad driver now supports devices with 2 buttons
- other assorted fixes
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (76 commits)
Input: byd - make array seq static, reduces object code size
Input: xilinx_ps2 - fix multiline comment style
Input: pxa27x_keypad - handle return value of clk_prepare_enable
Input: tegra-kbc - handle return value of clk_prepare_enable
Input: PS/2 gpio bit banging driver for serio bus
Input: xen-kbdfront - enable auto repeat for xen keyboard frontend driver
Input: ambakmi - constify amba_id
Input: atmel_mxt_ts - add support for reset line
Input: atmel_mxt_ts - use more managed resources
Input: wacom_w8001 - constify serio_device_id
Input: tsc40 - constify serio_device_id
Input: touchwin - constify serio_device_id
Input: touchright - constify serio_device_id
Input: touchit213 - constify serio_device_id
Input: penmount - constify serio_device_id
Input: mtouch - constify serio_device_id
Input: inexio - constify serio_device_id
Input: hampshire - constify serio_device_id
Input: gunze - constify serio_device_id
Input: fujitsu_ts - constify serio_device_id
...
29 Aug, 2017
1 commit
-
This driver provides PS/2 serio bus support by implementing bit banging
with the GPIO API. The GPIO pins, data and clock, can be configured with
a node in the device tree or by generic device properties (GDP).Writing to a device is supported as well, though it is possible timings
can not be halt as they are tough and difficult to reach with bit banging.
Therefore it can be configured (also in DT and GDP) whether the serio
write function should be available for clients.This driver is for development purposes and not recommended for productive
use. However, this driver can be useful e.g. when no USB port is available
or using old peripherals is desired as PS/2 controller chips getting rare.This driver was tested on bcm2825 and on Kirin 960 and it worked well
together with the atkbd and psmouse driver.Signed-off-by: Danilo Krummrich
Reviewed-by: Linus Walleij
Acked-by: Rob Herring
Signed-off-by: Dmitry Torokhov
07 Aug, 2017
1 commit
-
Update deprecated references to Documentation/pinctrl.txt since it has been
moved to Documentation/driver-api/pinctl.rst.Signed-off-by: Ludovic Desroches
Fixes: 5a9b73832e9e ("pinctrl.txt: move it to the driver-api book")
Signed-off-by: Linus Walleij
15 Mar, 2017
1 commit
-
Given the intent behind gpiod_get_optional() and friends it does not make
sense to return -ENOSYS when GPIOLIB is disabled: the driver is expected to
work just fine without gpio so let's behave as if gpio was not found.
Otherwise we have to special-case -ENOSYS in drivers.Note that there was objection that someone might forget to enable GPIOLIB
when dealing with a platform that has device that actually specifies
optional gpio and we'll break it. I find this unconvincing as that would
have to be the *only GPIO* in the system, which is extremely unlikely.Signed-off-by: Dmitry Torokhov
Signed-off-by: Linus Walleij
31 Jan, 2017
1 commit
-
Updated and proofread the documentation for GPIO drivers a bit
when looking over the changes for generic configuration.Signed-off-by: Linus Walleij
26 Jan, 2017
1 commit
-
Currently we already have two pin configuration related callbacks
available for GPIO chips .set_single_ended() and .set_debounce(). In
future we expect to have even more, which does not scale well if we need
to add yet another callback to the GPIO chip structure for each possible
configuration parameter.Better solution is to reuse what we already have available in the
generic pinconf.To support this, we introduce a new .set_config() callback for GPIO
chips. The callback takes a single packed pin configuration value as
parameter. This can then be extended easily beyond what is currently
supported by just adding new types to the generic pinconf enum.If the GPIO driver is backed up by a pinctrl driver the GPIO driver can
just assign gpiochip_generic_config() (introduced in this patch) to
.set_config and that will take care configuration requests are directed
to the pinctrl driver.We then convert the existing drivers over .set_config() and finally
remove the .set_single_ended() and .set_debounce() callbacks.Suggested-by: Linus Walleij
Signed-off-by: Mika Westerberg
Reviewed-by: Andy Shevchenko
Signed-off-by: Linus Walleij
13 Dec, 2016
1 commit
-
Pull GPIO updates from Luinus Walleij:
"Bulk GPIO changes for the v4.10 kernel cycle:Core changes:
- Simplify threaded interrupt handling: instead of passing numbed
parameters to gpiochip_irqchip_add_chained() we create a new call:
gpiochip_irqchip_add_nested() so the two types are clearly
semantically different. Also make sure that all nested chips call
gpiochip_set_nested_irqchip() which is necessary for IRQ resend to
work properly if it happens.- Return error on seek operations for the chardev.
- Clamp values set as part of gpio[d]_direction_output() so that
anything != 0 will be send down to the driver as "1" not the value
passed in.- ACPI can now support naming of GPIO lines, hogs and holes in the
GPIO lists.New drivers:
- The SX150x driver was deemed unfit for the GPIO subsystem and was
moved over to a combined GPIO+pinctrl driver in the pinctrl
subsystem.New features:
- Various cleanups to various drivers"
* tag 'gpio-v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (49 commits)
gpio: merrifield: Implement gpio_get_direction callback
gpio: merrifield: Add support for hardware debouncer
gpio: chardev: Return error for seek operations
gpio: arizona: Tidy up probe error path
gpio: arizona: Remove pointless set of platform drvdata
gpio: pl061: delete platform data handling
gpio: pl061: move platform data into driver
gpio: pl061: rename variable from chip to pl061
gpio: pl061: rename state container struct
gpio: pl061: use local state for parent IRQ storage
gpio: set explicit nesting on drivers
gpio: simplify adding threaded interrupts
gpio: vf610: use builtin_platform_driver
gpio: axp209: use correct register for GPIO input status
gpio: stmpe: fix interrupt handling bug
gpio: em: depnd on ARCH_SHMOBILE
gpio: zx: depend on ARCH_ZX
gpio: x86: update config dependencies for x86 specific hardware
gpio: mb86s7x: use builtin_platform_driver
gpio: etraxfs: use builtin_platform_driver
...
25 Nov, 2016
1 commit
-
This tries to simplify the use of CONFIG_GPIOLIB_IRQCHIP when
using threaded interrupts: add a new call
gpiochip_irqchip_add_nested() to indicate that we're dealing
with a nested rather than a chained irqchip, then create a
separate gpiochip_set_nested_irqchip() to mirror
the gpiochip_set_chained_irqchip() call to connect the
parent and child interrupts.In the nested case gpiochip_set_nested_irqchip() does nothing
more than call irq_set_parent() on each valid child interrupt,
which has little semantic effect in the kernel, but this is
probably still formally correct.Update all drivers using nested interrupts to use
gpiochip_irqchip_add_nested() so we can now see clearly
which these users are.The DLN2 driver can drop its specific hack with
.irq_not_threaded as we now recognize whether a chip is
threaded or not from its use of gpiochip_irqchip_add_nested()
signature rather than from inspecting .can_sleep.We rename the .irq_parent to .irq_chained_parent since this
parent IRQ is only really kept around for the chained
interrupt handlers.Cc: Lars Poeschel
Cc: Octavian Purdila
Cc: Daniel Baluta
Cc: Bin Gao
Cc: Mika Westerberg
Cc: Ajay Thomas
Cc: Semen Protsenko
Cc: Alexander Stein
Cc: Phil Reid
Cc: Bartosz Golaszewski
Cc: Patrice Chotard
Signed-off-by: Linus Walleij
20 Oct, 2016
1 commit
-
gpiod_set_value() is preffered interface these days, so add a
pointer. Also fix a missing ).Signed-off-by: Pavel Machek
[Fixed some grammar and reworded]
Signed-off-by: Linus Walleij
23 Sep, 2016
2 commits
-
When using GPIO irqchip helpers to setup irqchip for a gpiolib based
driver, it is not possible to select which GPIOs to add to the IRQ domain.
Instead it just adds all GPIOs which is not always desired. For example
there might be GPIOs that for some reason cannot generated normal
interrupts at all.To support this we add a flag irq_need_valid_mask to struct gpio_chip. When
this flag is set the core allocates irq_valid_mask that holds one bit for
each GPIO the chip has. By default all bits are set but drivers can
manipulate this using set_bit() and clear_bit() accordingly.Then when gpiochip_irqchip_add() is called, this mask is checked and all
GPIOs with bit is set are added to the IRQ domain created for the GPIO
chip.Suggested-by: Linus Walleij
Signed-off-by: Mika Westerberg
Signed-off-by: Linus Walleij
08 Aug, 2016
1 commit
-
The GPIOLIB is now selectable explicitly, and always available
for all archs. All archs that require GPIOLIB are switched to
select GPIOLIB directly. Delete the hairy ARCH_REQUIRE_GPIOLIB
and ARCH_WANTS_OPTIONAL_GPIOLIB Kconfig symbols.Cc: Michael Büsch
Signed-off-by: Linus Walleij
13 Jun, 2016
1 commit
-
Signed-off-by: Andrew Jeffery
Signed-off-by: Linus Walleij
27 Apr, 2016
1 commit
-
Make the text clearer, remove reference to confusing "positive"
and "negative" and elaborate a bit.Signed-off-by: Linus Walleij
10 Apr, 2016
1 commit
-
This has been a totally undocumented feature for years so add some
generic concepts and documentation about open drain/source, include
some facts on how we now support for hardware.Cc: Michael Hennerich
Cc: Nicolas Saenz Julienne
Cc: H. Nikolaus Schaller
Signed-off-by: Linus Walleij
25 Feb, 2016
1 commit
-
The 'dev_id' parameter of the GPIO_LOOKUP{,_IDX} macros were removed by
commit ad824783fb23 ("gpio: better lookup method for platform GPIOs").Update the documentation to reflect that.
Signed-off-by: Gabor Juhos
Signed-off-by: Linus Walleij
21 Nov, 2015
1 commit
-
This patch fix some spelling typos found in Documentation/gpio.
Signed-off-by: Masanari Iida
Acked-by: Randy Dunlap
Signed-off-by: Jonathan Corbet
06 Nov, 2015
1 commit
-
Pull documentation update from Jon Corbet:
"There is a nice new document from Neil on how pathname lookups work
and some new CAN driver documentation. Beyond that, we have
kernel-doc fixes, a bit more work to support reproducible builds, and
the usual collection of small fixes"* tag 'docs-for-linus' of git://git.lwn.net/linux: (34 commits)
Documentation: add new description of path-name lookup.
Documentation/vm/slub.txt: document slabinfo-gnuplot.sh
Doc: ABI/stable: Fix typo in ABI/stable
doc: Clarify that nmi_watchdog param is for hardlockups
Typo correction for description in gpio document.
DocBook: Fix kernel-doc to be case-insensitive for private:
kernel-docs.txt: update kernelnewbies reference
Doc:kvm: Fix typo in Doc/virtual/kvm
Documentation/Changes: Add bc in "Current Minimal Requirements" section
Documentation/email-clients.txt: remove trailing whitespace
DocBook: Use a fixed encoding for output
MAINTAINERS: The docs tree has moved
Docs/kernel-parameters: Add earlycon devicetree usage
SubmittingPatches: make Subject examples match the de facto standard
Documentation: gpio: mention that -gpio has been deprecated
Documentation: cgroups: just fix a few typos
Documentation: Update kselftest.txt
Documentation: DMA API: Be more explicit that nents is always the same
Documentation: Update the default value of crashkernel low
zram: update documentation
...
27 Oct, 2015
2 commits
-
Put in a compliance checklist.
Signed-off-by: Grygorii Strashko
Signed-off-by: Linus Walleij -
This reverts commit 677b2ff4afd9996eabefc9472c701211b4b49e87.
20 Oct, 2015
1 commit
-
Add some information about real time compliance to the driver document.
Inspired by Grygorii Strashko's real time compliance patches.Cc: Grygorii Strashko
Signed-off-by: Linus Walleij
12 Oct, 2015
1 commit
-
Corrected Documentation/gpio/sysfs.txt for typos and wording.
typos: syfs -> sysfs, manges -> manages
wording: entry -> entriesSigned-off-by: Sachin Pandhare
Signed-off-by: Jonathan Corbet