Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1341973 > unrolled thread

[PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}

Started byLaxman Dewangan <ldewangan@nvidia.com>
First post2016-02-24 14:30 +0100
Last post2016-02-28 16:00 +0100
Articles 20 on this page of 88 — 28 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister} Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:30 +0100
    [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for  pinctrl registration Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - 2016-02-24 15:10 +0100
      Re: [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for  pinctrl registration kbuild test robot <lkp@intel.com> - 2016-02-24 19:40 +0100
    [PATCH 10/50] pinctrl: imxl: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 37/50] pinctrl: at91: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 49/50] pinctrl: u300: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 33/50] pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 24/50] pinctrl: samsung: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 34/50] pinctrl: amd: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for  pinctrl registration Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-02-26 11:10 +0100
    [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for  pinctrl registration Ray Jui <ray.jui@broadcom.com> - 2016-02-24 19:30 +0100
    [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for  pinctrl registration Maxime Coquelin <maxime.coquelin@st.com> - 2016-02-24 17:20 +0100
    [PATCH 47/50] pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister} Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register,  unregister} Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-02-24 19:30 +0100
      Re: [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register,  unregister} Philipp Zabel <p.zabel@pengutronix.de> - 2016-02-25 15:50 +0100
    [PATCH 30/50] pinctrl: tegra-xusb: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 30/50] pinctrl: tegra-xusb: Use devm_pinctrl_register()  for pinctrl registration Stephen Warren <swarren@wwwdotorg.org> - 2016-02-24 17:50 +0100
    [PATCH 29/50] pinctrl: tegra: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 29/50] pinctrl: tegra: Use devm_pinctrl_register() for  pinctrl registration Stephen Warren <swarren@wwwdotorg.org> - 2016-02-24 17:50 +0100
    [PATCH 32/50] pinctrl: vt8500: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 43/50] pinctrl: pistachio: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 35/50] pinctrl: as3722: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 05/50] pinctrl: cygnus-mux: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 05/50] pinctrl: cygnus-mux: Use devm_pinctrl_register()  for pinctrl registration Ray Jui <ray.jui@broadcom.com> - 2016-02-24 19:30 +0100
    [PATCH 42/50] pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 42/50] pinctrl: pic32: Use devm_pinctrl_register() for  pinctrl registration Joshua Henderson <joshua.henderson@microchip.com> - 2016-02-25 21:40 +0100
    [PATCH 46/50] pinctrl: tb10x: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 19/50] pinctrl: ssbi-gpi: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 19/50] pinctrl: ssbi-gpi: Use devm_pinctrl_register() for  pinctrl registration Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-02-24 19:10 +0100
    [PATCH 07/50] pinctrl: nsp-gpio: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 44/50] pinctrl: rockchip: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 44/50] pinctrl: rockchip: Use devm_pinctrl_register() for pinctrl registration Heiko Stübner <heiko@sntech.de> - 2016-03-02 22:50 +0100
    [PATCH 17/50] pinctrl: spmi-gpio: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 17/50] pinctrl: spmi-gpio: Use devm_pinctrl_register()  for pinctrl registration Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-02-24 19:10 +0100
    [PATCH 18/50] pinctrl: spmi: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 18/50] pinctrl: spmi: Use devm_pinctrl_register() for  pinctrl registration Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-02-24 19:10 +0100
    [PATCH 12/50] pinctrl: intel: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 12/50] pinctrl: intel: Use devm_pinctrl_register() for  pinctrl registration Heikki Krogerus <heikki.krogerus@linux.intel.com> - 2016-02-25 12:50 +0100
    [PATCH 36/50] pinctrl: at91-pio4: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 38/50] pinctrl: digicolor: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 38/50] pinctrl: digicolor: Use devm_pinctrl_register()  for pinctrl registration Baruch Siach <baruch@tkos.co.il> - 2016-02-24 14:50 +0100
    [PATCH 50/50] pinctrl: zynq: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 50/50] pinctrl: zynq: Use devm_pinctrl_register() for  pinctrl registration Sören Brinkmann <soren.brinkmann@xilinx.com> - 2016-02-26 04:50 +0100
    [PATCH 48/50] pinctrl: tz1090 Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 41/50] pinctrl: palmas: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 28/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 28/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for  pinctrl registration Maxime Ripard <maxime.ripard@free-electrons.com> - 2016-02-24 19:10 +0100
    [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register()  for pinctrl registration Matthias Brugger <matthias.bgg@gmail.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register()  for pinctrl registration Hongzhou Yang <hongzhou.yang@mediatek.com> - 2016-02-24 21:40 +0100
    [PATCH 40/50] pinctrl: lpc18xx: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 40/50] pinctrl: lpc18xx: Use devm_pinctrl_register() for  pinctrl registration Joachim Eastwood <manabian@gmail.com> - 2016-02-24 16:10 +0100
    [PATCH 21/50] pinctrl: msm: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 14/50] pinctrl: meson: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 14/50] pinctrl: meson: Use devm_pinctrl_register() for  pinctrl registration Carlo Caione <carlo@caione.org> - 2016-02-26 22:00 +0100
    [PATCH 22/50] pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 22/50] pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration Robert Jarzmik <robert.jarzmik@free.fr> - 2016-02-26 23:30 +0100
    [PATCH 16/50] pinctrl: nomadic: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 09/50] pinctrl: imx: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 09/50] pinctrl: imx: Use devm_pinctrl_register() for  pinctrl registration Philipp Zabel <p.zabel@pengutronix.de> - 2016-02-25 15:50 +0100
      Re: [PATCH 09/50] pinctrl: imx: Use devm_pinctrl_register() for  pinctrl registration Shawn Guo <shawnguo@kernel.org> - 2016-02-29 04:10 +0100
    [PATCH 06/50] pinctrl: iproc-gpio: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
    [PATCH 39/50] pinctrl: lantiq: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:40 +0100
      Re: [PATCH 39/50] pinctrl: lantiq: Use devm_pinctrl_register() for  pinctrl registration John Crispin <blogic@openwrt.org> - 2016-02-25 15:30 +0100
    [PATCH 11/50] pinctrl: cherryview: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:50 +0100
      Re: [PATCH 11/50] pinctrl: cherryview: Use devm_pinctrl_register()  for pinctrl registration Heikki Krogerus <heikki.krogerus@linux.intel.com> - 2016-02-25 12:50 +0100
    [PATCH 26/50] pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:50 +0100
      Re: [PATCH 26/50] pinctrl: spear: Use devm_pinctrl_register() for  pinctrl registration Viresh Kumar <viresh.kumar@linaro.org> - 2016-02-25 03:20 +0100
    [PATCH 23/50] pinctrl: exynos5440: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:50 +0100
    [PATCH 27/50] pinctrl: stm32: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:50 +0100
      Re: [PATCH 27/50] pinctrl: stm32: Use devm_pinctrl_register() for  pinctrl registration Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2016-02-25 15:10 +0100
    [PATCH 08/50] pinctrl: berlin: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:50 +0100
      Re: [PATCH 08/50] pinctrl: berlin: Use devm_pinctrl_register() for  pinctrl registration Antoine Ténart   <antoine.tenart@free-electrons.com> - 2016-02-24 18:40 +0100
    [PATCH 04/50] pinctrl: bcm2835: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:50 +0100
      Re: [PATCH 04/50] pinctrl: bcm2835: Use devm_pinctrl_register() for  pinctrl registration Ray Jui <ray.jui@broadcom.com> - 2016-02-24 19:30 +0100
    [PATCH 25/50] pinctrl: ish-pfc: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:50 +0100
      Re: [PATCH 25/50] pinctrl: ish-pfc: Use devm_pinctrl_register() for  pinctrl registration Geert Uytterhoeven <geert@linux-m68k.org> - 2016-02-24 15:00 +0100
    [PATCH 20/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 14:50 +0100
    [PATCH 02/50] pinctrl: Add resource management devm_pinctrl_{register, unregister} Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 15:00 +0100
    Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for  pinctrl_{register, unregister} Stefan Wahren <stefan.wahren@i2se.com> - 2016-02-24 18:30 +0100
      Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register,  unregister} Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-24 18:30 +0100
    Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for  pinctrl_{register, unregister} Linus Walleij <linus.walleij@linaro.org> - 2016-02-25 15:20 +0100
      Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register,  unregister} Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-28 16:00 +0100

Page 1 of 5  [1] 2 3 4 5  Next page →


