1. 26 Jan, 2017 17 commits
  2. 18 Jan, 2017 9 commits
  3. 17 Jan, 2017 5 commits
  4. 13 Jan, 2017 3 commits
    • Linus Walleij's avatar
      Merge tag 'sh-pfc-for-v4.11-tag1' of... · 537e18b2
      Linus Walleij authored
      Merge tag 'sh-pfc-for-v4.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel
      
      pinctrl: sh-pfc: Updates for v4.11
      
        - Add bias handling for non-GPIO pins for R-Car H3,
        - Add drive-strength and bias handling for R-Car M3-W,
        - Add CAN, CAN FD, MSIOF, and HSCIF pin groups for R-Car M3-W,
        - Add SDHI voltage switching for R-Car M2-N.
      537e18b2
    • Thierry Reding's avatar
      pinctrl: Initialize pinctrl_dev.node · 46daed6e
      Thierry Reding authored
      The struct pinctrl_dev's node field is not properly set up, which means
      the .prev and .next fields will be NULL. That's not something that the
      linked list code can deal with, so extra care must be taken when using
      these fields. An example of this is introduced in commit 3429fb3c
      ("pinctrl: Fix panic when pinctrl devices with hogs are unregistered")
      where list_del() is made conditional on the pinctrl device being part
      of the pinctrl device list. This is to ensure that list_del() won't
      crash upon encountering a NULL pointer in .prev and/or .next.
      
      After initializing the list head there's no need to jump through these
      extra hoops and list_del() will work unconditionally. This is because
      the initialized list head points to itself and therefore the .prev and
      .next fields can be properly dereferenced.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Acked-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Tested-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      46daed6e
    • Tony Lindgren's avatar
      pinctrl: core: Fix regression caused by delayed work for hogs · 950b0d91
      Tony Lindgren authored
      Commit df61b366af26 ("pinctrl: core: Use delayed work for hogs") caused a
      regression at least with sh-pfc that is also a GPIO controller as
      noted by Geert Uytterhoeven <geert@linux-m68k.org>.
      
      As the original pinctrl_register() has issues calling pin controller
      driver functions early before the controller has finished registering,
      we can't just revert commit df61b366af26. That would break the drivers
      using GENERIC_PINCTRL_GROUPS or GENERIC_PINMUX_FUNCTIONS.
      
      So let's fix the issue with the following steps as a single patch:
      
      1. Revert the late_init parts of commit df61b366af26.
      
         The late_init clearly won't work and we have to just give up
         on fixing pinctrl_register() for GENERIC_PINCTRL_GROUPS and
         GENERIC_PINMUX_FUNCTIONS.
      
      2. Split pinctrl_register() into two parts
      
         By splitting pinctrl_register() into pinctrl_init_controller()
         and pinctrl_create_and_start() we have better control over when
         it's safe to call pinctrl_create().
      
      3. Introduce a new pinctrl_register_and_init() function
      
         As suggested by Linus Walleij <linus.walleij@linaro.org>, we
         can just introduce a new function for the controllers that need
         pinctrl_create() called later.
      
      4. Convert the four known problem cases to use new function
      
         Let's convert pinctrl-imx, pinctrl-single, sh-pfc and ti-iodelay
         to use the new function to fix the issues. The rest of the drivers
         can be converted later. Let's also update Documentation/pinctrl.txt
         accordingly because of the known issues with pinctrl_register().
      
      Fixes: df61b366af26 ("pinctrl: core: Use delayed work for hogs")
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: Gary Bisson <gary.bisson@boundarydevices.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      950b0d91
  5. 11 Jan, 2017 6 commits