1. 09 Sep, 2018 1 commit
    • Henrik Austad's avatar
      Drop all 00-INDEX files from Documentation/ · a7ddcea5
      Henrik Austad authored
      This is a respin with a wider audience (all that get_maintainer returned)
      and I know this spams a *lot* of people. Not sure what would be the correct
      way, so my apologies for ruining your inbox.
      
      The 00-INDEX files are supposed to give a summary of all files present
      in a directory, but these files are horribly out of date and their
      usefulness is brought into question. Often a simple "ls" would reveal
      the same information as the filenames are generally quite descriptive as
      a short introduction to what the file covers (it should not surprise
      anyone what Documentation/sched/sched-design-CFS.txt covers)
      
      A few years back it was mentioned that these files were no longer really
      needed, and they have since then grown further out of date, so perhaps
      it is time to just throw them out.
      
      A short status yields the following _outdated_ 00-INDEX files, first
      counter is files listed in 00-INDEX but missing in the directory, last
      is files present but not listed in 00-INDEX.
      
      List of outdated 00-INDEX:
      Documentation: (4/10)
      Documentation/sysctl: (0/1)
      Documentation/timers: (1/0)
      Documentation/blockdev: (3/1)
      Documentation/w1/slaves: (0/1)
      Documentation/locking: (0/1)
      Documentation/devicetree: (0/5)
      Documentation/power: (1/1)
      Documentation/powerpc: (0/5)
      Documentation/arm: (1/0)
      Documentation/x86: (0/9)
      Documentation/x86/x86_64: (1/1)
      Documentation/scsi: (4/4)
      Documentation/filesystems: (2/9)
      Documentation/filesystems/nfs: (0/2)
      Documentation/cgroup-v1: (0/2)
      Documentation/kbuild: (0/4)
      Documentation/spi: (1/0)
      Documentation/virtual/kvm: (1/0)
      Documentation/scheduler: (0/2)
      Documentation/fb: (0/1)
      Documentation/block: (0/1)
      Documentation/networking: (6/37)
      Documentation/vm: (1/3)
      
      Then there are 364 subdirectories in Documentation/ with several files that
      are missing 00-INDEX alltogether (and another 120 with a single file and no
      00-INDEX).
      
      I don't really have an opinion to whether or not we /should/ have 00-INDEX,
      but the above 00-INDEX should either be removed or be kept up to date. If
      we should keep the files, I can try to keep them updated, but I rather not
      if we just want to delete them anyway.
      
      As a starting point, remove all index-files and references to 00-INDEX and
      see where the discussion is going.
      Signed-off-by: default avatarHenrik Austad <henrik@austad.us>
      Acked-by: default avatar"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Just-do-it-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Reviewed-by: default avatarJens Axboe <axboe@kernel.dk>
      Acked-by: default avatarPaul Moore <paul@paul-moore.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: default avatarMark Brown <broonie@kernel.org>
      Acked-by: default avatarMike Rapoport <rppt@linux.vnet.ibm.com>
      Cc: [Almost everybody else]
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      a7ddcea5
  2. 23 Mar, 2018 6 commits
  3. 16 Feb, 2018 1 commit
  4. 21 Jan, 2018 1 commit
  5. 18 Jan, 2018 1 commit
  6. 09 Jan, 2018 1 commit
  7. 02 Jan, 2018 1 commit
    • Linus Walleij's avatar
      Input: gpio_tilt - delete driver · 3c8a23c2
      Linus Walleij authored
      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 <linux/input/gpio_tilt.h>. 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: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Patchwork-Id: 10133609
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      3c8a23c2
  8. 08 Nov, 2017 2 commits
  9. 19 Oct, 2017 1 commit
    • Lukas Wunner's avatar
      gpio: Introduce ->get_multiple callback · eec1d566
      Lukas Wunner authored
      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.html
      
      Introduce 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 <imr@rtschenk.de>
      Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      eec1d566
  10. 22 Sep, 2017 1 commit
  11. 19 Sep, 2017 1 commit
  12. 28 Aug, 2017 1 commit
    • Danilo Krummrich's avatar
      Input: PS/2 gpio bit banging driver for serio bus · 9ee0a055
      Danilo Krummrich authored
      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: default avatarDanilo Krummrich <danilokrummrich@dk-develop.de>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: Rob Herring's avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      9ee0a055
  13. 07 Aug, 2017 1 commit
  14. 15 Mar, 2017 1 commit
    • Dmitry Torokhov's avatar
      gpio: return NULL from gpiod_get_optional when GPIOLIB is disabled · 22c40367
      Dmitry Torokhov authored
      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: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      22c40367
  15. 31 Jan, 2017 1 commit
  16. 26 Jan, 2017 1 commit
    • Mika Westerberg's avatar
      pinctrl / gpio: Introduce .set_config() callback for GPIO chips · 2956b5d9
      Mika Westerberg authored
      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: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      2956b5d9
  17. 25 Nov, 2016 1 commit
    • Linus Walleij's avatar
      gpio: simplify adding threaded interrupts · d245b3f9
      Linus Walleij authored
      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 <poeschel@lemonage.de>
      Cc: Octavian Purdila <octavian.purdila@intel.com>
      Cc: Daniel Baluta <daniel.baluta@intel.com>
      Cc: Bin Gao <bin.gao@linux.intel.com>
      Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
      Cc: Ajay Thomas <ajay.thomas.david.rajamanickam@intel.com>
      Cc: Semen Protsenko <semen.protsenko@globallogic.com>
      Cc: Alexander Stein <alexander.stein@systec-electronic.com>
      Cc: Phil Reid <preid@electromag.com.au>
      Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
      Cc: Patrice Chotard <patrice.chotard@st.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      d245b3f9
  18. 20 Oct, 2016 1 commit
  19. 23 Sep, 2016 1 commit
    • Mika Westerberg's avatar
      gpiolib: Make it possible to exclude GPIOs from IRQ domain · 79b804cb
      Mika Westerberg authored
      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: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      79b804cb
  20. 08 Aug, 2016 1 commit
  21. 13 Jun, 2016 1 commit
  22. 27 Apr, 2016 1 commit
  23. 09 Apr, 2016 1 commit
    • Linus Walleij's avatar
      gpio: document open drain/source behaviour · 6b5029d3
      Linus Walleij authored
      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 <michael.hennerich@analog.com>
      Cc: Nicolas Saenz Julienne <nicolassaenzj@gmail.com>
      Cc: H. Nikolaus Schaller <hns@goldelico.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      6b5029d3
  24. 25 Feb, 2016 1 commit
  25. 20 Nov, 2015 1 commit
  26. 27 Oct, 2015 2 commits
  27. 20 Oct, 2015 1 commit
  28. 11 Oct, 2015 1 commit
  29. 24 Sep, 2015 1 commit
  30. 14 Sep, 2015 3 commits
  31. 17 Aug, 2015 1 commit