#1341973 — [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:30 +0100
Subject[PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
Message-ID<r5HFV-59T-43@gated-at.bofh.it>
Add resource manageemnt APIs fro pinctrl_register() and pinctrl_unregister()
and use these new APIs on hw driver to reduce the error path code and
remove callback for driver.

Laxman Dewangan (50):
  pinctrl: Add devm_ apis for pinctrl_{register, unregister}
  pinctrl: Add resource management devm_pinctrl_{register, unregister}
  pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: bcm2835: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: cygnus-mux: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: iproc-gpio: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: nsp-gpio: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: berlin: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: imx: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: imxl: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: cherryview: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: intel: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: meson: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: nomadic: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: spmi-gpio: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: spmi: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: ssbi-gpi: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: msm: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: exynos5440: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: samsung: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: ish-pfc: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: stm32: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: tegra: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: tegra-xusb: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: vt8500: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: amd: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: as3722: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: at91-pio4: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: at91: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: digicolor: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: lantiq: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: lpc18xx: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: palmas: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: pistachio: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: rockchip: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: st: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: tb10x: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl
    registration
  pinctrl: tz1090 Use devm_pinctrl_register() for pinctrl registration
  pinctrl: u300: Use devm_pinctrl_register() for pinctrl registration
  pinctrl: zynq: Use devm_pinctrl_register() for pinctrl registration

 Documentation/driver-model/devres.txt            |  2 +
 drivers/pinctrl/bcm/pinctrl-bcm281xx.c           |  4 +-
 drivers/pinctrl/bcm/pinctrl-bcm2835.c            |  3 +-
 drivers/pinctrl/bcm/pinctrl-cygnus-mux.c         |  2 +-
 drivers/pinctrl/bcm/pinctrl-iproc-gpio.c         | 12 +----
 drivers/pinctrl/bcm/pinctrl-nsp-gpio.c           |  2 +-
 drivers/pinctrl/berlin/berlin.c                  |  3 +-
 drivers/pinctrl/core.c                           | 69 ++++++++++++++++++++++++
 drivers/pinctrl/freescale/pinctrl-imx.c          | 11 +---
 drivers/pinctrl/freescale/pinctrl-imx.h          |  1 -
 drivers/pinctrl/freescale/pinctrl-imx1-core.c    | 11 +---
 drivers/pinctrl/freescale/pinctrl-imx1.c         |  1 -
 drivers/pinctrl/freescale/pinctrl-imx1.h         |  1 -
 drivers/pinctrl/freescale/pinctrl-imx21.c        |  1 -
 drivers/pinctrl/freescale/pinctrl-imx25.c        |  1 -
 drivers/pinctrl/freescale/pinctrl-imx27.c        |  1 -
 drivers/pinctrl/freescale/pinctrl-imx35.c        |  1 -
 drivers/pinctrl/freescale/pinctrl-imx50.c        |  1 -
 drivers/pinctrl/freescale/pinctrl-imx51.c        |  1 -
 drivers/pinctrl/freescale/pinctrl-imx53.c        |  1 -
 drivers/pinctrl/freescale/pinctrl-imx6dl.c       |  1 -
 drivers/pinctrl/freescale/pinctrl-imx6q.c        |  1 -
 drivers/pinctrl/freescale/pinctrl-imx6sl.c       |  1 -
 drivers/pinctrl/freescale/pinctrl-imx6sx.c       |  1 -
 drivers/pinctrl/freescale/pinctrl-imx6ul.c       |  1 -
 drivers/pinctrl/freescale/pinctrl-imx7d.c        |  1 -
 drivers/pinctrl/freescale/pinctrl-vf610.c        |  1 -
 drivers/pinctrl/intel/pinctrl-cherryview.c       |  4 +-
 drivers/pinctrl/intel/pinctrl-intel.c            |  4 +-
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c    | 17 +++---
 drivers/pinctrl/meson/pinctrl-meson.c            |  2 +-
 drivers/pinctrl/mvebu/pinctrl-armada-370.c       |  6 ---
 drivers/pinctrl/mvebu/pinctrl-armada-375.c       |  6 ---
 drivers/pinctrl/mvebu/pinctrl-armada-38x.c       |  6 ---
 drivers/pinctrl/mvebu/pinctrl-armada-39x.c       |  6 ---
 drivers/pinctrl/mvebu/pinctrl-armada-xp.c        |  6 ---
 drivers/pinctrl/mvebu/pinctrl-dove.c             |  5 +-
 drivers/pinctrl/mvebu/pinctrl-kirkwood.c         |  6 ---
 drivers/pinctrl/mvebu/pinctrl-mvebu.c            |  9 +---
 drivers/pinctrl/nomadik/pinctrl-abx500.c         |  3 +-
 drivers/pinctrl/nomadik/pinctrl-nomadik.c        |  2 +-
 drivers/pinctrl/pinctrl-adi2.c                   | 13 +----
 drivers/pinctrl/pinctrl-amd.c                    |  9 ++--
 drivers/pinctrl/pinctrl-as3722.c                 |  9 ++--
 drivers/pinctrl/pinctrl-at91-pio4.c              | 26 ++++-----
 drivers/pinctrl/pinctrl-at91.c                   | 13 +----
 drivers/pinctrl/pinctrl-digicolor.c              |  7 +--
 drivers/pinctrl/pinctrl-lantiq.c                 |  2 +-
 drivers/pinctrl/pinctrl-lpc18xx.c                |  3 +-
 drivers/pinctrl/pinctrl-palmas.c                 | 12 +----
 drivers/pinctrl/pinctrl-pic32.c                  |  3 +-
 drivers/pinctrl/pinctrl-pistachio.c              |  4 +-
 drivers/pinctrl/pinctrl-rockchip.c               |  2 +-
 drivers/pinctrl/pinctrl-st.c                     |  2 +-
 drivers/pinctrl/pinctrl-tb10x.c                  |  3 +-
 drivers/pinctrl/pinctrl-tz1090-pdc.c             | 13 +----
 drivers/pinctrl/pinctrl-tz1090.c                 | 13 +----
 drivers/pinctrl/pinctrl-u300.c                   | 12 +----
 drivers/pinctrl/pinctrl-zynq.c                   | 12 +----
 drivers/pinctrl/pxa/pinctrl-pxa2xx.c             | 10 +---
 drivers/pinctrl/qcom/pinctrl-msm.c               |  8 ++-
 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c         |  7 +--
 drivers/pinctrl/qcom/pinctrl-spmi-mpp.c          |  7 +--
 drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c         |  9 +---
 drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c          |  9 +---
 drivers/pinctrl/samsung/pinctrl-exynos5440.c     |  2 +-
 drivers/pinctrl/samsung/pinctrl-samsung.c        |  3 +-
 drivers/pinctrl/sh-pfc/core.c                    |  1 -
 drivers/pinctrl/sh-pfc/core.h                    |  1 -
 drivers/pinctrl/sh-pfc/pinctrl.c                 | 12 +----
 drivers/pinctrl/spear/pinctrl-spear.c            | 11 +---
 drivers/pinctrl/spear/pinctrl-spear.h            |  1 -
 drivers/pinctrl/spear/pinctrl-spear1310.c        |  6 ---
 drivers/pinctrl/spear/pinctrl-spear1340.c        |  6 ---
 drivers/pinctrl/spear/pinctrl-spear300.c         |  6 ---
 drivers/pinctrl/spear/pinctrl-spear310.c         |  6 ---
 drivers/pinctrl/spear/pinctrl-spear320.c         |  6 ---
 drivers/pinctrl/stm32/pinctrl-stm32.c            |  7 +--
 drivers/pinctrl/sunxi/pinctrl-sunxi.c            | 13 ++---
 drivers/pinctrl/tegra/pinctrl-tegra-xusb.c       | 13 ++---
 drivers/pinctrl/tegra/pinctrl-tegra.c            | 12 +----
 drivers/pinctrl/tegra/pinctrl-tegra.h            |  2 -
 drivers/pinctrl/tegra/pinctrl-tegra114.c         |  1 -
 drivers/pinctrl/tegra/pinctrl-tegra124.c         |  1 -
 drivers/pinctrl/tegra/pinctrl-tegra20.c          |  1 -
 drivers/pinctrl/tegra/pinctrl-tegra210.c         |  1 -
 drivers/pinctrl/tegra/pinctrl-tegra30.c          |  1 -
 drivers/pinctrl/uniphier/pinctrl-ph1-ld4.c       |  1 -
 drivers/pinctrl/uniphier/pinctrl-ph1-ld6b.c      |  1 -
 drivers/pinctrl/uniphier/pinctrl-ph1-pro4.c      |  1 -
 drivers/pinctrl/uniphier/pinctrl-ph1-pro5.c      |  1 -
 drivers/pinctrl/uniphier/pinctrl-ph1-sld8.c      |  1 -
 drivers/pinctrl/uniphier/pinctrl-proxstream2.c   |  1 -
 drivers/pinctrl/uniphier/pinctrl-uniphier-core.c | 12 +----
 drivers/pinctrl/uniphier/pinctrl-uniphier.h      |  2 -
 drivers/pinctrl/vt8500/pinctrl-wmt.c             |  7 +--
 include/linux/pinctrl/pinctrl.h                  |  6 +++
 97 files changed, 179 insertions(+), 393 deletions(-)

-- 
2.1.4

[toc] | [next] | [standalone]


#1341974 — [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPz-5eb-1@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
Cc: Fabian Frederick <fabf@skynet.be>
Cc: Andrew Andrianov <andrew@ncrmnt.org>
---
 drivers/pinctrl/mvebu/pinctrl-armada-370.c | 6 ------
 drivers/pinctrl/mvebu/pinctrl-armada-375.c | 6 ------
 drivers/pinctrl/mvebu/pinctrl-armada-38x.c | 6 ------
 drivers/pinctrl/mvebu/pinctrl-armada-39x.c | 6 ------
 drivers/pinctrl/mvebu/pinctrl-armada-xp.c  | 6 ------
 drivers/pinctrl/mvebu/pinctrl-dove.c       | 5 +----
 drivers/pinctrl/mvebu/pinctrl-kirkwood.c   | 6 ------
 drivers/pinctrl/mvebu/pinctrl-mvebu.c      | 9 +--------
 8 files changed, 2 insertions(+), 48 deletions(-)

diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-370.c b/drivers/pinctrl/mvebu/pinctrl-armada-370.c
index 73dc1bc..9cc1cc3 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-370.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-370.c
@@ -417,18 +417,12 @@ static int armada_370_pinctrl_probe(struct platform_device *pdev)
 	return mvebu_pinctrl_probe(pdev);
 }
 
-static int armada_370_pinctrl_remove(struct platform_device *pdev)
-{
-	return mvebu_pinctrl_remove(pdev);
-}
-
 static struct platform_driver armada_370_pinctrl_driver = {
 	.driver = {
 		.name = "armada-370-pinctrl",
 		.of_match_table = armada_370_pinctrl_of_match,
 	},
 	.probe = armada_370_pinctrl_probe,
-	.remove = armada_370_pinctrl_remove,
 };
 
 module_platform_driver(armada_370_pinctrl_driver);
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-375.c b/drivers/pinctrl/mvebu/pinctrl-armada-375.c
index 54e9fbd..0706514 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-375.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-375.c
@@ -435,18 +435,12 @@ static int armada_375_pinctrl_probe(struct platform_device *pdev)
 	return mvebu_pinctrl_probe(pdev);
 }
 
-static int armada_375_pinctrl_remove(struct platform_device *pdev)
-{
-	return mvebu_pinctrl_remove(pdev);
-}
-
 static struct platform_driver armada_375_pinctrl_driver = {
 	.driver = {
 		.name = "armada-375-pinctrl",
 		.of_match_table = of_match_ptr(armada_375_pinctrl_of_match),
 	},
 	.probe = armada_375_pinctrl_probe,
-	.remove = armada_375_pinctrl_remove,
 };
 
 module_platform_driver(armada_375_pinctrl_driver);
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-38x.c b/drivers/pinctrl/mvebu/pinctrl-armada-38x.c
index 6ec82c6..4e84c8e 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-38x.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-38x.c
@@ -446,18 +446,12 @@ static int armada_38x_pinctrl_probe(struct platform_device *pdev)
 	return mvebu_pinctrl_probe(pdev);
 }
 
-static int armada_38x_pinctrl_remove(struct platform_device *pdev)
-{
-	return mvebu_pinctrl_remove(pdev);
-}
-
 static struct platform_driver armada_38x_pinctrl_driver = {
 	.driver = {
 		.name = "armada-38x-pinctrl",
 		.of_match_table = of_match_ptr(armada_38x_pinctrl_of_match),
 	},
 	.probe = armada_38x_pinctrl_probe,
-	.remove = armada_38x_pinctrl_remove,
 };
 
 module_platform_driver(armada_38x_pinctrl_driver);
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-39x.c b/drivers/pinctrl/mvebu/pinctrl-armada-39x.c
index fcfe9b4..e288f8b 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-39x.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-39x.c
@@ -428,18 +428,12 @@ static int armada_39x_pinctrl_probe(struct platform_device *pdev)
 	return mvebu_pinctrl_probe(pdev);
 }
 
-static int armada_39x_pinctrl_remove(struct platform_device *pdev)
-{
-	return mvebu_pinctrl_remove(pdev);
-}
-
 static struct platform_driver armada_39x_pinctrl_driver = {
 	.driver = {
 		.name = "armada-39x-pinctrl",
 		.of_match_table = of_match_ptr(armada_39x_pinctrl_of_match),
 	},
 	.probe = armada_39x_pinctrl_probe,
-	.remove = armada_39x_pinctrl_remove,
 };
 
 module_platform_driver(armada_39x_pinctrl_driver);
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-xp.c b/drivers/pinctrl/mvebu/pinctrl-armada-xp.c
index bf70e09..e4ea71a 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-xp.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-xp.c
@@ -502,18 +502,12 @@ static int armada_xp_pinctrl_probe(struct platform_device *pdev)
 	return mvebu_pinctrl_probe(pdev);
 }
 
-static int armada_xp_pinctrl_remove(struct platform_device *pdev)
-{
-	return mvebu_pinctrl_remove(pdev);
-}
-
 static struct platform_driver armada_xp_pinctrl_driver = {
 	.driver = {
 		.name = "armada-xp-pinctrl",
 		.of_match_table = armada_xp_pinctrl_of_match,
 	},
 	.probe = armada_xp_pinctrl_probe,
-	.remove = armada_xp_pinctrl_remove,
 	.suspend = armada_xp_pinctrl_suspend,
 	.resume = armada_xp_pinctrl_resume,
 };
diff --git a/drivers/pinctrl/mvebu/pinctrl-dove.c b/drivers/pinctrl/mvebu/pinctrl-dove.c
index 95bfd06..f93ae0d 100644
--- a/drivers/pinctrl/mvebu/pinctrl-dove.c
+++ b/drivers/pinctrl/mvebu/pinctrl-dove.c
@@ -840,12 +840,9 @@ static int dove_pinctrl_probe(struct platform_device *pdev)
 
 static int dove_pinctrl_remove(struct platform_device *pdev)
 {
-	int ret;
-
-	ret = mvebu_pinctrl_remove(pdev);
 	if (!IS_ERR(clk))
 		clk_disable_unprepare(clk);
-	return ret;
+	return 0;
 }
 
 static struct platform_driver dove_pinctrl_driver = {
diff --git a/drivers/pinctrl/mvebu/pinctrl-kirkwood.c b/drivers/pinctrl/mvebu/pinctrl-kirkwood.c
index 0f07dc55..a78e9a4 100644
--- a/drivers/pinctrl/mvebu/pinctrl-kirkwood.c
+++ b/drivers/pinctrl/mvebu/pinctrl-kirkwood.c
@@ -481,18 +481,12 @@ static int kirkwood_pinctrl_probe(struct platform_device *pdev)
 	return mvebu_pinctrl_probe(pdev);
 }
 
-static int kirkwood_pinctrl_remove(struct platform_device *pdev)
-{
-	return mvebu_pinctrl_remove(pdev);
-}
-
 static struct platform_driver kirkwood_pinctrl_driver = {
 	.driver = {
 		.name = "kirkwood-pinctrl",
 		.of_match_table = kirkwood_pinctrl_of_match,
 	},
 	.probe = kirkwood_pinctrl_probe,
-	.remove = kirkwood_pinctrl_remove,
 };
 
 module_platform_driver(kirkwood_pinctrl_driver);
diff --git a/drivers/pinctrl/mvebu/pinctrl-mvebu.c b/drivers/pinctrl/mvebu/pinctrl-mvebu.c
index 3ef798f..b6ec6db 100644
--- a/drivers/pinctrl/mvebu/pinctrl-mvebu.c
+++ b/drivers/pinctrl/mvebu/pinctrl-mvebu.c
@@ -711,7 +711,7 @@ int mvebu_pinctrl_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	pctl->pctldev = pinctrl_register(&pctl->desc, &pdev->dev, pctl);
+	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pctl->desc, pctl);
 	if (IS_ERR(pctl->pctldev)) {
 		dev_err(&pdev->dev, "unable to register pinctrl driver\n");
 		return PTR_ERR(pctl->pctldev);
@@ -725,10 +725,3 @@ int mvebu_pinctrl_probe(struct platform_device *pdev)
 
 	return 0;
 }
-
-int mvebu_pinctrl_remove(struct platform_device *pdev)
-{
-	struct mvebu_pinctrl *pctl = platform_get_drvdata(pdev);
-	pinctrl_unregister(pctl->pctldev);
-	return 0;
-}
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1342049 — Re: [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration

FromThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date2016-02-24 15:10 +0100
SubjectRe: [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5IiD-5Ha-5@gated-at.bofh.it>
In reply to#1341974
Dear Laxman Dewangan,

On Wed, 24 Feb 2016 18:45:40 +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and remove
> need of .remove callback.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
> Cc: Fabian Frederick <fabf@skynet.be>
> Cc: Andrew Andrianov <andrew@ncrmnt.org>
> ---
>  drivers/pinctrl/mvebu/pinctrl-armada-370.c | 6 ------
>  drivers/pinctrl/mvebu/pinctrl-armada-375.c | 6 ------
>  drivers/pinctrl/mvebu/pinctrl-armada-38x.c | 6 ------
>  drivers/pinctrl/mvebu/pinctrl-armada-39x.c | 6 ------
>  drivers/pinctrl/mvebu/pinctrl-armada-xp.c  | 6 ------
>  drivers/pinctrl/mvebu/pinctrl-dove.c       | 5 +----
>  drivers/pinctrl/mvebu/pinctrl-kirkwood.c   | 6 ------
>  drivers/pinctrl/mvebu/pinctrl-mvebu.c      | 9 +--------
>  8 files changed, 2 insertions(+), 48 deletions(-)

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[toc] | [prev] | [next] | [standalone]


#1342320 — Re: [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration

Fromkbuild test robot <lkp@intel.com>
Date2016-02-24 19:40 +0100
SubjectRe: [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5MvV-4Y-51@gated-at.bofh.it>
In reply to#1341974

[Multipart message — attachments visible in raw view] — view raw

Hi Laxman,

[auto build test ERROR on pinctrl/for-next]
[also build test ERROR on v4.5-rc5 next-20160224]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Laxman-Dewangan/pinctrl-Add-and-use-devm_-apis-for-pinctrl_-register-unregister/20160225-002237
base:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git for-next
config: arm-multi_v5_defconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   drivers/built-in.o: In function `orion_pinctrl_remove':
>> drivers/pinctrl/mvebu/pinctrl-orion.c:244: undefined reference to `mvebu_pinctrl_remove'

vim +244 drivers/pinctrl/mvebu/pinctrl-orion.c

fd67f884 Thomas Petazzoni 2014-04-22  238  
fd67f884 Thomas Petazzoni 2014-04-22  239  	return mvebu_pinctrl_probe(pdev);
fd67f884 Thomas Petazzoni 2014-04-22  240  }
fd67f884 Thomas Petazzoni 2014-04-22  241  
fd67f884 Thomas Petazzoni 2014-04-22  242  static int orion_pinctrl_remove(struct platform_device *pdev)
fd67f884 Thomas Petazzoni 2014-04-22  243  {
fd67f884 Thomas Petazzoni 2014-04-22 @244  	return mvebu_pinctrl_remove(pdev);
fd67f884 Thomas Petazzoni 2014-04-22  245  }
fd67f884 Thomas Petazzoni 2014-04-22  246  
fd67f884 Thomas Petazzoni 2014-04-22  247  static struct platform_driver orion_pinctrl_driver = {

:::::: The code at line 244 was first introduced by commit
:::::: fd67f884782a281eb033e40b0f8eae623416035e pinctrl: mvebu: new driver for Orion platforms

:::::: TO: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
:::::: CC: Linus Walleij <linus.walleij@linaro.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[toc] | [prev] | [next] | [standalone]


#1341976 — [PATCH 10/50] pinctrl: imxl: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 10/50] pinctrl: imxl: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPA-5eb-9@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
Cc: Antoine Tenart <antoine.tenart@free-electrons.com>
Cc: Heiko Stuebner <heiko@sntech.de>
---
 drivers/pinctrl/freescale/pinctrl-imx1-core.c | 11 +----------
 drivers/pinctrl/freescale/pinctrl-imx1.c      |  1 -
 drivers/pinctrl/freescale/pinctrl-imx1.h      |  1 -
 drivers/pinctrl/freescale/pinctrl-imx21.c     |  1 -
 drivers/pinctrl/freescale/pinctrl-imx27.c     |  1 -
 5 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/drivers/pinctrl/freescale/pinctrl-imx1-core.c b/drivers/pinctrl/freescale/pinctrl-imx1-core.c
index acaf84c..b4400cb 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx1-core.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx1-core.c
@@ -635,7 +635,7 @@ int imx1_pinctrl_core_probe(struct platform_device *pdev,
 	ipctl->info = info;
 	ipctl->dev = info->dev;
 	platform_set_drvdata(pdev, ipctl);
-	ipctl->pctl = pinctrl_register(pctl_desc, &pdev->dev, ipctl);
+	ipctl->pctl = devm_pinctrl_register(&pdev->dev, pctl_desc, ipctl);
 	if (IS_ERR(ipctl->pctl)) {
 		dev_err(&pdev->dev, "could not register IMX pinctrl driver\n");
 		return PTR_ERR(ipctl->pctl);
@@ -652,12 +652,3 @@ int imx1_pinctrl_core_probe(struct platform_device *pdev,
 
 	return 0;
 }
-
-int imx1_pinctrl_core_remove(struct platform_device *pdev)
-{
-	struct imx1_pinctrl *ipctl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(ipctl->pctl);
-
-	return 0;
-}
diff --git a/drivers/pinctrl/freescale/pinctrl-imx1.c b/drivers/pinctrl/freescale/pinctrl-imx1.c
index d3bacb7..0472345 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx1.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx1.c
@@ -269,7 +269,6 @@ static struct platform_driver imx1_pinctrl_driver = {
 		.name		= "imx1-pinctrl",
 		.of_match_table	= imx1_pinctrl_of_match,
 	},
-	.remove	= imx1_pinctrl_core_remove,
 };
 module_platform_driver_probe(imx1_pinctrl_driver, imx1_pinctrl_probe);
 
diff --git a/drivers/pinctrl/freescale/pinctrl-imx1.h b/drivers/pinctrl/freescale/pinctrl-imx1.h
index 692a54c..1740743 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx1.h
+++ b/drivers/pinctrl/freescale/pinctrl-imx1.h
@@ -69,5 +69,4 @@ struct imx1_pinctrl_soc_info {
 
 int imx1_pinctrl_core_probe(struct platform_device *pdev,
 			struct imx1_pinctrl_soc_info *info);
-int imx1_pinctrl_core_remove(struct platform_device *pdev);
 #endif /* __DRIVERS_PINCTRL_IMX1_H */
diff --git a/drivers/pinctrl/freescale/pinctrl-imx21.c b/drivers/pinctrl/freescale/pinctrl-imx21.c
index 9d9aca3..aa1221f 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx21.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx21.c
@@ -332,7 +332,6 @@ static struct platform_driver imx21_pinctrl_driver = {
 		.name		= "imx21-pinctrl",
 		.of_match_table	= imx21_pinctrl_of_match,
 	},
-	.remove	= imx1_pinctrl_core_remove,
 };
 module_platform_driver_probe(imx21_pinctrl_driver, imx21_pinctrl_probe);
 
diff --git a/drivers/pinctrl/freescale/pinctrl-imx27.c b/drivers/pinctrl/freescale/pinctrl-imx27.c
index a461d58..f828fbb 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx27.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx27.c
@@ -405,7 +405,6 @@ static struct platform_driver imx27_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx27_pinctrl_of_match),
 	},
 	.probe = imx27_pinctrl_probe,
-	.remove = imx1_pinctrl_core_remove,
 };
 
 static int __init imx27_pinctrl_init(void)
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1341977 — [PATCH 37/50] pinctrl: at91: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 37/50] pinctrl: at91: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPA-5eb-11@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration and remove
the need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/pinctrl/pinctrl-at91.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
index 523b6b7..f265ebe 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -1252,7 +1252,8 @@ static int at91_pinctrl_probe(struct platform_device *pdev)
 	}
 
 	platform_set_drvdata(pdev, info);
-	info->pctl = pinctrl_register(&at91_pinctrl_desc, &pdev->dev, info);
+	info->pctl = devm_pinctrl_register(&pdev->dev, &at91_pinctrl_desc,
+					   info);
 
 	if (IS_ERR(info->pctl)) {
 		dev_err(&pdev->dev, "could not register AT91 pinctrl driver\n");
@@ -1269,15 +1270,6 @@ static int at91_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int at91_pinctrl_remove(struct platform_device *pdev)
-{
-	struct at91_pinctrl *info = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(info->pctl);
-
-	return 0;
-}
-
 static int at91_gpio_get_direction(struct gpio_chip *chip, unsigned offset)
 {
 	struct at91_gpio_chip *at91_gpio = gpiochip_get_data(chip);
@@ -1821,7 +1813,6 @@ static struct platform_driver at91_pinctrl_driver = {
 		.of_match_table = at91_pinctrl_of_match,
 	},
 	.probe = at91_pinctrl_probe,
-	.remove = at91_pinctrl_remove,
 };
 
 static struct platform_driver * const drivers[] = {
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1341978 — [PATCH 49/50] pinctrl: u300: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 49/50] pinctrl: u300: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPA-5eb-13@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration and
remove the need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/pinctrl/pinctrl-u300.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-u300.c b/drivers/pinctrl/pinctrl-u300.c
index c076021..d1af908 100644
--- a/drivers/pinctrl/pinctrl-u300.c
+++ b/drivers/pinctrl/pinctrl-u300.c
@@ -1067,7 +1067,7 @@ static int u300_pmx_probe(struct platform_device *pdev)
 	if (IS_ERR(upmx->virtbase))
 		return PTR_ERR(upmx->virtbase);
 
-	upmx->pctl = pinctrl_register(&u300_pmx_desc, &pdev->dev, upmx);
+	upmx->pctl = devm_pinctrl_register(&pdev->dev, &u300_pmx_desc, upmx);
 	if (IS_ERR(upmx->pctl)) {
 		dev_err(&pdev->dev, "could not register U300 pinmux driver\n");
 		return PTR_ERR(upmx->pctl);
@@ -1080,15 +1080,6 @@ static int u300_pmx_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int u300_pmx_remove(struct platform_device *pdev)
-{
-	struct u300_pmx *upmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(upmx->pctl);
-
-	return 0;
-}
-
 static const struct of_device_id u300_pinctrl_match[] = {
 	{ .compatible = "stericsson,pinctrl-u300" },
 	{},
@@ -1101,7 +1092,6 @@ static struct platform_driver u300_pmx_driver = {
 		.of_match_table = u300_pinctrl_match,
 	},
 	.probe = u300_pmx_probe,
-	.remove = u300_pmx_remove,
 };
 
 static int __init u300_pmx_init(void)
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1341979 — [PATCH 33/50] pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 33/50] pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPA-5eb-15@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration and remove
the need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/pinctrl/pinctrl-adi2.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-adi2.c b/drivers/pinctrl/pinctrl-adi2.c
index ecb57635..54569a7 100644
--- a/drivers/pinctrl/pinctrl-adi2.c
+++ b/drivers/pinctrl/pinctrl-adi2.c
@@ -1058,7 +1058,8 @@ static int adi_pinctrl_probe(struct platform_device *pdev)
 	adi_pinmux_desc.npins = pinctrl->soc->npins;
 
 	/* Now register the pin controller and all pins it handles */
-	pinctrl->pctl = pinctrl_register(&adi_pinmux_desc, &pdev->dev, pinctrl);
+	pinctrl->pctl = devm_pinctrl_register(&pdev->dev, &adi_pinmux_desc,
+					      pinctrl);
 	if (IS_ERR(pinctrl->pctl)) {
 		dev_err(&pdev->dev, "could not register pinctrl ADI2 driver\n");
 		return PTR_ERR(pinctrl->pctl);
@@ -1069,18 +1070,8 @@ static int adi_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int adi_pinctrl_remove(struct platform_device *pdev)
-{
-	struct adi_pinctrl *pinctrl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pinctrl->pctl);
-
-	return 0;
-}
-
 static struct platform_driver adi_pinctrl_driver = {
 	.probe		= adi_pinctrl_probe,
-	.remove		= adi_pinctrl_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
 	},
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1341980 — [PATCH 24/50] pinctrl: samsung: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 24/50] pinctrl: samsung: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPA-5eb-21@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/pinctrl/samsung/pinctrl-samsung.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
index 5cc97f8..ed0b708 100644
--- a/drivers/pinctrl/samsung/pinctrl-samsung.c
+++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
@@ -884,7 +884,8 @@ static int samsung_pinctrl_register(struct platform_device *pdev,
 	if (ret)
 		return ret;
 
-	drvdata->pctl_dev = pinctrl_register(ctrldesc, &pdev->dev, drvdata);
+	drvdata->pctl_dev = devm_pinctrl_register(&pdev->dev, ctrldesc,
+						  drvdata);
 	if (IS_ERR(drvdata->pctl_dev)) {
 		dev_err(&pdev->dev, "could not register pinctrl driver\n");
 		return PTR_ERR(drvdata->pctl_dev);
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1341981 — [PATCH 34/50] pinctrl: amd: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 34/50] pinctrl: amd: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPA-5eb-23@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration and clean
error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/pinctrl/pinctrl-amd.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
index 5c025f5..59aa2ca 100644
--- a/drivers/pinctrl/pinctrl-amd.c
+++ b/drivers/pinctrl/pinctrl-amd.c
@@ -783,8 +783,8 @@ static int amd_gpio_probe(struct platform_device *pdev)
 	gpio_dev->ngroups = ARRAY_SIZE(kerncz_groups);
 
 	amd_pinctrl_desc.name = dev_name(&pdev->dev);
-	gpio_dev->pctrl = pinctrl_register(&amd_pinctrl_desc,
-					&pdev->dev, gpio_dev);
+	gpio_dev->pctrl = devm_pinctrl_register(&pdev->dev, &amd_pinctrl_desc,
+						gpio_dev);
 	if (IS_ERR(gpio_dev->pctrl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(gpio_dev->pctrl);
@@ -792,7 +792,7 @@ static int amd_gpio_probe(struct platform_device *pdev)
 
 	ret = gpiochip_add_data(&gpio_dev->gc, gpio_dev);
 	if (ret)
-		goto out1;
+		return ret;
 
 	ret = gpiochip_add_pin_range(&gpio_dev->gc, dev_name(&pdev->dev),
 				0, 0, TOTAL_NUMBER_OF_PINS);
@@ -825,8 +825,6 @@ static int amd_gpio_probe(struct platform_device *pdev)
 out2:
 	gpiochip_remove(&gpio_dev->gc);
 
-out1:
-	pinctrl_unregister(gpio_dev->pctrl);
 	return ret;
 }
 
@@ -837,7 +835,6 @@ static int amd_gpio_remove(struct platform_device *pdev)
 	gpio_dev = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&gpio_dev->gc);
-	pinctrl_unregister(gpio_dev->pctrl);
 
 	return 0;
 }
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1341982 — [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPA-5eb-29@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
---
 drivers/pinctrl/uniphier/pinctrl-ph1-ld4.c       |  1 -
 drivers/pinctrl/uniphier/pinctrl-ph1-ld6b.c      |  1 -
 drivers/pinctrl/uniphier/pinctrl-ph1-pro4.c      |  1 -
 drivers/pinctrl/uniphier/pinctrl-ph1-pro5.c      |  1 -
 drivers/pinctrl/uniphier/pinctrl-ph1-sld8.c      |  1 -
 drivers/pinctrl/uniphier/pinctrl-proxstream2.c   |  1 -
 drivers/pinctrl/uniphier/pinctrl-uniphier-core.c | 12 +-----------
 drivers/pinctrl/uniphier/pinctrl-uniphier.h      |  2 --
 8 files changed, 1 insertion(+), 19 deletions(-)

diff --git a/drivers/pinctrl/uniphier/pinctrl-ph1-ld4.c b/drivers/pinctrl/uniphier/pinctrl-ph1-ld4.c
index a7056dc..4a0439c 100644
--- a/drivers/pinctrl/uniphier/pinctrl-ph1-ld4.c
+++ b/drivers/pinctrl/uniphier/pinctrl-ph1-ld4.c
@@ -878,7 +878,6 @@ MODULE_DEVICE_TABLE(of, ph1_ld4_pinctrl_match);
 
 static struct platform_driver ph1_ld4_pinctrl_driver = {
 	.probe = ph1_ld4_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = ph1_ld4_pinctrl_match,
diff --git a/drivers/pinctrl/uniphier/pinctrl-ph1-ld6b.c b/drivers/pinctrl/uniphier/pinctrl-ph1-ld6b.c
index 1824831..150d339 100644
--- a/drivers/pinctrl/uniphier/pinctrl-ph1-ld6b.c
+++ b/drivers/pinctrl/uniphier/pinctrl-ph1-ld6b.c
@@ -1266,7 +1266,6 @@ MODULE_DEVICE_TABLE(of, ph1_ld6b_pinctrl_match);
 
 static struct platform_driver ph1_ld6b_pinctrl_driver = {
 	.probe = ph1_ld6b_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = ph1_ld6b_pinctrl_match,
diff --git a/drivers/pinctrl/uniphier/pinctrl-ph1-pro4.c b/drivers/pinctrl/uniphier/pinctrl-ph1-pro4.c
index ec8e92d..b1f09e6 100644
--- a/drivers/pinctrl/uniphier/pinctrl-ph1-pro4.c
+++ b/drivers/pinctrl/uniphier/pinctrl-ph1-pro4.c
@@ -1552,7 +1552,6 @@ MODULE_DEVICE_TABLE(of, ph1_pro4_pinctrl_match);
 
 static struct platform_driver ph1_pro4_pinctrl_driver = {
 	.probe = ph1_pro4_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = ph1_pro4_pinctrl_match,
diff --git a/drivers/pinctrl/uniphier/pinctrl-ph1-pro5.c b/drivers/pinctrl/uniphier/pinctrl-ph1-pro5.c
index e3d648e..3087f76 100644
--- a/drivers/pinctrl/uniphier/pinctrl-ph1-pro5.c
+++ b/drivers/pinctrl/uniphier/pinctrl-ph1-pro5.c
@@ -1343,7 +1343,6 @@ MODULE_DEVICE_TABLE(of, ph1_pro5_pinctrl_match);
 
 static struct platform_driver ph1_pro5_pinctrl_driver = {
 	.probe = ph1_pro5_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = ph1_pro5_pinctrl_match,
diff --git a/drivers/pinctrl/uniphier/pinctrl-ph1-sld8.c b/drivers/pinctrl/uniphier/pinctrl-ph1-sld8.c
index c3700a3..ceb7a98 100644
--- a/drivers/pinctrl/uniphier/pinctrl-ph1-sld8.c
+++ b/drivers/pinctrl/uniphier/pinctrl-ph1-sld8.c
@@ -786,7 +786,6 @@ MODULE_DEVICE_TABLE(of, ph1_sld8_pinctrl_match);
 
 static struct platform_driver ph1_sld8_pinctrl_driver = {
 	.probe = ph1_sld8_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = ph1_sld8_pinctrl_match,
diff --git a/drivers/pinctrl/uniphier/pinctrl-proxstream2.c b/drivers/pinctrl/uniphier/pinctrl-proxstream2.c
index bc00d75..e868030 100644
--- a/drivers/pinctrl/uniphier/pinctrl-proxstream2.c
+++ b/drivers/pinctrl/uniphier/pinctrl-proxstream2.c
@@ -1261,7 +1261,6 @@ MODULE_DEVICE_TABLE(of, proxstream2_pinctrl_match);
 
 static struct platform_driver proxstream2_pinctrl_driver = {
 	.probe = proxstream2_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = proxstream2_pinctrl_match,
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
index 589872c..0176061 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
@@ -665,7 +665,7 @@ int uniphier_pinctrl_probe(struct platform_device *pdev,
 	desc->pmxops = &uniphier_pmxops;
 	desc->confops = &uniphier_confops;
 
-	priv->pctldev = pinctrl_register(desc, dev, priv);
+	priv->pctldev = devm_pinctrl_register(dev, desc, priv);
 	if (IS_ERR(priv->pctldev)) {
 		dev_err(dev, "failed to register UniPhier pinctrl driver\n");
 		return PTR_ERR(priv->pctldev);
@@ -676,13 +676,3 @@ int uniphier_pinctrl_probe(struct platform_device *pdev,
 	return 0;
 }
 EXPORT_SYMBOL_GPL(uniphier_pinctrl_probe);
-
-int uniphier_pinctrl_remove(struct platform_device *pdev)
-{
-	struct uniphier_pinctrl_priv *priv = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(priv->pctldev);
-
-	return 0;
-}
-EXPORT_SYMBOL_GPL(uniphier_pinctrl_remove);
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier.h b/drivers/pinctrl/uniphier/pinctrl-uniphier.h
index e1e98b8..a21154f 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier.h
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier.h
@@ -212,6 +212,4 @@ int uniphier_pinctrl_probe(struct platform_device *pdev,
 			   struct pinctrl_desc *desc,
 			   struct uniphier_pinctrl_socdata *socdata);
 
-int uniphier_pinctrl_remove(struct platform_device *pdev);
-
 #endif /* __PINCTRL_UNIPHIER_H__ */
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1344000 — Re: [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration

FromMasahiro Yamada <yamada.masahiro@socionext.com>
Date2016-02-26 11:10 +0100
SubjectRe: [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r6nvs-1zo-11@gated-at.bofh.it>
In reply to#1341982
2016-02-24 22:15 GMT+09:00 Laxman Dewangan <ldewangan@nvidia.com>:
> Use devm_pinctrl_register() for pin control registration and remove
> need of .remove callback.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---

Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>


Thanks!



-- 
Best Regards
Masahiro Yamada

[toc] | [prev] | [next] | [standalone]


#1341984 — [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPA-5eb-33@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Ray Jui <rjui@broadcom.com>
---
 drivers/pinctrl/bcm/pinctrl-bcm281xx.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-bcm281xx.c b/drivers/pinctrl/bcm/pinctrl-bcm281xx.c
index c3c692e..0c0c0f0 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm281xx.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm281xx.c
@@ -1422,9 +1422,7 @@ static int __init bcm281xx_pinctrl_probe(struct platform_device *pdev)
 	bcm281xx_pinctrl_desc.pins = bcm281xx_pinctrl.pins;
 	bcm281xx_pinctrl_desc.npins = bcm281xx_pinctrl.npins;
 
-	pctl = pinctrl_register(&bcm281xx_pinctrl_desc,
-				&pdev->dev,
-				pdata);
+	pctl = devm_pinctrl_register(&pdev->dev, &bcm281xx_pinctrl_desc, pdata);
 	if (IS_ERR(pctl)) {
 		dev_err(&pdev->dev, "Failed to register pinctrl\n");
 		return PTR_ERR(pctl);
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1342294 — Re: [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration

FromRay Jui <ray.jui@broadcom.com>
Date2016-02-24 19:30 +0100
SubjectRe: [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5Mme-8s3-13@gated-at.bofh.it>
In reply to#1341984

On 2/24/2016 5:15 AM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Ray Jui <rjui@broadcom.com>
> ---
>  drivers/pinctrl/bcm/pinctrl-bcm281xx.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm281xx.c b/drivers/pinctrl/bcm/pinctrl-bcm281xx.c
> index c3c692e..0c0c0f0 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm281xx.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm281xx.c
> @@ -1422,9 +1422,7 @@ static int __init bcm281xx_pinctrl_probe(struct platform_device *pdev)
>  	bcm281xx_pinctrl_desc.pins = bcm281xx_pinctrl.pins;
>  	bcm281xx_pinctrl_desc.npins = bcm281xx_pinctrl.npins;
>
> -	pctl = pinctrl_register(&bcm281xx_pinctrl_desc,
> -				&pdev->dev,
> -				pdata);
> +	pctl = devm_pinctrl_register(&pdev->dev, &bcm281xx_pinctrl_desc, pdata);
>  	if (IS_ERR(pctl)) {
>  		dev_err(&pdev->dev, "Failed to register pinctrl\n");
>  		return PTR_ERR(pctl);
>

Acked-by: Ray Jui <ray.jui@broadcom.com>

Thanks!

Ray

[toc] | [prev] | [next] | [standalone]


#1341985 — [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPB-5eb-35@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Srinivas Kandagatla <srinivas.kandagatla@gmail.com>
Cc: Maxime Coquelin <maxime.coquelin@st.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: kernel@stlinux.com
---
 drivers/pinctrl/pinctrl-st.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
index cab66c6..d0ba968 100644
--- a/drivers/pinctrl/pinctrl-st.c
+++ b/drivers/pinctrl/pinctrl-st.c
@@ -1724,7 +1724,7 @@ static int st_pctl_probe(struct platform_device *pdev)
 	pctl_desc->confops	= &st_confops;
 	pctl_desc->name		= dev_name(&pdev->dev);
 
-	info->pctl = pinctrl_register(pctl_desc, &pdev->dev, info);
+	info->pctl = devm_pinctrl_register(&pdev->dev, pctl_desc, info);
 	if (IS_ERR(info->pctl)) {
 		dev_err(&pdev->dev, "Failed pinctrl registration\n");
 		return PTR_ERR(info->pctl);
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1342165 — Re: [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration

FromMaxime Coquelin <maxime.coquelin@st.com>
Date2016-02-24 17:20 +0100
SubjectRe: [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5Kkp-72Y-1@gated-at.bofh.it>
In reply to#1341985

On 02/24/2016 02:16 PM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Srinivas Kandagatla <srinivas.kandagatla@gmail.com>
> Cc: Maxime Coquelin <maxime.coquelin@st.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: kernel@stlinux.com
> ---
>   drivers/pinctrl/pinctrl-st.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Acked-by: Maxime Coquelin <maxime.coquelin@st.com>

Thanks!
Maxime

[toc] | [prev] | [next] | [standalone]


#1341986 — [PATCH 47/50] pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 47/50] pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl registration
Message-ID<r5HPB-5eb-37@gated-at.bofh.it>
In reply to#1341973
Use devm_pinctrl_register() for pin control registration and
remove the need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/pinctrl/pinctrl-tz1090-pdc.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-tz1090-pdc.c b/drivers/pinctrl/pinctrl-tz1090-pdc.c
index b89ad3c..e70e362 100644
--- a/drivers/pinctrl/pinctrl-tz1090-pdc.c
+++ b/drivers/pinctrl/pinctrl-tz1090-pdc.c
@@ -947,7 +947,8 @@ static int tz1090_pdc_pinctrl_probe(struct platform_device *pdev)
 	if (IS_ERR(pmx->regs))
 		return PTR_ERR(pmx->regs);
 
-	pmx->pctl = pinctrl_register(&tz1090_pdc_pinctrl_desc, &pdev->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(&pdev->dev, &tz1090_pdc_pinctrl_desc,
+					  pmx);
 	if (IS_ERR(pmx->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pmx->pctl);
@@ -960,15 +961,6 @@ static int tz1090_pdc_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int tz1090_pdc_pinctrl_remove(struct platform_device *pdev)
-{
-	struct tz1090_pdc_pmx *pmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pmx->pctl);
-
-	return 0;
-}
-
 static const struct of_device_id tz1090_pdc_pinctrl_of_match[] = {
 	{ .compatible = "img,tz1090-pdc-pinctrl", },
 	{ },
@@ -980,7 +972,6 @@ static struct platform_driver tz1090_pdc_pinctrl_driver = {
 		.of_match_table	= tz1090_pdc_pinctrl_of_match,
 	},
 	.probe	= tz1090_pdc_pinctrl_probe,
-	.remove	= tz1090_pdc_pinctrl_remove,
 };
 
 static int __init tz1090_pdc_pinctrl_init(void)
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1341987 — [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-02-24 14:40 +0100
Subject[PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}
Message-ID<r5HPC-5eb-39@gated-at.bofh.it>
In reply to#1341973
Add device managed APIs devm_pinctrl_register() and
devm_pinctrl_unregister() for the APIs pinctrl_register()
and pinctrl_unregister().

This helps in reducing code in error path and sometimes
removal of .remove callback for driver unbind.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/pinctrl/core.c          | 69 +++++++++++++++++++++++++++++++++++++++++
 include/linux/pinctrl/pinctrl.h |  6 ++++
 2 files changed, 75 insertions(+)

diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index 2686a44..ea4a7e6 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -1861,6 +1861,75 @@ void pinctrl_unregister(struct pinctrl_dev *pctldev)
 }
 EXPORT_SYMBOL_GPL(pinctrl_unregister);
 
+static void devm_pinctrl_dev_release(struct device *dev, void *res)
+{
+	struct pinctrl_dev *pctldev = *(struct pinctrl_dev **)res;
+
+	pinctrl_unregister(pctldev);
+}
+
+static int devm_pinctrl_dev_match(struct device *dev, void *res, void *data)
+{
+	struct pctldev **r = res;
+
+	if (!r || !*r) {
+		WARN_ON(!r || !*r);
+		return 0;
+	}
+
+	return *r == data;
+}
+
+/**
+ * devm_pinctrl_register() - Resource manager pinctrl_register()
+ * @dev: parent device for this pin controller
+ * @pctldesc: descriptor for this pin controller
+ * @driver_data: private pin controller data for this pin controller
+ *
+ * Returns an error pointer if pincontrol register failed. Otherwise
+ * it returns valid pinctrl handle.
+ *
+ * The pinctrl device will be automatically released when the device is unbound.
+ */
+struct pinctrl_dev *devm_pinctrl_register(struct device *dev,
+					  struct pinctrl_desc *pctldesc,
+					  void *driver_data)
+{
+	struct pinctrl_dev **ptr, *pctldev;
+
+	ptr = devres_alloc(devm_pinctrl_dev_release, sizeof(*ptr), GFP_KERNEL);
+	if (!ptr)
+		return ERR_PTR(-ENOMEM);
+
+	pctldev = pinctrl_register(pctldesc, dev, driver_data);
+	if (IS_ERR(pctldev)) {
+		devres_free(ptr);
+		return pctldev;
+	}
+
+	*ptr = pctldev;
+	devres_add(dev, ptr);
+
+	return pctldev;
+}
+EXPORT_SYMBOL_GPL(devm_pinctrl_register);
+
+/**
+ * devm_pinctrl_unregister() - Resource manager of pinctrl_unregister()
+ * @dev: device for which which resource was allocated
+ * @pctldev: the pinctrl device to unregister.
+ */
+void devm_pinctrl_unregister(struct device *dev, struct pinctrl_dev *pctldev)
+{
+	int ret;
+
+	ret = devres_release(dev, devm_pinctrl_dev_release,
+			     devm_pinctrl_dev_match, pctldev);
+	if (!ret)
+		WARN_ON(ret);
+}
+EXPORT_SYMBOL_GPL(devm_pinctrl_unregister);
+
 static int __init pinctrl_init(void)
 {
 	pr_info("initialized pinctrl subsystem\n");
diff --git a/include/linux/pinctrl/pinctrl.h b/include/linux/pinctrl/pinctrl.h
index 9ba59fc..a42e57d 100644
--- a/include/linux/pinctrl/pinctrl.h
+++ b/include/linux/pinctrl/pinctrl.h
@@ -144,6 +144,12 @@ struct pinctrl_desc {
 extern struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
 				struct device *dev, void *driver_data);
 extern void pinctrl_unregister(struct pinctrl_dev *pctldev);
+extern struct pinctrl_dev *devm_pinctrl_register(struct device *dev,
+				struct pinctrl_desc *pctldesc,
+				void *driver_data);
+extern void devm_pinctrl_unregister(struct device *dev,
+				struct pinctrl_dev *pctldev);
+
 extern bool pin_is_valid(struct pinctrl_dev *pctldev, int pin);
 extern void pinctrl_add_gpio_range(struct pinctrl_dev *pctldev,
 				struct pinctrl_gpio_range *range);
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1342290 — Re: [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}

FromBjorn Andersson <bjorn.andersson@linaro.org>
Date2016-02-24 19:30 +0100
SubjectRe: [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}
Message-ID<r5Mmd-8s3-3@gated-at.bofh.it>
In reply to#1341987
On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Add device managed APIs devm_pinctrl_register() and
> devm_pinctrl_unregister() for the APIs pinctrl_register()
> and pinctrl_unregister().
> 
> This helps in reducing code in error path and sometimes
> removal of .remove callback for driver unbind.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> ---
>  drivers/pinctrl/core.c          | 69 +++++++++++++++++++++++++++++++++++++++++
>  include/linux/pinctrl/pinctrl.h |  6 ++++
>  2 files changed, 75 insertions(+)
> 
> diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
[..]
> +static int devm_pinctrl_dev_match(struct device *dev, void *res, void *data)
> +{
> +	struct pctldev **r = res;
> +
> +	if (!r || !*r) {
> +		WARN_ON(!r || !*r);
> +		return 0;
> +	}

The idiomatic way is to wrap your condition in the WARN_ON; i.e. 

if (WARN_ON(!r || !*r))
	return 0;

> +
> +	return *r == data;
> +}
> +
[..]
> +
> +/**
> + * devm_pinctrl_unregister() - Resource manager of pinctrl_unregister()
> + * @dev: device for which which resource was allocated
> + * @pctldev: the pinctrl device to unregister.
> + */
> +void devm_pinctrl_unregister(struct device *dev, struct pinctrl_dev *pctldev)
> +{
> +	int ret;
> +
> +	ret = devres_release(dev, devm_pinctrl_dev_release,
> +			     devm_pinctrl_dev_match, pctldev);
> +	if (!ret)
> +		WARN_ON(ret);

ret is unlikely to be non-zero in a code path only taken when ret is
zero.

Do either:

WARN_ON(devres_release(...));

rc = devres_release(..);
WARN_ON(rc);

> +}
> +EXPORT_SYMBOL_GPL(devm_pinctrl_unregister);
> +
>  static int __init pinctrl_init(void)
>  {
>  	pr_info("initialized pinctrl subsystem\n");
> diff --git a/include/linux/pinctrl/pinctrl.h b/include/linux/pinctrl/pinctrl.h
> index 9ba59fc..a42e57d 100644
> --- a/include/linux/pinctrl/pinctrl.h
> +++ b/include/linux/pinctrl/pinctrl.h
> @@ -144,6 +144,12 @@ struct pinctrl_desc {
>  extern struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
>  				struct device *dev, void *driver_data);
>  extern void pinctrl_unregister(struct pinctrl_dev *pctldev);
> +extern struct pinctrl_dev *devm_pinctrl_register(struct device *dev,
> +				struct pinctrl_desc *pctldesc,
> +				void *driver_data);
> +extern void devm_pinctrl_unregister(struct device *dev,
> +				struct pinctrl_dev *pctldev);
> +
>  extern bool pin_is_valid(struct pinctrl_dev *pctldev, int pin);
>  extern void pinctrl_add_gpio_range(struct pinctrl_dev *pctldev,
>  				struct pinctrl_gpio_range *range);

Apart from these style issues you have my ack.

Regards,
Bjorn

[toc] | [prev] | [next] | [standalone]


#1343216 — Re: [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}

FromPhilipp Zabel <p.zabel@pengutronix.de>
Date2016-02-25 15:50 +0100
SubjectRe: [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}
Message-ID<r65oS-5fy-17@gated-at.bofh.it>
In reply to#1341987
Hi Laxman,

Am Mittwoch, den 24.02.2016, 18:45 +0530 schrieb Laxman Dewangan:
> Add device managed APIs devm_pinctrl_register() and
> devm_pinctrl_unregister() for the APIs pinctrl_register()
> and pinctrl_unregister().
> 
> This helps in reducing code in error path and sometimes
> removal of .remove callback for driver unbind.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> ---
>  drivers/pinctrl/core.c          | 69 +++++++++++++++++++++++++++++++++++++++++
>  include/linux/pinctrl/pinctrl.h |  6 ++++
>  2 files changed, 75 insertions(+)
> 
> diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
> index 2686a44..ea4a7e6 100644
> --- a/drivers/pinctrl/core.c
> +++ b/drivers/pinctrl/core.c
> @@ -1861,6 +1861,75 @@ void pinctrl_unregister(struct pinctrl_dev *pctldev)
>  }
>  EXPORT_SYMBOL_GPL(pinctrl_unregister);
>  
> +static void devm_pinctrl_dev_release(struct device *dev, void *res)
> +{
> +	struct pinctrl_dev *pctldev = *(struct pinctrl_dev **)res;
> +
> +	pinctrl_unregister(pctldev);
> +}
> +
> +static int devm_pinctrl_dev_match(struct device *dev, void *res, void *data)
> +{
> +	struct pctldev **r = res;
> +
> +	if (!r || !*r) {
> +		WARN_ON(!r || !*r);
> +		return 0;
> +	}


This could be simplified to

	if (WARN_ON(!r || !*r))
		return 0;

> +
> +	return *r == data;
> +}
> +
> +/**
> + * devm_pinctrl_register() - Resource manager pinctrl_register()

Should that be "Resource managed" ?

> + * @dev: parent device for this pin controller
> + * @pctldesc: descriptor for this pin controller
> + * @driver_data: private pin controller data for this pin controller
> + *
> + * Returns an error pointer if pincontrol register failed. Otherwise
> + * it returns valid pinctrl handle.
> + *
> + * The pinctrl device will be automatically released when the device is unbound.
> + */
> +struct pinctrl_dev *devm_pinctrl_register(struct device *dev,
> +					  struct pinctrl_desc *pctldesc,
> +					  void *driver_data)
> +{
> +	struct pinctrl_dev **ptr, *pctldev;
> +
> +	ptr = devres_alloc(devm_pinctrl_dev_release, sizeof(*ptr), GFP_KERNEL);
> +	if (!ptr)
> +		return ERR_PTR(-ENOMEM);
> +
> +	pctldev = pinctrl_register(pctldesc, dev, driver_data);
> +	if (IS_ERR(pctldev)) {
> +		devres_free(ptr);
> +		return pctldev;
> +	}
> +
> +	*ptr = pctldev;
> +	devres_add(dev, ptr);
> +
> +	return pctldev;
> +}
> +EXPORT_SYMBOL_GPL(devm_pinctrl_register);
> +
> +/**
> + * devm_pinctrl_unregister() - Resource manager of pinctrl_unregister()

Should that be "Resource managed version of" ?

> + * @dev: device for which which resource was allocated
> + * @pctldev: the pinctrl device to unregister.
> + */
> +void devm_pinctrl_unregister(struct device *dev, struct pinctrl_dev *pctldev)
> +{
> +	int ret;
> +
> +	ret = devres_release(dev, devm_pinctrl_dev_release,
> +			     devm_pinctrl_dev_match, pctldev);
> +	if (!ret)
> +		WARN_ON(ret);
> +}
> +EXPORT_SYMBOL_GPL(devm_pinctrl_unregister);
> +
>  static int __init pinctrl_init(void)
>  {
>  	pr_info("initialized pinctrl subsystem\n");
> diff --git a/include/linux/pinctrl/pinctrl.h b/include/linux/pinctrl/pinctrl.h
> index 9ba59fc..a42e57d 100644
> --- a/include/linux/pinctrl/pinctrl.h
> +++ b/include/linux/pinctrl/pinctrl.h
> @@ -144,6 +144,12 @@ struct pinctrl_desc {
>  extern struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
>  				struct device *dev, void *driver_data);
>  extern void pinctrl_unregister(struct pinctrl_dev *pctldev);
> +extern struct pinctrl_dev *devm_pinctrl_register(struct device *dev,
> +				struct pinctrl_desc *pctldesc,
> +				void *driver_data);
> +extern void devm_pinctrl_unregister(struct device *dev,
> +				struct pinctrl_dev *pctldev);
> +
>  extern bool pin_is_valid(struct pinctrl_dev *pctldev, int pin);
>  extern void pinctrl_add_gpio_range(struct pinctrl_dev *pctldev,
>  				struct pinctrl_gpio_range *range);

With those addressed,
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

[toc] | [prev] | [next] | [standalone]


Page 1 of 5  [1] 2 3 4 5  Next page →

Back to top | Article view | linux.kernel


csiph-web