All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-24 13:15 ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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


^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-24 13:15 ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-24 13:15 ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	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;
+	}
+
+	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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	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;
+	}
+
+	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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 02/50] pinctrl: Add resource management devm_pinctrl_{register, unregister}
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15     ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, corbet-T1hC0tSOHrs,
	lee-DgEjT+Ai2ygdnm+yROfE0A
  Cc: linux-doc-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Add new member of devm wrappers for the pinctrl_register and
pinctrl_unregister in list of managed interfaces.

Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
 Documentation/driver-model/devres.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt
index 831a536..eed5e56 100644
--- a/Documentation/driver-model/devres.txt
+++ b/Documentation/driver-model/devres.txt
@@ -323,6 +323,8 @@ PHY
 PINCTRL
   devm_pinctrl_get()
   devm_pinctrl_put()
+  devm_pinctrl_register()
+  devm_pinctrl_unregister()
 
 PWM
   devm_pwm_get()
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 02/50] pinctrl: Add resource management devm_pinctrl_{register, unregister}
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Add new member of devm wrappers for the pinctrl_register and
pinctrl_unregister in list of managed interfaces.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 Documentation/driver-model/devres.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt
index 831a536..eed5e56 100644
--- a/Documentation/driver-model/devres.txt
+++ b/Documentation/driver-model/devres.txt
@@ -323,6 +323,8 @@ PHY
 PINCTRL
   devm_pinctrl_get()
   devm_pinctrl_put()
+  devm_pinctrl_register()
+  devm_pinctrl_unregister()
 
 PWM
   devm_pwm_get()
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 02/50] pinctrl: Add resource management devm_pinctrl_{register, unregister}
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Add new member of devm wrappers for the pinctrl_register and
pinctrl_unregister in list of managed interfaces.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 Documentation/driver-model/devres.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt
index 831a536..eed5e56 100644
--- a/Documentation/driver-model/devres.txt
+++ b/Documentation/driver-model/devres.txt
@@ -323,6 +323,8 @@ PHY
 PINCTRL
   devm_pinctrl_get()
   devm_pinctrl_put()
+  devm_pinctrl_register()
+  devm_pinctrl_unregister()
 
 PWM
   devm_pwm_get()
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Ray Jui

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Ray Jui

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 04/50] pinctrl: bcm2835: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15     ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, corbet-T1hC0tSOHrs,
	lee-DgEjT+Ai2ygdnm+yROfE0A
  Cc: linux-doc-u79uwXL29TY76Z2rM5mHXA, Ray Jui,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Ray Jui <rjui-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
---
 drivers/pinctrl/bcm/pinctrl-bcm2835.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
index 0f5997c..25bc4a2 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
@@ -1027,7 +1027,7 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
 		return err;
 	}
 
-	pc->pctl_dev = pinctrl_register(&bcm2835_pinctrl_desc, dev, pc);
+	pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc);
 	if (IS_ERR(pc->pctl_dev)) {
 		gpiochip_remove(&pc->gpio_chip);
 		return PTR_ERR(pc->pctl_dev);
@@ -1045,7 +1045,6 @@ static int bcm2835_pinctrl_remove(struct platform_device *pdev)
 {
 	struct bcm2835_pinctrl *pc = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(pc->pctl_dev);
 	gpiochip_remove(&pc->gpio_chip);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 04/50] pinctrl: bcm2835: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Ray Jui

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-bcm2835.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
index 0f5997c..25bc4a2 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
@@ -1027,7 +1027,7 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
 		return err;
 	}
 
-	pc->pctl_dev = pinctrl_register(&bcm2835_pinctrl_desc, dev, pc);
+	pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc);
 	if (IS_ERR(pc->pctl_dev)) {
 		gpiochip_remove(&pc->gpio_chip);
 		return PTR_ERR(pc->pctl_dev);
@@ -1045,7 +1045,6 @@ static int bcm2835_pinctrl_remove(struct platform_device *pdev)
 {
 	struct bcm2835_pinctrl *pc = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(pc->pctl_dev);
 	gpiochip_remove(&pc->gpio_chip);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 04/50] pinctrl: bcm2835: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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-bcm2835.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
index 0f5997c..25bc4a2 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
@@ -1027,7 +1027,7 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
 		return err;
 	}
 
-	pc->pctl_dev = pinctrl_register(&bcm2835_pinctrl_desc, dev, pc);
+	pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc);
 	if (IS_ERR(pc->pctl_dev)) {
 		gpiochip_remove(&pc->gpio_chip);
 		return PTR_ERR(pc->pctl_dev);
@@ -1045,7 +1045,6 @@ static int bcm2835_pinctrl_remove(struct platform_device *pdev)
 {
 	struct bcm2835_pinctrl *pc = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(pc->pctl_dev);
 	gpiochip_remove(&pc->gpio_chip);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 05/50] pinctrl: cygnus-mux: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Ray Jui, Scott Branden, Jon Mason

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Jon Mason <jonmason@broadcom.com>
---
 drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
index 9728f3d..9382a0a 100644
--- a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
+++ b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
@@ -987,7 +987,7 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
 	cygnus_pinctrl_desc.pins = pins;
 	cygnus_pinctrl_desc.npins = num_pins;
 
-	pinctrl->pctl = pinctrl_register(&cygnus_pinctrl_desc, &pdev->dev,
+	pinctrl->pctl = devm_pinctrl_register(&pdev->dev, &cygnus_pinctrl_desc,
 			pinctrl);
 	if (IS_ERR(pinctrl->pctl)) {
 		dev_err(&pdev->dev, "unable to register Cygnus IOMUX pinctrl\n");
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 05/50] pinctrl: cygnus-mux: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Ray Jui, Scott Branden, Jon Mason

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Jon Mason <jonmason@broadcom.com>
---
 drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
index 9728f3d..9382a0a 100644
--- a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
+++ b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
@@ -987,7 +987,7 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
 	cygnus_pinctrl_desc.pins = pins;
 	cygnus_pinctrl_desc.npins = num_pins;
 
-	pinctrl->pctl = pinctrl_register(&cygnus_pinctrl_desc, &pdev->dev,
+	pinctrl->pctl = devm_pinctrl_register(&pdev->dev, &cygnus_pinctrl_desc,
 			pinctrl);
 	if (IS_ERR(pinctrl->pctl)) {
 		dev_err(&pdev->dev, "unable to register Cygnus IOMUX pinctrl\n");
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 05/50] pinctrl: cygnus-mux: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Jon Mason <jonmason@broadcom.com>
---
 drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
index 9728f3d..9382a0a 100644
--- a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
+++ b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
@@ -987,7 +987,7 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
 	cygnus_pinctrl_desc.pins = pins;
 	cygnus_pinctrl_desc.npins = num_pins;
 
-	pinctrl->pctl = pinctrl_register(&cygnus_pinctrl_desc, &pdev->dev,
+	pinctrl->pctl = devm_pinctrl_register(&pdev->dev, &cygnus_pinctrl_desc,
 			pinctrl);
 	if (IS_ERR(pinctrl->pctl)) {
 		dev_err(&pdev->dev, "unable to register Cygnus IOMUX pinctrl\n");
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 06/50] pinctrl: iproc-gpio: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Ray Jui, Scott Branden, Jon Mason

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Jon Mason <jonmason@broadcom.com>
---
 drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
index d530ab4..e753af3 100644
--- a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
+++ b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
@@ -623,7 +623,7 @@ static int iproc_gpio_register_pinconf(struct iproc_gpio *chip)
 	pctldesc->npins = gc->ngpio;
 	pctldesc->confops = &iproc_pconf_ops;
 
-	chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
+	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
 	if (IS_ERR(chip->pctl)) {
 		dev_err(chip->dev, "unable to register pinctrl device\n");
 		return PTR_ERR(chip->pctl);
@@ -632,11 +632,6 @@ static int iproc_gpio_register_pinconf(struct iproc_gpio *chip)
 	return 0;
 }
 
-static void iproc_gpio_unregister_pinconf(struct iproc_gpio *chip)
-{
-	pinctrl_unregister(chip->pctl);
-}
-
 static const struct of_device_id iproc_gpio_of_match[] = {
 	{ .compatible = "brcm,cygnus-ccm-gpio" },
 	{ .compatible = "brcm,cygnus-asiu-gpio" },
@@ -720,7 +715,7 @@ static int iproc_gpio_probe(struct platform_device *pdev)
 					   handle_simple_irq, IRQ_TYPE_NONE);
 		if (ret) {
 			dev_err(dev, "no GPIO irqchip\n");
-			goto err_unregister_pinconf;
+			goto err_rm_gpiochip;
 		}
 
 		gpiochip_set_chained_irqchip(gc, &iproc_gpio_irq_chip, irq,
@@ -729,9 +724,6 @@ static int iproc_gpio_probe(struct platform_device *pdev)
 
 	return 0;
 
-err_unregister_pinconf:
-	iproc_gpio_unregister_pinconf(chip);
-
 err_rm_gpiochip:
 	gpiochip_remove(gc);
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 06/50] pinctrl: iproc-gpio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Ray Jui, Scott Branden, Jon Mason

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Jon Mason <jonmason@broadcom.com>
---
 drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
index d530ab4..e753af3 100644
--- a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
+++ b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
@@ -623,7 +623,7 @@ static int iproc_gpio_register_pinconf(struct iproc_gpio *chip)
 	pctldesc->npins = gc->ngpio;
 	pctldesc->confops = &iproc_pconf_ops;
 
-	chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
+	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
 	if (IS_ERR(chip->pctl)) {
 		dev_err(chip->dev, "unable to register pinctrl device\n");
 		return PTR_ERR(chip->pctl);
@@ -632,11 +632,6 @@ static int iproc_gpio_register_pinconf(struct iproc_gpio *chip)
 	return 0;
 }
 
-static void iproc_gpio_unregister_pinconf(struct iproc_gpio *chip)
-{
-	pinctrl_unregister(chip->pctl);
-}
-
 static const struct of_device_id iproc_gpio_of_match[] = {
 	{ .compatible = "brcm,cygnus-ccm-gpio" },
 	{ .compatible = "brcm,cygnus-asiu-gpio" },
@@ -720,7 +715,7 @@ static int iproc_gpio_probe(struct platform_device *pdev)
 					   handle_simple_irq, IRQ_TYPE_NONE);
 		if (ret) {
 			dev_err(dev, "no GPIO irqchip\n");
-			goto err_unregister_pinconf;
+			goto err_rm_gpiochip;
 		}
 
 		gpiochip_set_chained_irqchip(gc, &iproc_gpio_irq_chip, irq,
@@ -729,9 +724,6 @@ static int iproc_gpio_probe(struct platform_device *pdev)
 
 	return 0;
 
-err_unregister_pinconf:
-	iproc_gpio_unregister_pinconf(chip);
-
 err_rm_gpiochip:
 	gpiochip_remove(gc);
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 06/50] pinctrl: iproc-gpio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Jon Mason <jonmason@broadcom.com>
---
 drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
index d530ab4..e753af3 100644
--- a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
+++ b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
@@ -623,7 +623,7 @@ static int iproc_gpio_register_pinconf(struct iproc_gpio *chip)
 	pctldesc->npins = gc->ngpio;
 	pctldesc->confops = &iproc_pconf_ops;
 
-	chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
+	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
 	if (IS_ERR(chip->pctl)) {
 		dev_err(chip->dev, "unable to register pinctrl device\n");
 		return PTR_ERR(chip->pctl);
@@ -632,11 +632,6 @@ static int iproc_gpio_register_pinconf(struct iproc_gpio *chip)
 	return 0;
 }
 
-static void iproc_gpio_unregister_pinconf(struct iproc_gpio *chip)
-{
-	pinctrl_unregister(chip->pctl);
-}
-
 static const struct of_device_id iproc_gpio_of_match[] = {
 	{ .compatible = "brcm,cygnus-ccm-gpio" },
 	{ .compatible = "brcm,cygnus-asiu-gpio" },
@@ -720,7 +715,7 @@ static int iproc_gpio_probe(struct platform_device *pdev)
 					   handle_simple_irq, IRQ_TYPE_NONE);
 		if (ret) {
 			dev_err(dev, "no GPIO irqchip\n");
-			goto err_unregister_pinconf;
+			goto err_rm_gpiochip;
 		}
 
 		gpiochip_set_chained_irqchip(gc, &iproc_gpio_irq_chip, irq,
@@ -729,9 +724,6 @@ static int iproc_gpio_probe(struct platform_device *pdev)
 
 	return 0;
 
-err_unregister_pinconf:
-	iproc_gpio_unregister_pinconf(chip);
-
 err_rm_gpiochip:
 	gpiochip_remove(gc);
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 07/50] pinctrl: nsp-gpio: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Ray Jui, Scott Branden, Jon Mason

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Jon Mason <jonmason@broadcom.com>
---
 drivers/pinctrl/bcm/pinctrl-nsp-gpio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
index ac90043..2873f73 100644
--- a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
+++ b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
@@ -609,7 +609,7 @@ static int nsp_gpio_register_pinconf(struct nsp_gpio *chip)
 	pctldesc->npins = gc->ngpio;
 	pctldesc->confops = &nsp_pconf_ops;
 
-	chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
+	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
 	if (IS_ERR(chip->pctl)) {
 		dev_err(chip->dev, "unable to register pinctrl device\n");
 		return PTR_ERR(chip->pctl);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 07/50] pinctrl: nsp-gpio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Ray Jui, Scott Branden, Jon Mason

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Jon Mason <jonmason@broadcom.com>
---
 drivers/pinctrl/bcm/pinctrl-nsp-gpio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
index ac90043..2873f73 100644
--- a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
+++ b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
@@ -609,7 +609,7 @@ static int nsp_gpio_register_pinconf(struct nsp_gpio *chip)
 	pctldesc->npins = gc->ngpio;
 	pctldesc->confops = &nsp_pconf_ops;
 
-	chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
+	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
 	if (IS_ERR(chip->pctl)) {
 		dev_err(chip->dev, "unable to register pinctrl device\n");
 		return PTR_ERR(chip->pctl);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 07/50] pinctrl: nsp-gpio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Jon Mason <jonmason@broadcom.com>
---
 drivers/pinctrl/bcm/pinctrl-nsp-gpio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
index ac90043..2873f73 100644
--- a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
+++ b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
@@ -609,7 +609,7 @@ static int nsp_gpio_register_pinconf(struct nsp_gpio *chip)
 	pctldesc->npins = gc->ngpio;
 	pctldesc->confops = &nsp_pconf_ops;
 
-	chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
+	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
 	if (IS_ERR(chip->pctl)) {
 		dev_err(chip->dev, "unable to register pinctrl device\n");
 		return PTR_ERR(chip->pctl);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 08/50] pinctrl: berlin: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15     ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, corbet-T1hC0tSOHrs,
	lee-DgEjT+Ai2ygdnm+yROfE0A
  Cc: linux-doc-u79uwXL29TY76Z2rM5mHXA, Antoine Ténart,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Antoine Ténart <antoine.tenart@free-electrons.com>
---
 drivers/pinctrl/berlin/berlin.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
index 46f2b48..2d58166 100644
--- a/drivers/pinctrl/berlin/berlin.c
+++ b/drivers/pinctrl/berlin/berlin.c
@@ -316,7 +316,8 @@ int berlin_pinctrl_probe_regmap(struct platform_device *pdev,
 		return ret;
 	}
 
-	pctrl->pctrl_dev = pinctrl_register(&berlin_pctrl_desc, dev, pctrl);
+	pctrl->pctrl_dev = devm_pinctrl_register(dev, &berlin_pctrl_desc,
+						 pctrl);
 	if (IS_ERR(pctrl->pctrl_dev)) {
 		dev_err(dev, "failed to register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctrl_dev);
-- 
2.1.4


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 08/50] pinctrl: berlin: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Antoine Ténart

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Antoine Ténart <antoine.tenart@free-electrons.com>
---
 drivers/pinctrl/berlin/berlin.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
index 46f2b48..2d58166 100644
--- a/drivers/pinctrl/berlin/berlin.c
+++ b/drivers/pinctrl/berlin/berlin.c
@@ -316,7 +316,8 @@ int berlin_pinctrl_probe_regmap(struct platform_device *pdev,
 		return ret;
 	}
 
-	pctrl->pctrl_dev = pinctrl_register(&berlin_pctrl_desc, dev, pctrl);
+	pctrl->pctrl_dev = devm_pinctrl_register(dev, &berlin_pctrl_desc,
+						 pctrl);
 	if (IS_ERR(pctrl->pctrl_dev)) {
 		dev_err(dev, "failed to register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctrl_dev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 08/50] pinctrl: berlin: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Antoine T?nart <antoine.tenart@free-electrons.com>
---
 drivers/pinctrl/berlin/berlin.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
index 46f2b48..2d58166 100644
--- a/drivers/pinctrl/berlin/berlin.c
+++ b/drivers/pinctrl/berlin/berlin.c
@@ -316,7 +316,8 @@ int berlin_pinctrl_probe_regmap(struct platform_device *pdev,
 		return ret;
 	}
 
-	pctrl->pctrl_dev = pinctrl_register(&berlin_pctrl_desc, dev, pctrl);
+	pctrl->pctrl_dev = devm_pinctrl_register(dev, &berlin_pctrl_desc,
+						 pctrl);
 	if (IS_ERR(pctrl->pctrl_dev)) {
 		dev_err(dev, "failed to register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctrl_dev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 09/50] pinctrl: imx: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Shawn Guo, Stefan Agner, Adrian Alonso,
	Uwe Kleine-König

Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Adrian Alonso <aalonso@freescale.com>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/pinctrl/freescale/pinctrl-imx.c    | 11 +----------
 drivers/pinctrl/freescale/pinctrl-imx.h    |  1 -
 drivers/pinctrl/freescale/pinctrl-imx25.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 -
 14 files changed, 1 insertion(+), 23 deletions(-)

diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
index 4c435cf..c231874 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx.c
@@ -780,7 +780,7 @@ int imx_pinctrl_probe(struct platform_device *pdev,
 	ipctl->info = info;
 	ipctl->dev = info->dev;
 	platform_set_drvdata(pdev, ipctl);
-	ipctl->pctl = pinctrl_register(&imx_pinctrl_desc, &pdev->dev, ipctl);
+	ipctl->pctl = devm_pinctrl_register(&pdev->dev, &imx_pinctrl_desc, ipctl);
 	if (IS_ERR(ipctl->pctl)) {
 		dev_err(&pdev->dev, "could not register IMX pinctrl driver\n");
 		return PTR_ERR(ipctl->pctl);
@@ -790,12 +790,3 @@ int imx_pinctrl_probe(struct platform_device *pdev,
 
 	return 0;
 }
-
-int imx_pinctrl_remove(struct platform_device *pdev)
-{
-	struct imx_pinctrl *ipctl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(ipctl->pctl);
-
-	return 0;
-}
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.h b/drivers/pinctrl/freescale/pinctrl-imx.h
index 2a592f6..7bbb6ed 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.h
+++ b/drivers/pinctrl/freescale/pinctrl-imx.h
@@ -98,5 +98,4 @@ struct imx_pinctrl_soc_info {
 
 int imx_pinctrl_probe(struct platform_device *pdev,
 			struct imx_pinctrl_soc_info *info);
-int imx_pinctrl_remove(struct platform_device *pdev);
 #endif /* __DRIVERS_PINCTRL_IMX_H */
diff --git a/drivers/pinctrl/freescale/pinctrl-imx25.c b/drivers/pinctrl/freescale/pinctrl-imx25.c
index 293ed43..81ad546 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx25.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx25.c
@@ -331,7 +331,6 @@ static struct platform_driver imx25_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx25_pinctrl_of_match),
 	},
 	.probe = imx25_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx25_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx35.c b/drivers/pinctrl/freescale/pinctrl-imx35.c
index 9109c10..13eb224 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx35.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx35.c
@@ -1021,7 +1021,6 @@ static struct platform_driver imx35_pinctrl_driver = {
 		.of_match_table = imx35_pinctrl_of_match,
 	},
 	.probe = imx35_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx35_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx50.c b/drivers/pinctrl/freescale/pinctrl-imx50.c
index 51b31df..742c378 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx50.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx50.c
@@ -407,7 +407,6 @@ static struct platform_driver imx50_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx50_pinctrl_of_match),
 	},
 	.probe = imx50_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx50_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx51.c b/drivers/pinctrl/freescale/pinctrl-imx51.c
index 8dec494..0863e527 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx51.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx51.c
@@ -784,7 +784,6 @@ static struct platform_driver imx51_pinctrl_driver = {
 		.of_match_table = imx51_pinctrl_of_match,
 	},
 	.probe = imx51_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx51_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx53.c b/drivers/pinctrl/freescale/pinctrl-imx53.c
index 7344d34..898e387 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx53.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx53.c
@@ -470,7 +470,6 @@ static struct platform_driver imx53_pinctrl_driver = {
 		.of_match_table = imx53_pinctrl_of_match,
 	},
 	.probe = imx53_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx53_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6dl.c b/drivers/pinctrl/freescale/pinctrl-imx6dl.c
index 6805c67..d1bc3d9 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6dl.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6dl.c
@@ -476,7 +476,6 @@ static struct platform_driver imx6dl_pinctrl_driver = {
 		.of_match_table = imx6dl_pinctrl_of_match,
 	},
 	.probe = imx6dl_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6dl_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6q.c b/drivers/pinctrl/freescale/pinctrl-imx6q.c
index 4d1fcb8..b6d19fb 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6q.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6q.c
@@ -482,7 +482,6 @@ static struct platform_driver imx6q_pinctrl_driver = {
 		.of_match_table = imx6q_pinctrl_of_match,
 	},
 	.probe = imx6q_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6q_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6sl.c b/drivers/pinctrl/freescale/pinctrl-imx6sl.c
index 83fa5f1..b165a82 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6sl.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6sl.c
@@ -383,7 +383,6 @@ static struct platform_driver imx6sl_pinctrl_driver = {
 		.of_match_table = imx6sl_pinctrl_of_match,
 	},
 	.probe = imx6sl_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6sl_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6sx.c b/drivers/pinctrl/freescale/pinctrl-imx6sx.c
index 0d78fe6..c66d37d 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6sx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6sx.c
@@ -386,7 +386,6 @@ static struct platform_driver imx6sx_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx6sx_pinctrl_of_match),
 	},
 	.probe = imx6sx_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6sx_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6ul.c b/drivers/pinctrl/freescale/pinctrl-imx6ul.c
index 08e7576..2bfd7e8 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6ul.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6ul.c
@@ -302,7 +302,6 @@ static struct platform_driver imx6ul_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx6ul_pinctrl_of_match),
 	},
 	.probe = imx6ul_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6ul_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx7d.c b/drivers/pinctrl/freescale/pinctrl-imx7d.c
index 16dc925..ebb39a0 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx7d.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx7d.c
@@ -394,7 +394,6 @@ static struct platform_driver imx7d_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx7d_pinctrl_of_match),
 	},
 	.probe = imx7d_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx7d_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-vf610.c b/drivers/pinctrl/freescale/pinctrl-vf610.c
index 587d1ff..6d81be0 100644
--- a/drivers/pinctrl/freescale/pinctrl-vf610.c
+++ b/drivers/pinctrl/freescale/pinctrl-vf610.c
@@ -318,7 +318,6 @@ static struct platform_driver vf610_pinctrl_driver = {
 		.of_match_table = vf610_pinctrl_of_match,
 	},
 	.probe = vf610_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init vf610_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 09/50] pinctrl: imx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Shawn Guo, Stefan Agner, Adrian Alonso,
	Uwe Kleine-König

Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Adrian Alonso <aalonso@freescale.com>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/pinctrl/freescale/pinctrl-imx.c    | 11 +----------
 drivers/pinctrl/freescale/pinctrl-imx.h    |  1 -
 drivers/pinctrl/freescale/pinctrl-imx25.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 -
 14 files changed, 1 insertion(+), 23 deletions(-)

diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
index 4c435cf..c231874 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx.c
@@ -780,7 +780,7 @@ int imx_pinctrl_probe(struct platform_device *pdev,
 	ipctl->info = info;
 	ipctl->dev = info->dev;
 	platform_set_drvdata(pdev, ipctl);
-	ipctl->pctl = pinctrl_register(&imx_pinctrl_desc, &pdev->dev, ipctl);
+	ipctl->pctl = devm_pinctrl_register(&pdev->dev, &imx_pinctrl_desc, ipctl);
 	if (IS_ERR(ipctl->pctl)) {
 		dev_err(&pdev->dev, "could not register IMX pinctrl driver\n");
 		return PTR_ERR(ipctl->pctl);
@@ -790,12 +790,3 @@ int imx_pinctrl_probe(struct platform_device *pdev,
 
 	return 0;
 }
-
-int imx_pinctrl_remove(struct platform_device *pdev)
-{
-	struct imx_pinctrl *ipctl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(ipctl->pctl);
-
-	return 0;
-}
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.h b/drivers/pinctrl/freescale/pinctrl-imx.h
index 2a592f6..7bbb6ed 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.h
+++ b/drivers/pinctrl/freescale/pinctrl-imx.h
@@ -98,5 +98,4 @@ struct imx_pinctrl_soc_info {
 
 int imx_pinctrl_probe(struct platform_device *pdev,
 			struct imx_pinctrl_soc_info *info);
-int imx_pinctrl_remove(struct platform_device *pdev);
 #endif /* __DRIVERS_PINCTRL_IMX_H */
diff --git a/drivers/pinctrl/freescale/pinctrl-imx25.c b/drivers/pinctrl/freescale/pinctrl-imx25.c
index 293ed43..81ad546 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx25.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx25.c
@@ -331,7 +331,6 @@ static struct platform_driver imx25_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx25_pinctrl_of_match),
 	},
 	.probe = imx25_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx25_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx35.c b/drivers/pinctrl/freescale/pinctrl-imx35.c
index 9109c10..13eb224 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx35.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx35.c
@@ -1021,7 +1021,6 @@ static struct platform_driver imx35_pinctrl_driver = {
 		.of_match_table = imx35_pinctrl_of_match,
 	},
 	.probe = imx35_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx35_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx50.c b/drivers/pinctrl/freescale/pinctrl-imx50.c
index 51b31df..742c378 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx50.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx50.c
@@ -407,7 +407,6 @@ static struct platform_driver imx50_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx50_pinctrl_of_match),
 	},
 	.probe = imx50_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx50_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx51.c b/drivers/pinctrl/freescale/pinctrl-imx51.c
index 8dec494..0863e527 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx51.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx51.c
@@ -784,7 +784,6 @@ static struct platform_driver imx51_pinctrl_driver = {
 		.of_match_table = imx51_pinctrl_of_match,
 	},
 	.probe = imx51_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx51_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx53.c b/drivers/pinctrl/freescale/pinctrl-imx53.c
index 7344d34..898e387 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx53.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx53.c
@@ -470,7 +470,6 @@ static struct platform_driver imx53_pinctrl_driver = {
 		.of_match_table = imx53_pinctrl_of_match,
 	},
 	.probe = imx53_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx53_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6dl.c b/drivers/pinctrl/freescale/pinctrl-imx6dl.c
index 6805c67..d1bc3d9 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6dl.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6dl.c
@@ -476,7 +476,6 @@ static struct platform_driver imx6dl_pinctrl_driver = {
 		.of_match_table = imx6dl_pinctrl_of_match,
 	},
 	.probe = imx6dl_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6dl_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6q.c b/drivers/pinctrl/freescale/pinctrl-imx6q.c
index 4d1fcb8..b6d19fb 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6q.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6q.c
@@ -482,7 +482,6 @@ static struct platform_driver imx6q_pinctrl_driver = {
 		.of_match_table = imx6q_pinctrl_of_match,
 	},
 	.probe = imx6q_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6q_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6sl.c b/drivers/pinctrl/freescale/pinctrl-imx6sl.c
index 83fa5f1..b165a82 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6sl.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6sl.c
@@ -383,7 +383,6 @@ static struct platform_driver imx6sl_pinctrl_driver = {
 		.of_match_table = imx6sl_pinctrl_of_match,
 	},
 	.probe = imx6sl_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6sl_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6sx.c b/drivers/pinctrl/freescale/pinctrl-imx6sx.c
index 0d78fe6..c66d37d 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6sx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6sx.c
@@ -386,7 +386,6 @@ static struct platform_driver imx6sx_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx6sx_pinctrl_of_match),
 	},
 	.probe = imx6sx_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6sx_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6ul.c b/drivers/pinctrl/freescale/pinctrl-imx6ul.c
index 08e7576..2bfd7e8 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6ul.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6ul.c
@@ -302,7 +302,6 @@ static struct platform_driver imx6ul_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx6ul_pinctrl_of_match),
 	},
 	.probe = imx6ul_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6ul_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx7d.c b/drivers/pinctrl/freescale/pinctrl-imx7d.c
index 16dc925..ebb39a0 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx7d.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx7d.c
@@ -394,7 +394,6 @@ static struct platform_driver imx7d_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx7d_pinctrl_of_match),
 	},
 	.probe = imx7d_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx7d_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-vf610.c b/drivers/pinctrl/freescale/pinctrl-vf610.c
index 587d1ff..6d81be0 100644
--- a/drivers/pinctrl/freescale/pinctrl-vf610.c
+++ b/drivers/pinctrl/freescale/pinctrl-vf610.c
@@ -318,7 +318,6 @@ static struct platform_driver vf610_pinctrl_driver = {
 		.of_match_table = vf610_pinctrl_of_match,
 	},
 	.probe = vf610_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init vf610_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 09/50] pinctrl: imx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Adrian Alonso <aalonso@freescale.com>
Cc: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
---
 drivers/pinctrl/freescale/pinctrl-imx.c    | 11 +----------
 drivers/pinctrl/freescale/pinctrl-imx.h    |  1 -
 drivers/pinctrl/freescale/pinctrl-imx25.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 -
 14 files changed, 1 insertion(+), 23 deletions(-)

diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
index 4c435cf..c231874 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx.c
@@ -780,7 +780,7 @@ int imx_pinctrl_probe(struct platform_device *pdev,
 	ipctl->info = info;
 	ipctl->dev = info->dev;
 	platform_set_drvdata(pdev, ipctl);
-	ipctl->pctl = pinctrl_register(&imx_pinctrl_desc, &pdev->dev, ipctl);
+	ipctl->pctl = devm_pinctrl_register(&pdev->dev, &imx_pinctrl_desc, ipctl);
 	if (IS_ERR(ipctl->pctl)) {
 		dev_err(&pdev->dev, "could not register IMX pinctrl driver\n");
 		return PTR_ERR(ipctl->pctl);
@@ -790,12 +790,3 @@ int imx_pinctrl_probe(struct platform_device *pdev,
 
 	return 0;
 }
-
-int imx_pinctrl_remove(struct platform_device *pdev)
-{
-	struct imx_pinctrl *ipctl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(ipctl->pctl);
-
-	return 0;
-}
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.h b/drivers/pinctrl/freescale/pinctrl-imx.h
index 2a592f6..7bbb6ed 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.h
+++ b/drivers/pinctrl/freescale/pinctrl-imx.h
@@ -98,5 +98,4 @@ struct imx_pinctrl_soc_info {
 
 int imx_pinctrl_probe(struct platform_device *pdev,
 			struct imx_pinctrl_soc_info *info);
-int imx_pinctrl_remove(struct platform_device *pdev);
 #endif /* __DRIVERS_PINCTRL_IMX_H */
diff --git a/drivers/pinctrl/freescale/pinctrl-imx25.c b/drivers/pinctrl/freescale/pinctrl-imx25.c
index 293ed43..81ad546 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx25.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx25.c
@@ -331,7 +331,6 @@ static struct platform_driver imx25_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx25_pinctrl_of_match),
 	},
 	.probe = imx25_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx25_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx35.c b/drivers/pinctrl/freescale/pinctrl-imx35.c
index 9109c10..13eb224 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx35.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx35.c
@@ -1021,7 +1021,6 @@ static struct platform_driver imx35_pinctrl_driver = {
 		.of_match_table = imx35_pinctrl_of_match,
 	},
 	.probe = imx35_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx35_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx50.c b/drivers/pinctrl/freescale/pinctrl-imx50.c
index 51b31df..742c378 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx50.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx50.c
@@ -407,7 +407,6 @@ static struct platform_driver imx50_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx50_pinctrl_of_match),
 	},
 	.probe = imx50_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx50_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx51.c b/drivers/pinctrl/freescale/pinctrl-imx51.c
index 8dec494..0863e527 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx51.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx51.c
@@ -784,7 +784,6 @@ static struct platform_driver imx51_pinctrl_driver = {
 		.of_match_table = imx51_pinctrl_of_match,
 	},
 	.probe = imx51_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx51_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx53.c b/drivers/pinctrl/freescale/pinctrl-imx53.c
index 7344d34..898e387 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx53.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx53.c
@@ -470,7 +470,6 @@ static struct platform_driver imx53_pinctrl_driver = {
 		.of_match_table = imx53_pinctrl_of_match,
 	},
 	.probe = imx53_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx53_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6dl.c b/drivers/pinctrl/freescale/pinctrl-imx6dl.c
index 6805c67..d1bc3d9 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6dl.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6dl.c
@@ -476,7 +476,6 @@ static struct platform_driver imx6dl_pinctrl_driver = {
 		.of_match_table = imx6dl_pinctrl_of_match,
 	},
 	.probe = imx6dl_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6dl_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6q.c b/drivers/pinctrl/freescale/pinctrl-imx6q.c
index 4d1fcb8..b6d19fb 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6q.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6q.c
@@ -482,7 +482,6 @@ static struct platform_driver imx6q_pinctrl_driver = {
 		.of_match_table = imx6q_pinctrl_of_match,
 	},
 	.probe = imx6q_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6q_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6sl.c b/drivers/pinctrl/freescale/pinctrl-imx6sl.c
index 83fa5f1..b165a82 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6sl.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6sl.c
@@ -383,7 +383,6 @@ static struct platform_driver imx6sl_pinctrl_driver = {
 		.of_match_table = imx6sl_pinctrl_of_match,
 	},
 	.probe = imx6sl_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6sl_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6sx.c b/drivers/pinctrl/freescale/pinctrl-imx6sx.c
index 0d78fe6..c66d37d 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6sx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6sx.c
@@ -386,7 +386,6 @@ static struct platform_driver imx6sx_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx6sx_pinctrl_of_match),
 	},
 	.probe = imx6sx_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6sx_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx6ul.c b/drivers/pinctrl/freescale/pinctrl-imx6ul.c
index 08e7576..2bfd7e8 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx6ul.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx6ul.c
@@ -302,7 +302,6 @@ static struct platform_driver imx6ul_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx6ul_pinctrl_of_match),
 	},
 	.probe = imx6ul_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx6ul_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx7d.c b/drivers/pinctrl/freescale/pinctrl-imx7d.c
index 16dc925..ebb39a0 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx7d.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx7d.c
@@ -394,7 +394,6 @@ static struct platform_driver imx7d_pinctrl_driver = {
 		.of_match_table = of_match_ptr(imx7d_pinctrl_of_match),
 	},
 	.probe = imx7d_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init imx7d_pinctrl_init(void)
diff --git a/drivers/pinctrl/freescale/pinctrl-vf610.c b/drivers/pinctrl/freescale/pinctrl-vf610.c
index 587d1ff..6d81be0 100644
--- a/drivers/pinctrl/freescale/pinctrl-vf610.c
+++ b/drivers/pinctrl/freescale/pinctrl-vf610.c
@@ -318,7 +318,6 @@ static struct platform_driver vf610_pinctrl_driver = {
 		.of_match_table = vf610_pinctrl_of_match,
 	},
 	.probe = vf610_pinctrl_probe,
-	.remove = imx_pinctrl_remove,
 };
 
 static int __init vf610_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 10/50] pinctrl: imxl: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Hongzhou Yang, Antoine Tenart, Heiko Stuebner

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 10/50] pinctrl: imxl: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Hongzhou Yang, Antoine Tenart, Heiko Stuebner

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 10/50] pinctrl: imxl: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 11/50] pinctrl: cherryview: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15     ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, corbet-T1hC0tSOHrs,
	lee-DgEjT+Ai2ygdnm+yROfE0A
  Cc: Heikki Krogerus, linux-doc-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Mika Westerberg,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Mika Westerberg <mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Cc: Heikki Krogerus <heikki.krogerus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
---
 drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
index 4251e07..1152b8a 100644
--- a/drivers/pinctrl/intel/pinctrl-cherryview.c
+++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
@@ -1526,7 +1526,8 @@ static int chv_pinctrl_probe(struct platform_device *pdev)
 	pctrl->pctldesc.pins = pctrl->community->pins;
 	pctrl->pctldesc.npins = pctrl->community->npins;
 
-	pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
+	pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
+					       pctrl);
 	if (IS_ERR(pctrl->pctldev)) {
 		dev_err(&pdev->dev, "failed to register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctldev);
@@ -1548,7 +1549,6 @@ static int chv_pinctrl_remove(struct platform_device *pdev)
 	struct chv_pinctrl *pctrl = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&pctrl->chip);
-	pinctrl_unregister(pctrl->pctldev);
 
 	return 0;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 11/50] pinctrl: cherryview: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Mika Westerberg, Heikki Krogerus

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
 drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
index 4251e07..1152b8a 100644
--- a/drivers/pinctrl/intel/pinctrl-cherryview.c
+++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
@@ -1526,7 +1526,8 @@ static int chv_pinctrl_probe(struct platform_device *pdev)
 	pctrl->pctldesc.pins = pctrl->community->pins;
 	pctrl->pctldesc.npins = pctrl->community->npins;
 
-	pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
+	pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
+					       pctrl);
 	if (IS_ERR(pctrl->pctldev)) {
 		dev_err(&pdev->dev, "failed to register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctldev);
@@ -1548,7 +1549,6 @@ static int chv_pinctrl_remove(struct platform_device *pdev)
 	struct chv_pinctrl *pctrl = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&pctrl->chip);
-	pinctrl_unregister(pctrl->pctldev);
 
 	return 0;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 11/50] pinctrl: cherryview: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
 drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
index 4251e07..1152b8a 100644
--- a/drivers/pinctrl/intel/pinctrl-cherryview.c
+++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
@@ -1526,7 +1526,8 @@ static int chv_pinctrl_probe(struct platform_device *pdev)
 	pctrl->pctldesc.pins = pctrl->community->pins;
 	pctrl->pctldesc.npins = pctrl->community->npins;
 
-	pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
+	pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
+					       pctrl);
 	if (IS_ERR(pctrl->pctldev)) {
 		dev_err(&pdev->dev, "failed to register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctldev);
@@ -1548,7 +1549,6 @@ static int chv_pinctrl_remove(struct platform_device *pdev)
 	struct chv_pinctrl *pctrl = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&pctrl->chip);
-	pinctrl_unregister(pctrl->pctldev);
 
 	return 0;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 12/50] pinctrl: intel: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Mika Westerberg, Heikki Krogerus

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
 drivers/pinctrl/intel/pinctrl-intel.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
index 85536b4..27bb21b 100644
--- a/drivers/pinctrl/intel/pinctrl-intel.c
+++ b/drivers/pinctrl/intel/pinctrl-intel.c
@@ -1014,7 +1014,8 @@ int intel_pinctrl_probe(struct platform_device *pdev,
 	pctrl->pctldesc.pins = pctrl->soc->pins;
 	pctrl->pctldesc.npins = pctrl->soc->npins;
 
-	pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
+	pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
+					       pctrl);
 	if (IS_ERR(pctrl->pctldev)) {
 		dev_err(&pdev->dev, "failed to register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctldev);
@@ -1037,7 +1038,6 @@ int intel_pinctrl_remove(struct platform_device *pdev)
 	struct intel_pinctrl *pctrl = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&pctrl->chip);
-	pinctrl_unregister(pctrl->pctldev);
 
 	return 0;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 12/50] pinctrl: intel: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Mika Westerberg, Heikki Krogerus

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
 drivers/pinctrl/intel/pinctrl-intel.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
index 85536b4..27bb21b 100644
--- a/drivers/pinctrl/intel/pinctrl-intel.c
+++ b/drivers/pinctrl/intel/pinctrl-intel.c
@@ -1014,7 +1014,8 @@ int intel_pinctrl_probe(struct platform_device *pdev,
 	pctrl->pctldesc.pins = pctrl->soc->pins;
 	pctrl->pctldesc.npins = pctrl->soc->npins;
 
-	pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
+	pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
+					       pctrl);
 	if (IS_ERR(pctrl->pctldev)) {
 		dev_err(&pdev->dev, "failed to register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctldev);
@@ -1037,7 +1038,6 @@ int intel_pinctrl_remove(struct platform_device *pdev)
 	struct intel_pinctrl *pctrl = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&pctrl->chip);
-	pinctrl_unregister(pctrl->pctldev);
 
 	return 0;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 12/50] pinctrl: intel: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
 drivers/pinctrl/intel/pinctrl-intel.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
index 85536b4..27bb21b 100644
--- a/drivers/pinctrl/intel/pinctrl-intel.c
+++ b/drivers/pinctrl/intel/pinctrl-intel.c
@@ -1014,7 +1014,8 @@ int intel_pinctrl_probe(struct platform_device *pdev,
 	pctrl->pctldesc.pins = pctrl->soc->pins;
 	pctrl->pctldesc.npins = pctrl->soc->npins;
 
-	pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
+	pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
+					       pctrl);
 	if (IS_ERR(pctrl->pctldev)) {
 		dev_err(&pdev->dev, "failed to register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctldev);
@@ -1037,7 +1038,6 @@ int intel_pinctrl_remove(struct platform_device *pdev)
 	struct intel_pinctrl *pctrl = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&pctrl->chip);
-	pinctrl_unregister(pctrl->pctldev);
 
 	return 0;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Matthias Brugger, Hongzhou Yang, Yingjoe Chen

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
---
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index ddc9217..194413d 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -1390,17 +1390,16 @@ int mtk_pctrl_init(struct platform_device *pdev,
 	pctl->pctl_desc.pmxops = &mtk_pmx_ops;
 	pctl->dev = &pdev->dev;
 
-	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
+					       pctl);
 	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
 		return PTR_ERR(pctl->pctl_dev);
 	}
 
 	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
-	if (!pctl->chip) {
-		ret = -ENOMEM;
-		goto pctrl_error;
-	}
+	if (!pctl->chip)
+		return -ENOMEM;
 
 	*pctl->chip = mtk_gpio_chip;
 	pctl->chip->ngpio = pctl->devdata->npins;
@@ -1409,10 +1408,8 @@ int mtk_pctrl_init(struct platform_device *pdev,
 	pctl->chip->base = -1;
 
 	ret = gpiochip_add_data(pctl->chip, pctl);
-	if (ret) {
-		ret = -EINVAL;
-		goto pctrl_error;
-	}
+	if (ret)
+		return -EINVAL;
 
 	/* Register the GPIO to pin mappings. */
 	ret = gpiochip_add_pin_range(pctl->chip, dev_name(&pdev->dev),
@@ -1490,8 +1487,6 @@ int mtk_pctrl_init(struct platform_device *pdev,
 
 chip_error:
 	gpiochip_remove(pctl->chip);
-pctrl_error:
-	pinctrl_unregister(pctl->pctl_dev);
 	return ret;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Matthias Brugger, Hongzhou Yang, Yingjoe Chen

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
---
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index ddc9217..194413d 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -1390,17 +1390,16 @@ int mtk_pctrl_init(struct platform_device *pdev,
 	pctl->pctl_desc.pmxops = &mtk_pmx_ops;
 	pctl->dev = &pdev->dev;
 
-	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
+					       pctl);
 	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
 		return PTR_ERR(pctl->pctl_dev);
 	}
 
 	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
-	if (!pctl->chip) {
-		ret = -ENOMEM;
-		goto pctrl_error;
-	}
+	if (!pctl->chip)
+		return -ENOMEM;
 
 	*pctl->chip = mtk_gpio_chip;
 	pctl->chip->ngpio = pctl->devdata->npins;
@@ -1409,10 +1408,8 @@ int mtk_pctrl_init(struct platform_device *pdev,
 	pctl->chip->base = -1;
 
 	ret = gpiochip_add_data(pctl->chip, pctl);
-	if (ret) {
-		ret = -EINVAL;
-		goto pctrl_error;
-	}
+	if (ret)
+		return -EINVAL;
 
 	/* Register the GPIO to pin mappings. */
 	ret = gpiochip_add_pin_range(pctl->chip, dev_name(&pdev->dev),
@@ -1490,8 +1487,6 @@ int mtk_pctrl_init(struct platform_device *pdev,
 
 chip_error:
 	gpiochip_remove(pctl->chip);
-pctrl_error:
-	pinctrl_unregister(pctl->pctl_dev);
 	return ret;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
---
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index ddc9217..194413d 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -1390,17 +1390,16 @@ int mtk_pctrl_init(struct platform_device *pdev,
 	pctl->pctl_desc.pmxops = &mtk_pmx_ops;
 	pctl->dev = &pdev->dev;
 
-	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
+					       pctl);
 	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
 		return PTR_ERR(pctl->pctl_dev);
 	}
 
 	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
-	if (!pctl->chip) {
-		ret = -ENOMEM;
-		goto pctrl_error;
-	}
+	if (!pctl->chip)
+		return -ENOMEM;
 
 	*pctl->chip = mtk_gpio_chip;
 	pctl->chip->ngpio = pctl->devdata->npins;
@@ -1409,10 +1408,8 @@ int mtk_pctrl_init(struct platform_device *pdev,
 	pctl->chip->base = -1;
 
 	ret = gpiochip_add_data(pctl->chip, pctl);
-	if (ret) {
-		ret = -EINVAL;
-		goto pctrl_error;
-	}
+	if (ret)
+		return -EINVAL;
 
 	/* Register the GPIO to pin mappings. */
 	ret = gpiochip_add_pin_range(pctl->chip, dev_name(&pdev->dev),
@@ -1490,8 +1487,6 @@ int mtk_pctrl_init(struct platform_device *pdev,
 
 chip_error:
 	gpiochip_remove(pctl->chip);
-pctrl_error:
-	pinctrl_unregister(pctl->pctl_dev);
 	return ret;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 14/50] pinctrl: meson: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Carlo Caione, Beniamino Galvani, Lee Jones

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Carlo Caione <carlo@endlessm.com>
Cc: Beniamino Galvani <b.galvani@gmail.com>
Cc: Lee Jones <lee.jones@linaro.org>
---
 drivers/pinctrl/meson/pinctrl-meson.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index 50cab27..9e1247f 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -732,7 +732,7 @@ static int meson_pinctrl_probe(struct platform_device *pdev)
 	pc->desc.pins		= pc->data->pins;
 	pc->desc.npins		= pc->data->num_pins;
 
-	pc->pcdev = pinctrl_register(&pc->desc, pc->dev, pc);
+	pc->pcdev = devm_pinctrl_register(pc->dev, &pc->desc, pc);
 	if (IS_ERR(pc->pcdev)) {
 		dev_err(pc->dev, "can't register pinctrl device");
 		return PTR_ERR(pc->pcdev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 14/50] pinctrl: meson: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Carlo Caione, Beniamino Galvani, Lee Jones

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Carlo Caione <carlo@endlessm.com>
Cc: Beniamino Galvani <b.galvani@gmail.com>
Cc: Lee Jones <lee.jones@linaro.org>
---
 drivers/pinctrl/meson/pinctrl-meson.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index 50cab27..9e1247f 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -732,7 +732,7 @@ static int meson_pinctrl_probe(struct platform_device *pdev)
 	pc->desc.pins		= pc->data->pins;
 	pc->desc.npins		= pc->data->num_pins;
 
-	pc->pcdev = pinctrl_register(&pc->desc, pc->dev, pc);
+	pc->pcdev = devm_pinctrl_register(pc->dev, &pc->desc, pc);
 	if (IS_ERR(pc->pcdev)) {
 		dev_err(pc->dev, "can't register pinctrl device");
 		return PTR_ERR(pc->pcdev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 14/50] pinctrl: meson: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Carlo Caione <carlo@endlessm.com>
Cc: Beniamino Galvani <b.galvani@gmail.com>
Cc: Lee Jones <lee.jones@linaro.org>
---
 drivers/pinctrl/meson/pinctrl-meson.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index 50cab27..9e1247f 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -732,7 +732,7 @@ static int meson_pinctrl_probe(struct platform_device *pdev)
 	pc->desc.pins		= pc->data->pins;
 	pc->desc.npins		= pc->data->num_pins;
 
-	pc->pcdev = pinctrl_register(&pc->desc, pc->dev, pc);
+	pc->pcdev = devm_pinctrl_register(pc->dev, &pc->desc, pc);
 	if (IS_ERR(pc->pcdev)) {
 		dev_err(pc->dev, "can't register pinctrl device");
 		return PTR_ERR(pc->pcdev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Thomas Petazzoni, Hongzhou Yang,
	Fabian Frederick, Andrew Andrianov

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Thomas Petazzoni, Hongzhou Yang,
	Fabian Frederick, Andrew Andrianov

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 16/50] pinctrl: nomadic: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Alessandro Rubini

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Alessandro Rubini <rubini@unipv.it>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/pinctrl/nomadik/pinctrl-abx500.c  | 3 ++-
 drivers/pinctrl/nomadik/pinctrl-nomadik.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/nomadik/pinctrl-abx500.c b/drivers/pinctrl/nomadik/pinctrl-abx500.c
index 1f7469c..d488124 100644
--- a/drivers/pinctrl/nomadik/pinctrl-abx500.c
+++ b/drivers/pinctrl/nomadik/pinctrl-abx500.c
@@ -1212,7 +1212,8 @@ static int abx500_gpio_probe(struct platform_device *pdev)
 
 	abx500_pinctrl_desc.pins = pct->soc->pins;
 	abx500_pinctrl_desc.npins = pct->soc->npins;
-	pct->pctldev = pinctrl_register(&abx500_pinctrl_desc, &pdev->dev, pct);
+	pct->pctldev = devm_pinctrl_register(&pdev->dev, &abx500_pinctrl_desc,
+					     pct);
 	if (IS_ERR(pct->pctldev)) {
 		dev_err(&pdev->dev,
 			"could not register abx500 pinctrl driver\n");
diff --git a/drivers/pinctrl/nomadik/pinctrl-nomadik.c b/drivers/pinctrl/nomadik/pinctrl-nomadik.c
index 3524061..ca5e9ea 100644
--- a/drivers/pinctrl/nomadik/pinctrl-nomadik.c
+++ b/drivers/pinctrl/nomadik/pinctrl-nomadik.c
@@ -2044,7 +2044,7 @@ static int nmk_pinctrl_probe(struct platform_device *pdev)
 	nmk_pinctrl_desc.npins = npct->soc->npins;
 	npct->dev = &pdev->dev;
 
-	npct->pctl = pinctrl_register(&nmk_pinctrl_desc, &pdev->dev, npct);
+	npct->pctl = devm_pinctrl_register(&pdev->dev, &nmk_pinctrl_desc, npct);
 	if (IS_ERR(npct->pctl)) {
 		dev_err(&pdev->dev, "could not register Nomadik pinctrl driver\n");
 		return PTR_ERR(npct->pctl);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 16/50] pinctrl: nomadic: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Alessandro Rubini

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Alessandro Rubini <rubini@unipv.it>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/pinctrl/nomadik/pinctrl-abx500.c  | 3 ++-
 drivers/pinctrl/nomadik/pinctrl-nomadik.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/nomadik/pinctrl-abx500.c b/drivers/pinctrl/nomadik/pinctrl-abx500.c
index 1f7469c..d488124 100644
--- a/drivers/pinctrl/nomadik/pinctrl-abx500.c
+++ b/drivers/pinctrl/nomadik/pinctrl-abx500.c
@@ -1212,7 +1212,8 @@ static int abx500_gpio_probe(struct platform_device *pdev)
 
 	abx500_pinctrl_desc.pins = pct->soc->pins;
 	abx500_pinctrl_desc.npins = pct->soc->npins;
-	pct->pctldev = pinctrl_register(&abx500_pinctrl_desc, &pdev->dev, pct);
+	pct->pctldev = devm_pinctrl_register(&pdev->dev, &abx500_pinctrl_desc,
+					     pct);
 	if (IS_ERR(pct->pctldev)) {
 		dev_err(&pdev->dev,
 			"could not register abx500 pinctrl driver\n");
diff --git a/drivers/pinctrl/nomadik/pinctrl-nomadik.c b/drivers/pinctrl/nomadik/pinctrl-nomadik.c
index 3524061..ca5e9ea 100644
--- a/drivers/pinctrl/nomadik/pinctrl-nomadik.c
+++ b/drivers/pinctrl/nomadik/pinctrl-nomadik.c
@@ -2044,7 +2044,7 @@ static int nmk_pinctrl_probe(struct platform_device *pdev)
 	nmk_pinctrl_desc.npins = npct->soc->npins;
 	npct->dev = &pdev->dev;
 
-	npct->pctl = pinctrl_register(&nmk_pinctrl_desc, &pdev->dev, npct);
+	npct->pctl = devm_pinctrl_register(&pdev->dev, &nmk_pinctrl_desc, npct);
 	if (IS_ERR(npct->pctl)) {
 		dev_err(&pdev->dev, "could not register Nomadik pinctrl driver\n");
 		return PTR_ERR(npct->pctl);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 16/50] pinctrl: nomadic: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Alessandro Rubini <rubini@unipv.it>
Cc: linux-arm-kernel at lists.infradead.org
---
 drivers/pinctrl/nomadik/pinctrl-abx500.c  | 3 ++-
 drivers/pinctrl/nomadik/pinctrl-nomadik.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/nomadik/pinctrl-abx500.c b/drivers/pinctrl/nomadik/pinctrl-abx500.c
index 1f7469c..d488124 100644
--- a/drivers/pinctrl/nomadik/pinctrl-abx500.c
+++ b/drivers/pinctrl/nomadik/pinctrl-abx500.c
@@ -1212,7 +1212,8 @@ static int abx500_gpio_probe(struct platform_device *pdev)
 
 	abx500_pinctrl_desc.pins = pct->soc->pins;
 	abx500_pinctrl_desc.npins = pct->soc->npins;
-	pct->pctldev = pinctrl_register(&abx500_pinctrl_desc, &pdev->dev, pct);
+	pct->pctldev = devm_pinctrl_register(&pdev->dev, &abx500_pinctrl_desc,
+					     pct);
 	if (IS_ERR(pct->pctldev)) {
 		dev_err(&pdev->dev,
 			"could not register abx500 pinctrl driver\n");
diff --git a/drivers/pinctrl/nomadik/pinctrl-nomadik.c b/drivers/pinctrl/nomadik/pinctrl-nomadik.c
index 3524061..ca5e9ea 100644
--- a/drivers/pinctrl/nomadik/pinctrl-nomadik.c
+++ b/drivers/pinctrl/nomadik/pinctrl-nomadik.c
@@ -2044,7 +2044,7 @@ static int nmk_pinctrl_probe(struct platform_device *pdev)
 	nmk_pinctrl_desc.npins = npct->soc->npins;
 	npct->dev = &pdev->dev;
 
-	npct->pctl = pinctrl_register(&nmk_pinctrl_desc, &pdev->dev, npct);
+	npct->pctl = devm_pinctrl_register(&pdev->dev, &nmk_pinctrl_desc, npct);
 	if (IS_ERR(npct->pctl)) {
 		dev_err(&pdev->dev, "could not register Nomadik pinctrl driver\n");
 		return PTR_ERR(npct->pctl);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 17/50] pinctrl: spmi-gpio: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Björn Andersson, Ivan T. Ivanov, Lee Jones,
	Stephen Boyd, Jonas Gorski

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: "Björn Andersson" <bjorn.andersson@sonymobile.com>
Cc: "Ivan T. Ivanov" <ivan.ivanov@linaro.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Jonas Gorski <jogo@openwrt.org>
---
 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
index 4e12ded..330e822 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
@@ -764,14 +764,14 @@ static int pmic_gpio_probe(struct platform_device *pdev)
 	state->chip.of_gpio_n_cells = 2;
 	state->chip.can_sleep = false;
 
-	state->ctrl = pinctrl_register(pctrldesc, dev, state);
+	state->ctrl = devm_pinctrl_register(dev, pctrldesc, state);
 	if (IS_ERR(state->ctrl))
 		return PTR_ERR(state->ctrl);
 
 	ret = gpiochip_add_data(&state->chip, state);
 	if (ret) {
 		dev_err(state->dev, "can't add gpio chip\n");
-		goto err_chip;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&state->chip, dev_name(dev), 0, 0, npins);
@@ -784,8 +784,6 @@ static int pmic_gpio_probe(struct platform_device *pdev)
 
 err_range:
 	gpiochip_remove(&state->chip);
-err_chip:
-	pinctrl_unregister(state->ctrl);
 	return ret;
 }
 
@@ -794,7 +792,6 @@ static int pmic_gpio_remove(struct platform_device *pdev)
 	struct pmic_gpio_state *state = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&state->chip);
-	pinctrl_unregister(state->ctrl);
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 17/50] pinctrl: spmi-gpio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Björn Andersson, Ivan T. Ivanov, Lee Jones,
	Stephen Boyd, Jonas Gorski

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: "Björn Andersson" <bjorn.andersson@sonymobile.com>
Cc: "Ivan T. Ivanov" <ivan.ivanov@linaro.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Jonas Gorski <jogo@openwrt.org>
---
 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
index 4e12ded..330e822 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
@@ -764,14 +764,14 @@ static int pmic_gpio_probe(struct platform_device *pdev)
 	state->chip.of_gpio_n_cells = 2;
 	state->chip.can_sleep = false;
 
-	state->ctrl = pinctrl_register(pctrldesc, dev, state);
+	state->ctrl = devm_pinctrl_register(dev, pctrldesc, state);
 	if (IS_ERR(state->ctrl))
 		return PTR_ERR(state->ctrl);
 
 	ret = gpiochip_add_data(&state->chip, state);
 	if (ret) {
 		dev_err(state->dev, "can't add gpio chip\n");
-		goto err_chip;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&state->chip, dev_name(dev), 0, 0, npins);
@@ -784,8 +784,6 @@ static int pmic_gpio_probe(struct platform_device *pdev)
 
 err_range:
 	gpiochip_remove(&state->chip);
-err_chip:
-	pinctrl_unregister(state->ctrl);
 	return ret;
 }
 
@@ -794,7 +792,6 @@ static int pmic_gpio_remove(struct platform_device *pdev)
 	struct pmic_gpio_state *state = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&state->chip);
-	pinctrl_unregister(state->ctrl);
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 17/50] pinctrl: spmi-gpio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: "Bj?rn Andersson" <bjorn.andersson@sonymobile.com>
Cc: "Ivan T. Ivanov" <ivan.ivanov@linaro.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Jonas Gorski <jogo@openwrt.org>
---
 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
index 4e12ded..330e822 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
@@ -764,14 +764,14 @@ static int pmic_gpio_probe(struct platform_device *pdev)
 	state->chip.of_gpio_n_cells = 2;
 	state->chip.can_sleep = false;
 
-	state->ctrl = pinctrl_register(pctrldesc, dev, state);
+	state->ctrl = devm_pinctrl_register(dev, pctrldesc, state);
 	if (IS_ERR(state->ctrl))
 		return PTR_ERR(state->ctrl);
 
 	ret = gpiochip_add_data(&state->chip, state);
 	if (ret) {
 		dev_err(state->dev, "can't add gpio chip\n");
-		goto err_chip;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&state->chip, dev_name(dev), 0, 0, npins);
@@ -784,8 +784,6 @@ static int pmic_gpio_probe(struct platform_device *pdev)
 
 err_range:
 	gpiochip_remove(&state->chip);
-err_chip:
-	pinctrl_unregister(state->ctrl);
 	return ret;
 }
 
@@ -794,7 +792,6 @@ static int pmic_gpio_remove(struct platform_device *pdev)
 	struct pmic_gpio_state *state = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&state->chip);
-	pinctrl_unregister(state->ctrl);
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 18/50] pinctrl: spmi: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Bjorn Andersson, Ivan T. Ivanov, Lee Jones,
	Stephen Boyd, Jonas Gorski

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Jonas Gorski <jogo@openwrt.org>
---
 drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
index 2a3e549..418367e 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
@@ -877,14 +877,14 @@ static int pmic_mpp_probe(struct platform_device *pdev)
 	state->chip.of_gpio_n_cells = 2;
 	state->chip.can_sleep = false;
 
-	state->ctrl = pinctrl_register(pctrldesc, dev, state);
+	state->ctrl = devm_pinctrl_register(dev, pctrldesc, state);
 	if (IS_ERR(state->ctrl))
 		return PTR_ERR(state->ctrl);
 
 	ret = gpiochip_add_data(&state->chip, state);
 	if (ret) {
 		dev_err(state->dev, "can't add gpio chip\n");
-		goto err_chip;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&state->chip, dev_name(dev), 0, 0, npins);
@@ -897,8 +897,6 @@ static int pmic_mpp_probe(struct platform_device *pdev)
 
 err_range:
 	gpiochip_remove(&state->chip);
-err_chip:
-	pinctrl_unregister(state->ctrl);
 	return ret;
 }
 
@@ -907,7 +905,6 @@ static int pmic_mpp_remove(struct platform_device *pdev)
 	struct pmic_mpp_state *state = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&state->chip);
-	pinctrl_unregister(state->ctrl);
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 18/50] pinctrl: spmi: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Bjorn Andersson, Ivan T. Ivanov, Lee Jones,
	Stephen Boyd, Jonas Gorski

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Jonas Gorski <jogo@openwrt.org>
---
 drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
index 2a3e549..418367e 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
@@ -877,14 +877,14 @@ static int pmic_mpp_probe(struct platform_device *pdev)
 	state->chip.of_gpio_n_cells = 2;
 	state->chip.can_sleep = false;
 
-	state->ctrl = pinctrl_register(pctrldesc, dev, state);
+	state->ctrl = devm_pinctrl_register(dev, pctrldesc, state);
 	if (IS_ERR(state->ctrl))
 		return PTR_ERR(state->ctrl);
 
 	ret = gpiochip_add_data(&state->chip, state);
 	if (ret) {
 		dev_err(state->dev, "can't add gpio chip\n");
-		goto err_chip;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&state->chip, dev_name(dev), 0, 0, npins);
@@ -897,8 +897,6 @@ static int pmic_mpp_probe(struct platform_device *pdev)
 
 err_range:
 	gpiochip_remove(&state->chip);
-err_chip:
-	pinctrl_unregister(state->ctrl);
 	return ret;
 }
 
@@ -907,7 +905,6 @@ static int pmic_mpp_remove(struct platform_device *pdev)
 	struct pmic_mpp_state *state = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&state->chip);
-	pinctrl_unregister(state->ctrl);
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 18/50] pinctrl: spmi: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Jonas Gorski <jogo@openwrt.org>
---
 drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
index 2a3e549..418367e 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
@@ -877,14 +877,14 @@ static int pmic_mpp_probe(struct platform_device *pdev)
 	state->chip.of_gpio_n_cells = 2;
 	state->chip.can_sleep = false;
 
-	state->ctrl = pinctrl_register(pctrldesc, dev, state);
+	state->ctrl = devm_pinctrl_register(dev, pctrldesc, state);
 	if (IS_ERR(state->ctrl))
 		return PTR_ERR(state->ctrl);
 
 	ret = gpiochip_add_data(&state->chip, state);
 	if (ret) {
 		dev_err(state->dev, "can't add gpio chip\n");
-		goto err_chip;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&state->chip, dev_name(dev), 0, 0, npins);
@@ -897,8 +897,6 @@ static int pmic_mpp_probe(struct platform_device *pdev)
 
 err_range:
 	gpiochip_remove(&state->chip);
-err_chip:
-	pinctrl_unregister(state->ctrl);
 	return ret;
 }
 
@@ -907,7 +905,6 @@ static int pmic_mpp_remove(struct platform_device *pdev)
 	struct pmic_mpp_state *state = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&state->chip);
-	pinctrl_unregister(state->ctrl);
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 19/50] pinctrl: ssbi-gpi: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Bjorn Andersson

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---
 drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
index cd8580d..f71dda6 100644
--- a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
@@ -729,7 +729,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
 	pctrl->desc.custom_conf_items = pm8xxx_conf_items;
 #endif
 
-	pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl);
 	if (IS_ERR(pctrl->pctrl)) {
 		dev_err(&pdev->dev, "couldn't register pm8xxx gpio driver\n");
 		return PTR_ERR(pctrl->pctrl);
@@ -745,7 +745,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
 	ret = gpiochip_add_data(&pctrl->chip, pctrl);
 	if (ret) {
 		dev_err(&pdev->dev, "failed register gpiochip\n");
-		goto unregister_pinctrl;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&pctrl->chip,
@@ -765,9 +765,6 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
 unregister_gpiochip:
 	gpiochip_remove(&pctrl->chip);
 
-unregister_pinctrl:
-	pinctrl_unregister(pctrl->pctrl);
-
 	return ret;
 }
 
@@ -777,8 +774,6 @@ static int pm8xxx_gpio_remove(struct platform_device *pdev)
 
 	gpiochip_remove(&pctrl->chip);
 
-	pinctrl_unregister(pctrl->pctrl);
-
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 19/50] pinctrl: ssbi-gpi: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Bjorn Andersson

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---
 drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
index cd8580d..f71dda6 100644
--- a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
@@ -729,7 +729,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
 	pctrl->desc.custom_conf_items = pm8xxx_conf_items;
 #endif
 
-	pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl);
 	if (IS_ERR(pctrl->pctrl)) {
 		dev_err(&pdev->dev, "couldn't register pm8xxx gpio driver\n");
 		return PTR_ERR(pctrl->pctrl);
@@ -745,7 +745,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
 	ret = gpiochip_add_data(&pctrl->chip, pctrl);
 	if (ret) {
 		dev_err(&pdev->dev, "failed register gpiochip\n");
-		goto unregister_pinctrl;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&pctrl->chip,
@@ -765,9 +765,6 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
 unregister_gpiochip:
 	gpiochip_remove(&pctrl->chip);
 
-unregister_pinctrl:
-	pinctrl_unregister(pctrl->pctrl);
-
 	return ret;
 }
 
@@ -777,8 +774,6 @@ static int pm8xxx_gpio_remove(struct platform_device *pdev)
 
 	gpiochip_remove(&pctrl->chip);
 
-	pinctrl_unregister(pctrl->pctrl);
-
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 19/50] pinctrl: ssbi-gpi: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---
 drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
index cd8580d..f71dda6 100644
--- a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
@@ -729,7 +729,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
 	pctrl->desc.custom_conf_items = pm8xxx_conf_items;
 #endif
 
-	pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl);
 	if (IS_ERR(pctrl->pctrl)) {
 		dev_err(&pdev->dev, "couldn't register pm8xxx gpio driver\n");
 		return PTR_ERR(pctrl->pctrl);
@@ -745,7 +745,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
 	ret = gpiochip_add_data(&pctrl->chip, pctrl);
 	if (ret) {
 		dev_err(&pdev->dev, "failed register gpiochip\n");
-		goto unregister_pinctrl;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&pctrl->chip,
@@ -765,9 +765,6 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
 unregister_gpiochip:
 	gpiochip_remove(&pctrl->chip);
 
-unregister_pinctrl:
-	pinctrl_unregister(pctrl->pctrl);
-
 	return ret;
 }
 
@@ -777,8 +774,6 @@ static int pm8xxx_gpio_remove(struct platform_device *pdev)
 
 	gpiochip_remove(&pctrl->chip);
 
-	pinctrl_unregister(pctrl->pctrl);
-
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 20/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, Laxman Dewangan,
	bcm-kernel-feedback-list, linux-rpi-kernel, Bjorn Andersson,
	linux-mediatek, linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---
 drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
index 54a5402..49cc734 100644
--- a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
+++ b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
@@ -820,7 +820,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
 	pctrl->desc.custom_conf_items = pm8xxx_conf_items;
 #endif
 
-	pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl);
 	if (IS_ERR(pctrl->pctrl)) {
 		dev_err(&pdev->dev, "couldn't register pm8xxx mpp driver\n");
 		return PTR_ERR(pctrl->pctrl);
@@ -836,7 +836,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
 	ret = gpiochip_add_data(&pctrl->chip, pctrl);
 	if (ret) {
 		dev_err(&pdev->dev, "failed register gpiochip\n");
-		goto unregister_pinctrl;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&pctrl->chip,
@@ -856,9 +856,6 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
 unregister_gpiochip:
 	gpiochip_remove(&pctrl->chip);
 
-unregister_pinctrl:
-	pinctrl_unregister(pctrl->pctrl);
-
 	return ret;
 }
 
@@ -868,8 +865,6 @@ static int pm8xxx_mpp_remove(struct platform_device *pdev)
 
 	gpiochip_remove(&pctrl->chip);
 
-	pinctrl_unregister(pctrl->pctrl);
-
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 20/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Bjorn Andersson

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---
 drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
index 54a5402..49cc734 100644
--- a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
+++ b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
@@ -820,7 +820,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
 	pctrl->desc.custom_conf_items = pm8xxx_conf_items;
 #endif
 
-	pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl);
 	if (IS_ERR(pctrl->pctrl)) {
 		dev_err(&pdev->dev, "couldn't register pm8xxx mpp driver\n");
 		return PTR_ERR(pctrl->pctrl);
@@ -836,7 +836,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
 	ret = gpiochip_add_data(&pctrl->chip, pctrl);
 	if (ret) {
 		dev_err(&pdev->dev, "failed register gpiochip\n");
-		goto unregister_pinctrl;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&pctrl->chip,
@@ -856,9 +856,6 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
 unregister_gpiochip:
 	gpiochip_remove(&pctrl->chip);
 
-unregister_pinctrl:
-	pinctrl_unregister(pctrl->pctrl);
-
 	return ret;
 }
 
@@ -868,8 +865,6 @@ static int pm8xxx_mpp_remove(struct platform_device *pdev)
 
 	gpiochip_remove(&pctrl->chip);
 
-	pinctrl_unregister(pctrl->pctrl);
-
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 20/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---
 drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
index 54a5402..49cc734 100644
--- a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
+++ b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
@@ -820,7 +820,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
 	pctrl->desc.custom_conf_items = pm8xxx_conf_items;
 #endif
 
-	pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl);
 	if (IS_ERR(pctrl->pctrl)) {
 		dev_err(&pdev->dev, "couldn't register pm8xxx mpp driver\n");
 		return PTR_ERR(pctrl->pctrl);
@@ -836,7 +836,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
 	ret = gpiochip_add_data(&pctrl->chip, pctrl);
 	if (ret) {
 		dev_err(&pdev->dev, "failed register gpiochip\n");
-		goto unregister_pinctrl;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&pctrl->chip,
@@ -856,9 +856,6 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
 unregister_gpiochip:
 	gpiochip_remove(&pctrl->chip);
 
-unregister_pinctrl:
-	pinctrl_unregister(pctrl->pctrl);
-
 	return ret;
 }
 
@@ -868,8 +865,6 @@ static int pm8xxx_mpp_remove(struct platform_device *pdev)
 
 	gpiochip_remove(&pctrl->chip);
 
-	pinctrl_unregister(pctrl->pctrl);
-
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 21/50] pinctrl: msm: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Bjorn Andersson, Thomas Gleixner, Lee Jones,
	Stephen Boyd

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
---
 drivers/pinctrl/qcom/pinctrl-msm.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
index 8777cf0..dc7bf77 100644
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
@@ -898,17 +898,16 @@ int msm_pinctrl_probe(struct platform_device *pdev,
 	msm_pinctrl_desc.name = dev_name(&pdev->dev);
 	msm_pinctrl_desc.pins = pctrl->soc->pins;
 	msm_pinctrl_desc.npins = pctrl->soc->npins;
-	pctrl->pctrl = pinctrl_register(&msm_pinctrl_desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &msm_pinctrl_desc,
+					     pctrl);
 	if (IS_ERR(pctrl->pctrl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctrl);
 	}
 
 	ret = msm_gpio_init(pctrl);
-	if (ret) {
-		pinctrl_unregister(pctrl->pctrl);
+	if (ret)
 		return ret;
-	}
 
 	platform_set_drvdata(pdev, pctrl);
 
@@ -923,7 +922,6 @@ int msm_pinctrl_remove(struct platform_device *pdev)
 	struct msm_pinctrl *pctrl = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&pctrl->chip);
-	pinctrl_unregister(pctrl->pctrl);
 
 	unregister_restart_handler(&pctrl->restart_nb);
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 21/50] pinctrl: msm: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Bjorn Andersson, Thomas Gleixner, Lee Jones,
	Stephen Boyd

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
---
 drivers/pinctrl/qcom/pinctrl-msm.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
index 8777cf0..dc7bf77 100644
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
@@ -898,17 +898,16 @@ int msm_pinctrl_probe(struct platform_device *pdev,
 	msm_pinctrl_desc.name = dev_name(&pdev->dev);
 	msm_pinctrl_desc.pins = pctrl->soc->pins;
 	msm_pinctrl_desc.npins = pctrl->soc->npins;
-	pctrl->pctrl = pinctrl_register(&msm_pinctrl_desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &msm_pinctrl_desc,
+					     pctrl);
 	if (IS_ERR(pctrl->pctrl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctrl);
 	}
 
 	ret = msm_gpio_init(pctrl);
-	if (ret) {
-		pinctrl_unregister(pctrl->pctrl);
+	if (ret)
 		return ret;
-	}
 
 	platform_set_drvdata(pdev, pctrl);
 
@@ -923,7 +922,6 @@ int msm_pinctrl_remove(struct platform_device *pdev)
 	struct msm_pinctrl *pctrl = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&pctrl->chip);
-	pinctrl_unregister(pctrl->pctrl);
 
 	unregister_restart_handler(&pctrl->restart_nb);
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 21/50] pinctrl: msm: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
---
 drivers/pinctrl/qcom/pinctrl-msm.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
index 8777cf0..dc7bf77 100644
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
@@ -898,17 +898,16 @@ int msm_pinctrl_probe(struct platform_device *pdev,
 	msm_pinctrl_desc.name = dev_name(&pdev->dev);
 	msm_pinctrl_desc.pins = pctrl->soc->pins;
 	msm_pinctrl_desc.npins = pctrl->soc->npins;
-	pctrl->pctrl = pinctrl_register(&msm_pinctrl_desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &msm_pinctrl_desc,
+					     pctrl);
 	if (IS_ERR(pctrl->pctrl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pctrl->pctrl);
 	}
 
 	ret = msm_gpio_init(pctrl);
-	if (ret) {
-		pinctrl_unregister(pctrl->pctrl);
+	if (ret)
 		return ret;
-	}
 
 	platform_set_drvdata(pdev, pctrl);
 
@@ -923,7 +922,6 @@ int msm_pinctrl_remove(struct platform_device *pdev)
 	struct msm_pinctrl *pctrl = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&pctrl->chip);
-	pinctrl_unregister(pctrl->pctrl);
 
 	unregister_restart_handler(&pctrl->restart_nb);
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 22/50] pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Daniel Mack, Haojian Zhuang, Robert Jarzmik

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Daniel Mack <daniel@zonque.org>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/pinctrl/pxa/pinctrl-pxa2xx.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/pinctrl/pxa/pinctrl-pxa2xx.c b/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
index 216f227..deb6aa1 100644
--- a/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
+++ b/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
@@ -416,7 +416,7 @@ int pxa2xx_pinctrl_init(struct platform_device *pdev,
 	if (ret)
 		return ret;
 
-	pctl->pctl_dev = pinctrl_register(&pctl->desc, &pdev->dev, pctl);
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->desc, pctl);
 	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
 		return PTR_ERR(pctl->pctl_dev);
@@ -427,11 +427,3 @@ int pxa2xx_pinctrl_init(struct platform_device *pdev,
 	return 0;
 }
 EXPORT_SYMBOL(pxa2xx_pinctrl_init);
-
-int pxa2xx_pinctrl_exit(struct platform_device *pdev)
-{
-	struct pxa_pinctrl *pctl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pctl->pctl_dev);
-	return 0;
-}
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 22/50] pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Daniel Mack, Haojian Zhuang, Robert Jarzmik

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Daniel Mack <daniel@zonque.org>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/pinctrl/pxa/pinctrl-pxa2xx.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/pinctrl/pxa/pinctrl-pxa2xx.c b/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
index 216f227..deb6aa1 100644
--- a/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
+++ b/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
@@ -416,7 +416,7 @@ int pxa2xx_pinctrl_init(struct platform_device *pdev,
 	if (ret)
 		return ret;
 
-	pctl->pctl_dev = pinctrl_register(&pctl->desc, &pdev->dev, pctl);
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->desc, pctl);
 	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
 		return PTR_ERR(pctl->pctl_dev);
@@ -427,11 +427,3 @@ int pxa2xx_pinctrl_init(struct platform_device *pdev,
 	return 0;
 }
 EXPORT_SYMBOL(pxa2xx_pinctrl_init);
-
-int pxa2xx_pinctrl_exit(struct platform_device *pdev)
-{
-	struct pxa_pinctrl *pctl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pctl->pctl_dev);
-	return 0;
-}
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 22/50] pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Daniel Mack <daniel@zonque.org>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: linux-arm-kernel at lists.infradead.org
---
 drivers/pinctrl/pxa/pinctrl-pxa2xx.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/pinctrl/pxa/pinctrl-pxa2xx.c b/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
index 216f227..deb6aa1 100644
--- a/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
+++ b/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
@@ -416,7 +416,7 @@ int pxa2xx_pinctrl_init(struct platform_device *pdev,
 	if (ret)
 		return ret;
 
-	pctl->pctl_dev = pinctrl_register(&pctl->desc, &pdev->dev, pctl);
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->desc, pctl);
 	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
 		return PTR_ERR(pctl->pctl_dev);
@@ -427,11 +427,3 @@ int pxa2xx_pinctrl_init(struct platform_device *pdev,
 	return 0;
 }
 EXPORT_SYMBOL(pxa2xx_pinctrl_init);
-
-int pxa2xx_pinctrl_exit(struct platform_device *pdev)
-{
-	struct pxa_pinctrl *pctl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pctl->pctl_dev);
-	return 0;
-}
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 23/50] pinctrl: exynos5440: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15     ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, corbet-T1hC0tSOHrs,
	lee-DgEjT+Ai2ygdnm+yROfE0A
  Cc: Krzysztof Kozlowski, Kukjin Kim,
	linux-doc-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Tomasz Figa,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Tomasz Figa <tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Kukjin Kim <kgene-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Krzysztof Kozlowski <k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
---
 drivers/pinctrl/samsung/pinctrl-exynos5440.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/samsung/pinctrl-exynos5440.c b/drivers/pinctrl/samsung/pinctrl-exynos5440.c
index 00ab63a..71f9f13 100644
--- a/drivers/pinctrl/samsung/pinctrl-exynos5440.c
+++ b/drivers/pinctrl/samsung/pinctrl-exynos5440.c
@@ -788,7 +788,7 @@ static int exynos5440_pinctrl_register(struct platform_device *pdev,
 	if (ret)
 		return ret;
 
-	pctl_dev = pinctrl_register(ctrldesc, &pdev->dev, priv);
+	pctl_dev = devm_pinctrl_register(&pdev->dev, ctrldesc, priv);
 	if (IS_ERR(pctl_dev)) {
 		dev_err(&pdev->dev, "could not register pinctrl driver\n");
 		return PTR_ERR(pctl_dev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 23/50] pinctrl: exynos5440: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Tomasz Figa, Kukjin Kim, Krzysztof Kozlowski

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-exynos5440.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/samsung/pinctrl-exynos5440.c b/drivers/pinctrl/samsung/pinctrl-exynos5440.c
index 00ab63a..71f9f13 100644
--- a/drivers/pinctrl/samsung/pinctrl-exynos5440.c
+++ b/drivers/pinctrl/samsung/pinctrl-exynos5440.c
@@ -788,7 +788,7 @@ static int exynos5440_pinctrl_register(struct platform_device *pdev,
 	if (ret)
 		return ret;
 
-	pctl_dev = pinctrl_register(ctrldesc, &pdev->dev, priv);
+	pctl_dev = devm_pinctrl_register(&pdev->dev, ctrldesc, priv);
 	if (IS_ERR(pctl_dev)) {
 		dev_err(&pdev->dev, "could not register pinctrl driver\n");
 		return PTR_ERR(pctl_dev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 23/50] pinctrl: exynos5440: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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-exynos5440.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/samsung/pinctrl-exynos5440.c b/drivers/pinctrl/samsung/pinctrl-exynos5440.c
index 00ab63a..71f9f13 100644
--- a/drivers/pinctrl/samsung/pinctrl-exynos5440.c
+++ b/drivers/pinctrl/samsung/pinctrl-exynos5440.c
@@ -788,7 +788,7 @@ static int exynos5440_pinctrl_register(struct platform_device *pdev,
 	if (ret)
 		return ret;
 
-	pctl_dev = pinctrl_register(ctrldesc, &pdev->dev, priv);
+	pctl_dev = devm_pinctrl_register(&pdev->dev, ctrldesc, priv);
 	if (IS_ERR(pctl_dev)) {
 		dev_err(&pdev->dev, "could not register pinctrl driver\n");
 		return PTR_ERR(pctl_dev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 24/50] pinctrl: samsung: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Tomasz Figa, Kukjin Kim, Krzysztof Kozlowski

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 24/50] pinctrl: samsung: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Tomasz Figa, Kukjin Kim, Krzysztof Kozlowski

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 24/50] pinctrl: samsung: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 25/50] pinctrl: ish-pfc: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15     ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, corbet-T1hC0tSOHrs,
	lee-DgEjT+Ai2ygdnm+yROfE0A
  Cc: Geert Uytterhoeven, linux-doc-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-renesas-soc-u79uwXL29TY76Z2rM5mHXA,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Laurent Pinchart

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Laurent Pinchart <laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
Cc: Geert Uytterhoeven <geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ@public.gmane.org>
Cc: linux-renesas-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
---
 drivers/pinctrl/sh-pfc/core.c    |  1 -
 drivers/pinctrl/sh-pfc/core.h    |  1 -
 drivers/pinctrl/sh-pfc/pinctrl.c | 12 +-----------
 3 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/drivers/pinctrl/sh-pfc/core.c b/drivers/pinctrl/sh-pfc/core.c
index 181ea98..4b28fbb 100644
--- a/drivers/pinctrl/sh-pfc/core.c
+++ b/drivers/pinctrl/sh-pfc/core.c
@@ -587,7 +587,6 @@ static int sh_pfc_remove(struct platform_device *pdev)
 #ifdef CONFIG_GPIO_SH_PFC
 	sh_pfc_unregister_gpiochip(pfc);
 #endif
-	sh_pfc_unregister_pinctrl(pfc);
 
 	return 0;
 }
diff --git a/drivers/pinctrl/sh-pfc/core.h b/drivers/pinctrl/sh-pfc/core.h
index 62f53b2..8272114 100644
--- a/drivers/pinctrl/sh-pfc/core.h
+++ b/drivers/pinctrl/sh-pfc/core.h
@@ -57,7 +57,6 @@ int sh_pfc_register_gpiochip(struct sh_pfc *pfc);
 int sh_pfc_unregister_gpiochip(struct sh_pfc *pfc);
 
 int sh_pfc_register_pinctrl(struct sh_pfc *pfc);
-int sh_pfc_unregister_pinctrl(struct sh_pfc *pfc);
 
 u32 sh_pfc_read_raw_reg(void __iomem *mapped_reg, unsigned int reg_width);
 void sh_pfc_write_raw_reg(void __iomem *mapped_reg, unsigned int reg_width,
diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
index 87b0a59..f17b5fc 100644
--- a/drivers/pinctrl/sh-pfc/pinctrl.c
+++ b/drivers/pinctrl/sh-pfc/pinctrl.c
@@ -692,19 +692,9 @@ int sh_pfc_register_pinctrl(struct sh_pfc *pfc)
 	pmx->pctl_desc.pins = pmx->pins;
 	pmx->pctl_desc.npins = pfc->info->nr_pins;
 
-	pmx->pctl = pinctrl_register(&pmx->pctl_desc, pfc->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(pfc->dev, &pmx->pctl_desc, pmx);
 	if (IS_ERR(pmx->pctl))
 		return PTR_ERR(pmx->pctl);
 
 	return 0;
 }
-
-int sh_pfc_unregister_pinctrl(struct sh_pfc *pfc)
-{
-	struct sh_pfc_pinctrl *pmx = pfc->pinctrl;
-
-	pinctrl_unregister(pmx->pctl);
-
-	pfc->pinctrl = NULL;
-	return 0;
-}
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 25/50] pinctrl: ish-pfc: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Laurent Pinchart, Geert Uytterhoeven,
	linux-renesas-soc

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: linux-renesas-soc@vger.kernel.org
---
 drivers/pinctrl/sh-pfc/core.c    |  1 -
 drivers/pinctrl/sh-pfc/core.h    |  1 -
 drivers/pinctrl/sh-pfc/pinctrl.c | 12 +-----------
 3 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/drivers/pinctrl/sh-pfc/core.c b/drivers/pinctrl/sh-pfc/core.c
index 181ea98..4b28fbb 100644
--- a/drivers/pinctrl/sh-pfc/core.c
+++ b/drivers/pinctrl/sh-pfc/core.c
@@ -587,7 +587,6 @@ static int sh_pfc_remove(struct platform_device *pdev)
 #ifdef CONFIG_GPIO_SH_PFC
 	sh_pfc_unregister_gpiochip(pfc);
 #endif
-	sh_pfc_unregister_pinctrl(pfc);
 
 	return 0;
 }
diff --git a/drivers/pinctrl/sh-pfc/core.h b/drivers/pinctrl/sh-pfc/core.h
index 62f53b2..8272114 100644
--- a/drivers/pinctrl/sh-pfc/core.h
+++ b/drivers/pinctrl/sh-pfc/core.h
@@ -57,7 +57,6 @@ int sh_pfc_register_gpiochip(struct sh_pfc *pfc);
 int sh_pfc_unregister_gpiochip(struct sh_pfc *pfc);
 
 int sh_pfc_register_pinctrl(struct sh_pfc *pfc);
-int sh_pfc_unregister_pinctrl(struct sh_pfc *pfc);
 
 u32 sh_pfc_read_raw_reg(void __iomem *mapped_reg, unsigned int reg_width);
 void sh_pfc_write_raw_reg(void __iomem *mapped_reg, unsigned int reg_width,
diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
index 87b0a59..f17b5fc 100644
--- a/drivers/pinctrl/sh-pfc/pinctrl.c
+++ b/drivers/pinctrl/sh-pfc/pinctrl.c
@@ -692,19 +692,9 @@ int sh_pfc_register_pinctrl(struct sh_pfc *pfc)
 	pmx->pctl_desc.pins = pmx->pins;
 	pmx->pctl_desc.npins = pfc->info->nr_pins;
 
-	pmx->pctl = pinctrl_register(&pmx->pctl_desc, pfc->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(pfc->dev, &pmx->pctl_desc, pmx);
 	if (IS_ERR(pmx->pctl))
 		return PTR_ERR(pmx->pctl);
 
 	return 0;
 }
-
-int sh_pfc_unregister_pinctrl(struct sh_pfc *pfc)
-{
-	struct sh_pfc_pinctrl *pmx = pfc->pinctrl;
-
-	pinctrl_unregister(pmx->pctl);
-
-	pfc->pinctrl = NULL;
-	return 0;
-}
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 25/50] pinctrl: ish-pfc: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: linux-renesas-soc at vger.kernel.org
---
 drivers/pinctrl/sh-pfc/core.c    |  1 -
 drivers/pinctrl/sh-pfc/core.h    |  1 -
 drivers/pinctrl/sh-pfc/pinctrl.c | 12 +-----------
 3 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/drivers/pinctrl/sh-pfc/core.c b/drivers/pinctrl/sh-pfc/core.c
index 181ea98..4b28fbb 100644
--- a/drivers/pinctrl/sh-pfc/core.c
+++ b/drivers/pinctrl/sh-pfc/core.c
@@ -587,7 +587,6 @@ static int sh_pfc_remove(struct platform_device *pdev)
 #ifdef CONFIG_GPIO_SH_PFC
 	sh_pfc_unregister_gpiochip(pfc);
 #endif
-	sh_pfc_unregister_pinctrl(pfc);
 
 	return 0;
 }
diff --git a/drivers/pinctrl/sh-pfc/core.h b/drivers/pinctrl/sh-pfc/core.h
index 62f53b2..8272114 100644
--- a/drivers/pinctrl/sh-pfc/core.h
+++ b/drivers/pinctrl/sh-pfc/core.h
@@ -57,7 +57,6 @@ int sh_pfc_register_gpiochip(struct sh_pfc *pfc);
 int sh_pfc_unregister_gpiochip(struct sh_pfc *pfc);
 
 int sh_pfc_register_pinctrl(struct sh_pfc *pfc);
-int sh_pfc_unregister_pinctrl(struct sh_pfc *pfc);
 
 u32 sh_pfc_read_raw_reg(void __iomem *mapped_reg, unsigned int reg_width);
 void sh_pfc_write_raw_reg(void __iomem *mapped_reg, unsigned int reg_width,
diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
index 87b0a59..f17b5fc 100644
--- a/drivers/pinctrl/sh-pfc/pinctrl.c
+++ b/drivers/pinctrl/sh-pfc/pinctrl.c
@@ -692,19 +692,9 @@ int sh_pfc_register_pinctrl(struct sh_pfc *pfc)
 	pmx->pctl_desc.pins = pmx->pins;
 	pmx->pctl_desc.npins = pfc->info->nr_pins;
 
-	pmx->pctl = pinctrl_register(&pmx->pctl_desc, pfc->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(pfc->dev, &pmx->pctl_desc, pmx);
 	if (IS_ERR(pmx->pctl))
 		return PTR_ERR(pmx->pctl);
 
 	return 0;
 }
-
-int sh_pfc_unregister_pinctrl(struct sh_pfc *pfc)
-{
-	struct sh_pfc_pinctrl *pmx = pfc->pinctrl;
-
-	pinctrl_unregister(pmx->pctl);
-
-	pfc->pinctrl = NULL;
-	return 0;
-}
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 26/50] pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, Viresh Kumar, spear-devel, linux-kernel, linux-gpio,
	Laxman Dewangan, bcm-kernel-feedback-list, linux-rpi-kernel,
	linux-mediatek, linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Viresh Kumar <vireshk@kernel.org>
Cc: spear-devel@list.st.com
Cc: linux-arm-kernel@lists.infradead.org
---
 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 ------
 7 files changed, 1 insertion(+), 41 deletions(-)

diff --git a/drivers/pinctrl/spear/pinctrl-spear.c b/drivers/pinctrl/spear/pinctrl-spear.c
index 0afaf79..4db52ba 100644
--- a/drivers/pinctrl/spear/pinctrl-spear.c
+++ b/drivers/pinctrl/spear/pinctrl-spear.c
@@ -395,7 +395,7 @@ int spear_pinctrl_probe(struct platform_device *pdev,
 	spear_pinctrl_desc.pins = machdata->pins;
 	spear_pinctrl_desc.npins = machdata->npins;
 
-	pmx->pctl = pinctrl_register(&spear_pinctrl_desc, &pdev->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(&pdev->dev, &spear_pinctrl_desc, pmx);
 	if (IS_ERR(pmx->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pmx->pctl);
@@ -403,12 +403,3 @@ int spear_pinctrl_probe(struct platform_device *pdev,
 
 	return 0;
 }
-
-int spear_pinctrl_remove(struct platform_device *pdev)
-{
-	struct spear_pmx *pmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pmx->pctl);
-
-	return 0;
-}
diff --git a/drivers/pinctrl/spear/pinctrl-spear.h b/drivers/pinctrl/spear/pinctrl-spear.h
index 27c2cc8..aa5cf70 100644
--- a/drivers/pinctrl/spear/pinctrl-spear.h
+++ b/drivers/pinctrl/spear/pinctrl-spear.h
@@ -197,7 +197,6 @@ void pmx_init_gpio_pingroup_addr(struct spear_gpio_pingroup *gpio_pingroup,
 				 unsigned count, u16 reg);
 int spear_pinctrl_probe(struct platform_device *pdev,
 			struct spear_pinctrl_machdata *machdata);
-int spear_pinctrl_remove(struct platform_device *pdev);
 
 #define SPEAR_PIN_0_TO_101		\
 	PINCTRL_PIN(0, "PLGPIO0"),	\
diff --git a/drivers/pinctrl/spear/pinctrl-spear1310.c b/drivers/pinctrl/spear/pinctrl-spear1310.c
index 92611bb..1821068 100644
--- a/drivers/pinctrl/spear/pinctrl-spear1310.c
+++ b/drivers/pinctrl/spear/pinctrl-spear1310.c
@@ -2704,18 +2704,12 @@ static int spear1310_pinctrl_probe(struct platform_device *pdev)
 	return spear_pinctrl_probe(pdev, &spear1310_machdata);
 }
 
-static int spear1310_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear1310_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear1310_pinctrl_of_match,
 	},
 	.probe = spear1310_pinctrl_probe,
-	.remove = spear1310_pinctrl_remove,
 };
 
 static int __init spear1310_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear1340.c b/drivers/pinctrl/spear/pinctrl-spear1340.c
index f842e9d..c01fb23 100644
--- a/drivers/pinctrl/spear/pinctrl-spear1340.c
+++ b/drivers/pinctrl/spear/pinctrl-spear1340.c
@@ -2020,18 +2020,12 @@ static int spear1340_pinctrl_probe(struct platform_device *pdev)
 	return spear_pinctrl_probe(pdev, &spear1340_machdata);
 }
 
-static int spear1340_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear1340_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear1340_pinctrl_of_match,
 	},
 	.probe = spear1340_pinctrl_probe,
-	.remove = spear1340_pinctrl_remove,
 };
 
 static int __init spear1340_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear300.c b/drivers/pinctrl/spear/pinctrl-spear300.c
index d998a2c..111148d 100644
--- a/drivers/pinctrl/spear/pinctrl-spear300.c
+++ b/drivers/pinctrl/spear/pinctrl-spear300.c
@@ -677,18 +677,12 @@ static int spear300_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int spear300_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear300_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear300_pinctrl_of_match,
 	},
 	.probe = spear300_pinctrl_probe,
-	.remove = spear300_pinctrl_remove,
 };
 
 static int __init spear300_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear310.c b/drivers/pinctrl/spear/pinctrl-spear310.c
index 609b18a..a7b0000 100644
--- a/drivers/pinctrl/spear/pinctrl-spear310.c
+++ b/drivers/pinctrl/spear/pinctrl-spear310.c
@@ -400,18 +400,12 @@ static int spear310_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int spear310_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear310_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear310_pinctrl_of_match,
 	},
 	.probe = spear310_pinctrl_probe,
-	.remove = spear310_pinctrl_remove,
 };
 
 static int __init spear310_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear320.c b/drivers/pinctrl/spear/pinctrl-spear320.c
index c071144..e2b3817 100644
--- a/drivers/pinctrl/spear/pinctrl-spear320.c
+++ b/drivers/pinctrl/spear/pinctrl-spear320.c
@@ -3441,18 +3441,12 @@ static int spear320_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int spear320_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear320_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear320_pinctrl_of_match,
 	},
 	.probe = spear320_pinctrl_probe,
-	.remove = spear320_pinctrl_remove,
 };
 
 static int __init spear320_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 26/50] pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Viresh Kumar, spear-devel

Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Viresh Kumar <vireshk@kernel.org>
Cc: spear-devel@list.st.com
Cc: linux-arm-kernel@lists.infradead.org
---
 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 ------
 7 files changed, 1 insertion(+), 41 deletions(-)

diff --git a/drivers/pinctrl/spear/pinctrl-spear.c b/drivers/pinctrl/spear/pinctrl-spear.c
index 0afaf79..4db52ba 100644
--- a/drivers/pinctrl/spear/pinctrl-spear.c
+++ b/drivers/pinctrl/spear/pinctrl-spear.c
@@ -395,7 +395,7 @@ int spear_pinctrl_probe(struct platform_device *pdev,
 	spear_pinctrl_desc.pins = machdata->pins;
 	spear_pinctrl_desc.npins = machdata->npins;
 
-	pmx->pctl = pinctrl_register(&spear_pinctrl_desc, &pdev->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(&pdev->dev, &spear_pinctrl_desc, pmx);
 	if (IS_ERR(pmx->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pmx->pctl);
@@ -403,12 +403,3 @@ int spear_pinctrl_probe(struct platform_device *pdev,
 
 	return 0;
 }
-
-int spear_pinctrl_remove(struct platform_device *pdev)
-{
-	struct spear_pmx *pmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pmx->pctl);
-
-	return 0;
-}
diff --git a/drivers/pinctrl/spear/pinctrl-spear.h b/drivers/pinctrl/spear/pinctrl-spear.h
index 27c2cc8..aa5cf70 100644
--- a/drivers/pinctrl/spear/pinctrl-spear.h
+++ b/drivers/pinctrl/spear/pinctrl-spear.h
@@ -197,7 +197,6 @@ void pmx_init_gpio_pingroup_addr(struct spear_gpio_pingroup *gpio_pingroup,
 				 unsigned count, u16 reg);
 int spear_pinctrl_probe(struct platform_device *pdev,
 			struct spear_pinctrl_machdata *machdata);
-int spear_pinctrl_remove(struct platform_device *pdev);
 
 #define SPEAR_PIN_0_TO_101		\
 	PINCTRL_PIN(0, "PLGPIO0"),	\
diff --git a/drivers/pinctrl/spear/pinctrl-spear1310.c b/drivers/pinctrl/spear/pinctrl-spear1310.c
index 92611bb..1821068 100644
--- a/drivers/pinctrl/spear/pinctrl-spear1310.c
+++ b/drivers/pinctrl/spear/pinctrl-spear1310.c
@@ -2704,18 +2704,12 @@ static int spear1310_pinctrl_probe(struct platform_device *pdev)
 	return spear_pinctrl_probe(pdev, &spear1310_machdata);
 }
 
-static int spear1310_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear1310_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear1310_pinctrl_of_match,
 	},
 	.probe = spear1310_pinctrl_probe,
-	.remove = spear1310_pinctrl_remove,
 };
 
 static int __init spear1310_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear1340.c b/drivers/pinctrl/spear/pinctrl-spear1340.c
index f842e9d..c01fb23 100644
--- a/drivers/pinctrl/spear/pinctrl-spear1340.c
+++ b/drivers/pinctrl/spear/pinctrl-spear1340.c
@@ -2020,18 +2020,12 @@ static int spear1340_pinctrl_probe(struct platform_device *pdev)
 	return spear_pinctrl_probe(pdev, &spear1340_machdata);
 }
 
-static int spear1340_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear1340_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear1340_pinctrl_of_match,
 	},
 	.probe = spear1340_pinctrl_probe,
-	.remove = spear1340_pinctrl_remove,
 };
 
 static int __init spear1340_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear300.c b/drivers/pinctrl/spear/pinctrl-spear300.c
index d998a2c..111148d 100644
--- a/drivers/pinctrl/spear/pinctrl-spear300.c
+++ b/drivers/pinctrl/spear/pinctrl-spear300.c
@@ -677,18 +677,12 @@ static int spear300_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int spear300_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear300_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear300_pinctrl_of_match,
 	},
 	.probe = spear300_pinctrl_probe,
-	.remove = spear300_pinctrl_remove,
 };
 
 static int __init spear300_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear310.c b/drivers/pinctrl/spear/pinctrl-spear310.c
index 609b18a..a7b0000 100644
--- a/drivers/pinctrl/spear/pinctrl-spear310.c
+++ b/drivers/pinctrl/spear/pinctrl-spear310.c
@@ -400,18 +400,12 @@ static int spear310_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int spear310_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear310_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear310_pinctrl_of_match,
 	},
 	.probe = spear310_pinctrl_probe,
-	.remove = spear310_pinctrl_remove,
 };
 
 static int __init spear310_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear320.c b/drivers/pinctrl/spear/pinctrl-spear320.c
index c071144..e2b3817 100644
--- a/drivers/pinctrl/spear/pinctrl-spear320.c
+++ b/drivers/pinctrl/spear/pinctrl-spear320.c
@@ -3441,18 +3441,12 @@ static int spear320_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int spear320_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear320_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear320_pinctrl_of_match,
 	},
 	.probe = spear320_pinctrl_probe,
-	.remove = spear320_pinctrl_remove,
 };
 
 static int __init spear320_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 26/50] pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Viresh Kumar <vireshk@kernel.org>
Cc: spear-devel at list.st.com
Cc: linux-arm-kernel at lists.infradead.org
---
 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 ------
 7 files changed, 1 insertion(+), 41 deletions(-)

diff --git a/drivers/pinctrl/spear/pinctrl-spear.c b/drivers/pinctrl/spear/pinctrl-spear.c
index 0afaf79..4db52ba 100644
--- a/drivers/pinctrl/spear/pinctrl-spear.c
+++ b/drivers/pinctrl/spear/pinctrl-spear.c
@@ -395,7 +395,7 @@ int spear_pinctrl_probe(struct platform_device *pdev,
 	spear_pinctrl_desc.pins = machdata->pins;
 	spear_pinctrl_desc.npins = machdata->npins;
 
-	pmx->pctl = pinctrl_register(&spear_pinctrl_desc, &pdev->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(&pdev->dev, &spear_pinctrl_desc, pmx);
 	if (IS_ERR(pmx->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pmx->pctl);
@@ -403,12 +403,3 @@ int spear_pinctrl_probe(struct platform_device *pdev,
 
 	return 0;
 }
-
-int spear_pinctrl_remove(struct platform_device *pdev)
-{
-	struct spear_pmx *pmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pmx->pctl);
-
-	return 0;
-}
diff --git a/drivers/pinctrl/spear/pinctrl-spear.h b/drivers/pinctrl/spear/pinctrl-spear.h
index 27c2cc8..aa5cf70 100644
--- a/drivers/pinctrl/spear/pinctrl-spear.h
+++ b/drivers/pinctrl/spear/pinctrl-spear.h
@@ -197,7 +197,6 @@ void pmx_init_gpio_pingroup_addr(struct spear_gpio_pingroup *gpio_pingroup,
 				 unsigned count, u16 reg);
 int spear_pinctrl_probe(struct platform_device *pdev,
 			struct spear_pinctrl_machdata *machdata);
-int spear_pinctrl_remove(struct platform_device *pdev);
 
 #define SPEAR_PIN_0_TO_101		\
 	PINCTRL_PIN(0, "PLGPIO0"),	\
diff --git a/drivers/pinctrl/spear/pinctrl-spear1310.c b/drivers/pinctrl/spear/pinctrl-spear1310.c
index 92611bb..1821068 100644
--- a/drivers/pinctrl/spear/pinctrl-spear1310.c
+++ b/drivers/pinctrl/spear/pinctrl-spear1310.c
@@ -2704,18 +2704,12 @@ static int spear1310_pinctrl_probe(struct platform_device *pdev)
 	return spear_pinctrl_probe(pdev, &spear1310_machdata);
 }
 
-static int spear1310_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear1310_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear1310_pinctrl_of_match,
 	},
 	.probe = spear1310_pinctrl_probe,
-	.remove = spear1310_pinctrl_remove,
 };
 
 static int __init spear1310_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear1340.c b/drivers/pinctrl/spear/pinctrl-spear1340.c
index f842e9d..c01fb23 100644
--- a/drivers/pinctrl/spear/pinctrl-spear1340.c
+++ b/drivers/pinctrl/spear/pinctrl-spear1340.c
@@ -2020,18 +2020,12 @@ static int spear1340_pinctrl_probe(struct platform_device *pdev)
 	return spear_pinctrl_probe(pdev, &spear1340_machdata);
 }
 
-static int spear1340_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear1340_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear1340_pinctrl_of_match,
 	},
 	.probe = spear1340_pinctrl_probe,
-	.remove = spear1340_pinctrl_remove,
 };
 
 static int __init spear1340_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear300.c b/drivers/pinctrl/spear/pinctrl-spear300.c
index d998a2c..111148d 100644
--- a/drivers/pinctrl/spear/pinctrl-spear300.c
+++ b/drivers/pinctrl/spear/pinctrl-spear300.c
@@ -677,18 +677,12 @@ static int spear300_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int spear300_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear300_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear300_pinctrl_of_match,
 	},
 	.probe = spear300_pinctrl_probe,
-	.remove = spear300_pinctrl_remove,
 };
 
 static int __init spear300_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear310.c b/drivers/pinctrl/spear/pinctrl-spear310.c
index 609b18a..a7b0000 100644
--- a/drivers/pinctrl/spear/pinctrl-spear310.c
+++ b/drivers/pinctrl/spear/pinctrl-spear310.c
@@ -400,18 +400,12 @@ static int spear310_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int spear310_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear310_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear310_pinctrl_of_match,
 	},
 	.probe = spear310_pinctrl_probe,
-	.remove = spear310_pinctrl_remove,
 };
 
 static int __init spear310_pinctrl_init(void)
diff --git a/drivers/pinctrl/spear/pinctrl-spear320.c b/drivers/pinctrl/spear/pinctrl-spear320.c
index c071144..e2b3817 100644
--- a/drivers/pinctrl/spear/pinctrl-spear320.c
+++ b/drivers/pinctrl/spear/pinctrl-spear320.c
@@ -3441,18 +3441,12 @@ static int spear320_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int spear320_pinctrl_remove(struct platform_device *pdev)
-{
-	return spear_pinctrl_remove(pdev);
-}
-
 static struct platform_driver spear320_pinctrl_driver = {
 	.driver = {
 		.name = DRIVER_NAME,
 		.of_match_table = spear320_pinctrl_of_match,
 	},
 	.probe = spear320_pinctrl_probe,
-	.remove = spear320_pinctrl_remove,
 };
 
 static int __init spear320_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 27/50] pinctrl: stm32: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15     ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, corbet-T1hC0tSOHrs,
	lee-DgEjT+Ai2ygdnm+yROfE0A
  Cc: linux-doc-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Patrice Chotard,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Maxime Coquelin, linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Maxime Coquelin <mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Patrice Chotard <patrice.chotard-qxv4g6HH51o@public.gmane.org>
---
 drivers/pinctrl/stm32/pinctrl-stm32.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c
index 8deb566..7291f07 100644
--- a/drivers/pinctrl/stm32/pinctrl-stm32.c
+++ b/drivers/pinctrl/stm32/pinctrl-stm32.c
@@ -813,10 +813,11 @@ int stm32_pctl_probe(struct platform_device *pdev)
 	pctl->pctl_desc.pmxops = &stm32_pmx_ops;
 	pctl->dev = &pdev->dev;
 
-	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
-	if (!pctl->pctl_dev) {
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
+					       pctl);
+	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "Failed pinctrl registration\n");
-		return -EINVAL;
+		return PTR_ERR(pctl->pctl_dev);
 	}
 
 	for (i = 0; i < pctl->nbanks; i++)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 27/50] pinctrl: stm32: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Maxime Coquelin, Patrice Chotard

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
---
 drivers/pinctrl/stm32/pinctrl-stm32.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c
index 8deb566..7291f07 100644
--- a/drivers/pinctrl/stm32/pinctrl-stm32.c
+++ b/drivers/pinctrl/stm32/pinctrl-stm32.c
@@ -813,10 +813,11 @@ int stm32_pctl_probe(struct platform_device *pdev)
 	pctl->pctl_desc.pmxops = &stm32_pmx_ops;
 	pctl->dev = &pdev->dev;
 
-	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
-	if (!pctl->pctl_dev) {
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
+					       pctl);
+	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "Failed pinctrl registration\n");
-		return -EINVAL;
+		return PTR_ERR(pctl->pctl_dev);
 	}
 
 	for (i = 0; i < pctl->nbanks; i++)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 27/50] pinctrl: stm32: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
---
 drivers/pinctrl/stm32/pinctrl-stm32.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c
index 8deb566..7291f07 100644
--- a/drivers/pinctrl/stm32/pinctrl-stm32.c
+++ b/drivers/pinctrl/stm32/pinctrl-stm32.c
@@ -813,10 +813,11 @@ int stm32_pctl_probe(struct platform_device *pdev)
 	pctl->pctl_desc.pmxops = &stm32_pmx_ops;
 	pctl->dev = &pdev->dev;
 
-	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
-	if (!pctl->pctl_dev) {
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
+					       pctl);
+	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "Failed pinctrl registration\n");
-		return -EINVAL;
+		return PTR_ERR(pctl->pctl_dev);
 	}
 
 	for (i = 0; i < pctl->nbanks; i++)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 28/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Maxime Ripard, Chen-Yu Tsai

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Chen-Yu Tsai <wens@csie.org>
---
 drivers/pinctrl/sunxi/pinctrl-sunxi.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
index 4513550..8eb6de8 100644
--- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c
+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
@@ -932,18 +932,15 @@ int sunxi_pinctrl_init(struct platform_device *pdev,
 	pctrl_desc->pctlops = &sunxi_pctrl_ops;
 	pctrl_desc->pmxops =  &sunxi_pmx_ops;
 
-	pctl->pctl_dev = pinctrl_register(pctrl_desc,
-					  &pdev->dev, pctl);
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, pctrl_desc, pctl);
 	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
 		return PTR_ERR(pctl->pctl_dev);
 	}
 
 	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
-	if (!pctl->chip) {
-		ret = -ENOMEM;
-		goto pinctrl_error;
-	}
+	if (!pctl->chip)
+		return -ENOMEM;
 
 	last_pin = pctl->desc->pins[pctl->desc->npins - 1].pin.number;
 	pctl->chip->owner = THIS_MODULE;
@@ -965,7 +962,7 @@ int sunxi_pinctrl_init(struct platform_device *pdev,
 
 	ret = gpiochip_add_data(pctl->chip, pctl);
 	if (ret)
-		goto pinctrl_error;
+		return ret;
 
 	for (i = 0; i < pctl->desc->npins; i++) {
 		const struct sunxi_desc_pin *pin = pctl->desc->pins + i;
@@ -1041,7 +1038,5 @@ clk_error:
 	clk_disable_unprepare(clk);
 gpiochip_error:
 	gpiochip_remove(pctl->chip);
-pinctrl_error:
-	pinctrl_unregister(pctl->pctl_dev);
 	return ret;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 28/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Maxime Ripard, Chen-Yu Tsai

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Chen-Yu Tsai <wens@csie.org>
---
 drivers/pinctrl/sunxi/pinctrl-sunxi.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
index 4513550..8eb6de8 100644
--- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c
+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
@@ -932,18 +932,15 @@ int sunxi_pinctrl_init(struct platform_device *pdev,
 	pctrl_desc->pctlops = &sunxi_pctrl_ops;
 	pctrl_desc->pmxops =  &sunxi_pmx_ops;
 
-	pctl->pctl_dev = pinctrl_register(pctrl_desc,
-					  &pdev->dev, pctl);
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, pctrl_desc, pctl);
 	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
 		return PTR_ERR(pctl->pctl_dev);
 	}
 
 	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
-	if (!pctl->chip) {
-		ret = -ENOMEM;
-		goto pinctrl_error;
-	}
+	if (!pctl->chip)
+		return -ENOMEM;
 
 	last_pin = pctl->desc->pins[pctl->desc->npins - 1].pin.number;
 	pctl->chip->owner = THIS_MODULE;
@@ -965,7 +962,7 @@ int sunxi_pinctrl_init(struct platform_device *pdev,
 
 	ret = gpiochip_add_data(pctl->chip, pctl);
 	if (ret)
-		goto pinctrl_error;
+		return ret;
 
 	for (i = 0; i < pctl->desc->npins; i++) {
 		const struct sunxi_desc_pin *pin = pctl->desc->pins + i;
@@ -1041,7 +1038,5 @@ clk_error:
 	clk_disable_unprepare(clk);
 gpiochip_error:
 	gpiochip_remove(pctl->chip);
-pinctrl_error:
-	pinctrl_unregister(pctl->pctl_dev);
 	return ret;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 28/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Chen-Yu Tsai <wens@csie.org>
---
 drivers/pinctrl/sunxi/pinctrl-sunxi.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
index 4513550..8eb6de8 100644
--- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c
+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
@@ -932,18 +932,15 @@ int sunxi_pinctrl_init(struct platform_device *pdev,
 	pctrl_desc->pctlops = &sunxi_pctrl_ops;
 	pctrl_desc->pmxops =  &sunxi_pmx_ops;
 
-	pctl->pctl_dev = pinctrl_register(pctrl_desc,
-					  &pdev->dev, pctl);
+	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, pctrl_desc, pctl);
 	if (IS_ERR(pctl->pctl_dev)) {
 		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
 		return PTR_ERR(pctl->pctl_dev);
 	}
 
 	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
-	if (!pctl->chip) {
-		ret = -ENOMEM;
-		goto pinctrl_error;
-	}
+	if (!pctl->chip)
+		return -ENOMEM;
 
 	last_pin = pctl->desc->pins[pctl->desc->npins - 1].pin.number;
 	pctl->chip->owner = THIS_MODULE;
@@ -965,7 +962,7 @@ int sunxi_pinctrl_init(struct platform_device *pdev,
 
 	ret = gpiochip_add_data(pctl->chip, pctl);
 	if (ret)
-		goto pinctrl_error;
+		return ret;
 
 	for (i = 0; i < pctl->desc->npins; i++) {
 		const struct sunxi_desc_pin *pin = pctl->desc->pins + i;
@@ -1041,7 +1038,5 @@ clk_error:
 	clk_disable_unprepare(clk);
 gpiochip_error:
 	gpiochip_remove(pctl->chip);
-pinctrl_error:
-	pinctrl_unregister(pctl->pctl_dev);
 	return ret;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 29/50] pinctrl: tegra: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Stephen Warren, Thierry Reding,
	Alexandre Courbot

Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
---
 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 -
 7 files changed, 1 insertion(+), 18 deletions(-)

diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.c b/drivers/pinctrl/tegra/pinctrl-tegra.c
index 4938882..e9e8744 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra.c
@@ -719,7 +719,7 @@ int tegra_pinctrl_probe(struct platform_device *pdev,
 			return PTR_ERR(pmx->regs[i]);
 	}
 
-	pmx->pctl = pinctrl_register(&tegra_pinctrl_desc, &pdev->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(&pdev->dev, &tegra_pinctrl_desc, pmx);
 	if (IS_ERR(pmx->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pmx->pctl);
@@ -735,13 +735,3 @@ int tegra_pinctrl_probe(struct platform_device *pdev,
 	return 0;
 }
 EXPORT_SYMBOL_GPL(tegra_pinctrl_probe);
-
-int tegra_pinctrl_remove(struct platform_device *pdev)
-{
-	struct tegra_pmx *pmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pmx->pctl);
-
-	return 0;
-}
-EXPORT_SYMBOL_GPL(tegra_pinctrl_remove);
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.h b/drivers/pinctrl/tegra/pinctrl-tegra.h
index 1615db7..05785e5 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra.h
+++ b/drivers/pinctrl/tegra/pinctrl-tegra.h
@@ -189,6 +189,4 @@ struct tegra_pinctrl_soc_data {
 
 int tegra_pinctrl_probe(struct platform_device *pdev,
 			const struct tegra_pinctrl_soc_data *soc_data);
-int tegra_pinctrl_remove(struct platform_device *pdev);
-
 #endif
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra114.c b/drivers/pinctrl/tegra/pinctrl-tegra114.c
index 05e49d5..236cc57 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra114.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra114.c
@@ -1863,7 +1863,6 @@ static struct platform_driver tegra114_pinctrl_driver = {
 		.of_match_table = tegra114_pinctrl_of_match,
 	},
 	.probe = tegra114_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra114_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra124.c b/drivers/pinctrl/tegra/pinctrl-tegra124.c
index 7cd44c7..749ea05 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra124.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra124.c
@@ -2075,7 +2075,6 @@ static struct platform_driver tegra124_pinctrl_driver = {
 		.of_match_table = tegra124_pinctrl_of_match,
 	},
 	.probe = tegra124_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra124_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra20.c b/drivers/pinctrl/tegra/pinctrl-tegra20.c
index 4833db4..979e329 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra20.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra20.c
@@ -2242,7 +2242,6 @@ static struct platform_driver tegra20_pinctrl_driver = {
 		.of_match_table = tegra20_pinctrl_of_match,
 	},
 	.probe = tegra20_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra20_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra210.c b/drivers/pinctrl/tegra/pinctrl-tegra210.c
index 252b464..cb2c87d8 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra210.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra210.c
@@ -1579,7 +1579,6 @@ static struct platform_driver tegra210_pinctrl_driver = {
 		.of_match_table = tegra210_pinctrl_of_match,
 	},
 	.probe = tegra210_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra210_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra30.c b/drivers/pinctrl/tegra/pinctrl-tegra30.c
index 47b2fd8..6b3e96c 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra30.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra30.c
@@ -2498,7 +2498,6 @@ static struct platform_driver tegra30_pinctrl_driver = {
 		.of_match_table = tegra30_pinctrl_of_match,
 	},
 	.probe = tegra30_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra30_pinctrl_driver);
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 29/50] pinctrl: tegra: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Stephen Warren, Thierry Reding,
	Alexandre Courbot

Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
---
 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 -
 7 files changed, 1 insertion(+), 18 deletions(-)

diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.c b/drivers/pinctrl/tegra/pinctrl-tegra.c
index 4938882..e9e8744 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra.c
@@ -719,7 +719,7 @@ int tegra_pinctrl_probe(struct platform_device *pdev,
 			return PTR_ERR(pmx->regs[i]);
 	}
 
-	pmx->pctl = pinctrl_register(&tegra_pinctrl_desc, &pdev->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(&pdev->dev, &tegra_pinctrl_desc, pmx);
 	if (IS_ERR(pmx->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pmx->pctl);
@@ -735,13 +735,3 @@ int tegra_pinctrl_probe(struct platform_device *pdev,
 	return 0;
 }
 EXPORT_SYMBOL_GPL(tegra_pinctrl_probe);
-
-int tegra_pinctrl_remove(struct platform_device *pdev)
-{
-	struct tegra_pmx *pmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pmx->pctl);
-
-	return 0;
-}
-EXPORT_SYMBOL_GPL(tegra_pinctrl_remove);
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.h b/drivers/pinctrl/tegra/pinctrl-tegra.h
index 1615db7..05785e5 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra.h
+++ b/drivers/pinctrl/tegra/pinctrl-tegra.h
@@ -189,6 +189,4 @@ struct tegra_pinctrl_soc_data {
 
 int tegra_pinctrl_probe(struct platform_device *pdev,
 			const struct tegra_pinctrl_soc_data *soc_data);
-int tegra_pinctrl_remove(struct platform_device *pdev);
-
 #endif
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra114.c b/drivers/pinctrl/tegra/pinctrl-tegra114.c
index 05e49d5..236cc57 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra114.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra114.c
@@ -1863,7 +1863,6 @@ static struct platform_driver tegra114_pinctrl_driver = {
 		.of_match_table = tegra114_pinctrl_of_match,
 	},
 	.probe = tegra114_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra114_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra124.c b/drivers/pinctrl/tegra/pinctrl-tegra124.c
index 7cd44c7..749ea05 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra124.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra124.c
@@ -2075,7 +2075,6 @@ static struct platform_driver tegra124_pinctrl_driver = {
 		.of_match_table = tegra124_pinctrl_of_match,
 	},
 	.probe = tegra124_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra124_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra20.c b/drivers/pinctrl/tegra/pinctrl-tegra20.c
index 4833db4..979e329 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra20.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra20.c
@@ -2242,7 +2242,6 @@ static struct platform_driver tegra20_pinctrl_driver = {
 		.of_match_table = tegra20_pinctrl_of_match,
 	},
 	.probe = tegra20_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra20_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra210.c b/drivers/pinctrl/tegra/pinctrl-tegra210.c
index 252b464..cb2c87d8 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra210.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra210.c
@@ -1579,7 +1579,6 @@ static struct platform_driver tegra210_pinctrl_driver = {
 		.of_match_table = tegra210_pinctrl_of_match,
 	},
 	.probe = tegra210_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra210_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra30.c b/drivers/pinctrl/tegra/pinctrl-tegra30.c
index 47b2fd8..6b3e96c 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra30.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra30.c
@@ -2498,7 +2498,6 @@ static struct platform_driver tegra30_pinctrl_driver = {
 		.of_match_table = tegra30_pinctrl_of_match,
 	},
 	.probe = tegra30_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra30_pinctrl_driver);
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 29/50] pinctrl: tegra: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and remove
need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
---
 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 -
 7 files changed, 1 insertion(+), 18 deletions(-)

diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.c b/drivers/pinctrl/tegra/pinctrl-tegra.c
index 4938882..e9e8744 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra.c
@@ -719,7 +719,7 @@ int tegra_pinctrl_probe(struct platform_device *pdev,
 			return PTR_ERR(pmx->regs[i]);
 	}
 
-	pmx->pctl = pinctrl_register(&tegra_pinctrl_desc, &pdev->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(&pdev->dev, &tegra_pinctrl_desc, pmx);
 	if (IS_ERR(pmx->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pmx->pctl);
@@ -735,13 +735,3 @@ int tegra_pinctrl_probe(struct platform_device *pdev,
 	return 0;
 }
 EXPORT_SYMBOL_GPL(tegra_pinctrl_probe);
-
-int tegra_pinctrl_remove(struct platform_device *pdev)
-{
-	struct tegra_pmx *pmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pmx->pctl);
-
-	return 0;
-}
-EXPORT_SYMBOL_GPL(tegra_pinctrl_remove);
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.h b/drivers/pinctrl/tegra/pinctrl-tegra.h
index 1615db7..05785e5 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra.h
+++ b/drivers/pinctrl/tegra/pinctrl-tegra.h
@@ -189,6 +189,4 @@ struct tegra_pinctrl_soc_data {
 
 int tegra_pinctrl_probe(struct platform_device *pdev,
 			const struct tegra_pinctrl_soc_data *soc_data);
-int tegra_pinctrl_remove(struct platform_device *pdev);
-
 #endif
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra114.c b/drivers/pinctrl/tegra/pinctrl-tegra114.c
index 05e49d5..236cc57 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra114.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra114.c
@@ -1863,7 +1863,6 @@ static struct platform_driver tegra114_pinctrl_driver = {
 		.of_match_table = tegra114_pinctrl_of_match,
 	},
 	.probe = tegra114_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra114_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra124.c b/drivers/pinctrl/tegra/pinctrl-tegra124.c
index 7cd44c7..749ea05 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra124.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra124.c
@@ -2075,7 +2075,6 @@ static struct platform_driver tegra124_pinctrl_driver = {
 		.of_match_table = tegra124_pinctrl_of_match,
 	},
 	.probe = tegra124_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra124_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra20.c b/drivers/pinctrl/tegra/pinctrl-tegra20.c
index 4833db4..979e329 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra20.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra20.c
@@ -2242,7 +2242,6 @@ static struct platform_driver tegra20_pinctrl_driver = {
 		.of_match_table = tegra20_pinctrl_of_match,
 	},
 	.probe = tegra20_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra20_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra210.c b/drivers/pinctrl/tegra/pinctrl-tegra210.c
index 252b464..cb2c87d8 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra210.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra210.c
@@ -1579,7 +1579,6 @@ static struct platform_driver tegra210_pinctrl_driver = {
 		.of_match_table = tegra210_pinctrl_of_match,
 	},
 	.probe = tegra210_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra210_pinctrl_driver);
 
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra30.c b/drivers/pinctrl/tegra/pinctrl-tegra30.c
index 47b2fd8..6b3e96c 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra30.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra30.c
@@ -2498,7 +2498,6 @@ static struct platform_driver tegra30_pinctrl_driver = {
 		.of_match_table = tegra30_pinctrl_of_match,
 	},
 	.probe = tegra30_pinctrl_probe,
-	.remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra30_pinctrl_driver);
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 30/50] pinctrl: tegra-xusb: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15     ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, corbet-T1hC0tSOHrs,
	lee-DgEjT+Ai2ygdnm+yROfE0A
  Cc: Thierry Reding, Alexandre Courbot,
	linux-doc-u79uwXL29TY76Z2rM5mHXA, Stephen Warren,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Jon Hunter,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Cc: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Alexandre Courbot <gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Jon Hunter <jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
 drivers/pinctrl/tegra/pinctrl-tegra-xusb.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c b/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
index 2f06029..19f16f4 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
@@ -914,7 +914,8 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	padctl->desc.confops = &tegra_xusb_padctl_pinconf_ops;
 	padctl->desc.owner = THIS_MODULE;
 
-	padctl->pinctrl = pinctrl_register(&padctl->desc, &pdev->dev, padctl);
+	padctl->pinctrl = devm_pinctrl_register(&pdev->dev, &padctl->desc,
+						padctl);
 	if (IS_ERR(padctl->pinctrl)) {
 		dev_err(&pdev->dev, "failed to register pincontrol\n");
 		err = PTR_ERR(padctl->pinctrl);
@@ -924,7 +925,7 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	phy = devm_phy_create(&pdev->dev, NULL, &pcie_phy_ops);
 	if (IS_ERR(phy)) {
 		err = PTR_ERR(phy);
-		goto unregister;
+		goto reset;
 	}
 
 	padctl->phys[TEGRA_XUSB_PADCTL_PCIE] = phy;
@@ -933,7 +934,7 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	phy = devm_phy_create(&pdev->dev, NULL, &sata_phy_ops);
 	if (IS_ERR(phy)) {
 		err = PTR_ERR(phy);
-		goto unregister;
+		goto reset;
 	}
 
 	padctl->phys[TEGRA_XUSB_PADCTL_SATA] = phy;
@@ -944,13 +945,11 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	if (IS_ERR(padctl->provider)) {
 		err = PTR_ERR(padctl->provider);
 		dev_err(&pdev->dev, "failed to register PHYs: %d\n", err);
-		goto unregister;
+		goto reset;
 	}
 
 	return 0;
 
-unregister:
-	pinctrl_unregister(padctl->pinctrl);
 reset:
 	reset_control_assert(padctl->rst);
 	return err;
@@ -961,8 +960,6 @@ static int tegra_xusb_padctl_remove(struct platform_device *pdev)
 	struct tegra_xusb_padctl *padctl = platform_get_drvdata(pdev);
 	int err;
 
-	pinctrl_unregister(padctl->pinctrl);
-
 	err = reset_control_assert(padctl->rst);
 	if (err < 0)
 		dev_err(&pdev->dev, "failed to assert reset: %d\n", err);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 30/50] pinctrl: tegra-xusb: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Stephen Warren, Thierry Reding,
	Alexandre Courbot, Jon Hunter

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: Jon Hunter <jonathanh@nvidia.com>
---
 drivers/pinctrl/tegra/pinctrl-tegra-xusb.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c b/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
index 2f06029..19f16f4 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
@@ -914,7 +914,8 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	padctl->desc.confops = &tegra_xusb_padctl_pinconf_ops;
 	padctl->desc.owner = THIS_MODULE;
 
-	padctl->pinctrl = pinctrl_register(&padctl->desc, &pdev->dev, padctl);
+	padctl->pinctrl = devm_pinctrl_register(&pdev->dev, &padctl->desc,
+						padctl);
 	if (IS_ERR(padctl->pinctrl)) {
 		dev_err(&pdev->dev, "failed to register pincontrol\n");
 		err = PTR_ERR(padctl->pinctrl);
@@ -924,7 +925,7 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	phy = devm_phy_create(&pdev->dev, NULL, &pcie_phy_ops);
 	if (IS_ERR(phy)) {
 		err = PTR_ERR(phy);
-		goto unregister;
+		goto reset;
 	}
 
 	padctl->phys[TEGRA_XUSB_PADCTL_PCIE] = phy;
@@ -933,7 +934,7 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	phy = devm_phy_create(&pdev->dev, NULL, &sata_phy_ops);
 	if (IS_ERR(phy)) {
 		err = PTR_ERR(phy);
-		goto unregister;
+		goto reset;
 	}
 
 	padctl->phys[TEGRA_XUSB_PADCTL_SATA] = phy;
@@ -944,13 +945,11 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	if (IS_ERR(padctl->provider)) {
 		err = PTR_ERR(padctl->provider);
 		dev_err(&pdev->dev, "failed to register PHYs: %d\n", err);
-		goto unregister;
+		goto reset;
 	}
 
 	return 0;
 
-unregister:
-	pinctrl_unregister(padctl->pinctrl);
 reset:
 	reset_control_assert(padctl->rst);
 	return err;
@@ -961,8 +960,6 @@ static int tegra_xusb_padctl_remove(struct platform_device *pdev)
 	struct tegra_xusb_padctl *padctl = platform_get_drvdata(pdev);
 	int err;
 
-	pinctrl_unregister(padctl->pinctrl);
-
 	err = reset_control_assert(padctl->rst);
 	if (err < 0)
 		dev_err(&pdev->dev, "failed to assert reset: %d\n", err);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 30/50] pinctrl: tegra-xusb: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: Jon Hunter <jonathanh@nvidia.com>
---
 drivers/pinctrl/tegra/pinctrl-tegra-xusb.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c b/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
index 2f06029..19f16f4 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
@@ -914,7 +914,8 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	padctl->desc.confops = &tegra_xusb_padctl_pinconf_ops;
 	padctl->desc.owner = THIS_MODULE;
 
-	padctl->pinctrl = pinctrl_register(&padctl->desc, &pdev->dev, padctl);
+	padctl->pinctrl = devm_pinctrl_register(&pdev->dev, &padctl->desc,
+						padctl);
 	if (IS_ERR(padctl->pinctrl)) {
 		dev_err(&pdev->dev, "failed to register pincontrol\n");
 		err = PTR_ERR(padctl->pinctrl);
@@ -924,7 +925,7 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	phy = devm_phy_create(&pdev->dev, NULL, &pcie_phy_ops);
 	if (IS_ERR(phy)) {
 		err = PTR_ERR(phy);
-		goto unregister;
+		goto reset;
 	}
 
 	padctl->phys[TEGRA_XUSB_PADCTL_PCIE] = phy;
@@ -933,7 +934,7 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	phy = devm_phy_create(&pdev->dev, NULL, &sata_phy_ops);
 	if (IS_ERR(phy)) {
 		err = PTR_ERR(phy);
-		goto unregister;
+		goto reset;
 	}
 
 	padctl->phys[TEGRA_XUSB_PADCTL_SATA] = phy;
@@ -944,13 +945,11 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
 	if (IS_ERR(padctl->provider)) {
 		err = PTR_ERR(padctl->provider);
 		dev_err(&pdev->dev, "failed to register PHYs: %d\n", err);
-		goto unregister;
+		goto reset;
 	}
 
 	return 0;
 
-unregister:
-	pinctrl_unregister(padctl->pinctrl);
 reset:
 	reset_control_assert(padctl->rst);
 	return err;
@@ -961,8 +960,6 @@ static int tegra_xusb_padctl_remove(struct platform_device *pdev)
 	struct tegra_xusb_padctl *padctl = platform_get_drvdata(pdev);
 	int err;
 
-	pinctrl_unregister(padctl->pinctrl);
-
 	err = reset_control_assert(padctl->rst);
 	if (err < 0)
 		dev_err(&pdev->dev, "failed to assert reset: %d\n", err);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Masahiro Yamada

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Masahiro Yamada

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 32/50] pinctrl: vt8500: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Lee Jones, Heiko Stuebner, Mika Westerberg,
	Hongzhou Yang

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
---
 drivers/pinctrl/vt8500/pinctrl-wmt.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/vt8500/pinctrl-wmt.c b/drivers/pinctrl/vt8500/pinctrl-wmt.c
index 5c261bf..159672b 100644
--- a/drivers/pinctrl/vt8500/pinctrl-wmt.c
+++ b/drivers/pinctrl/vt8500/pinctrl-wmt.c
@@ -583,7 +583,7 @@ int wmt_pinctrl_probe(struct platform_device *pdev,
 
 	data->dev = &pdev->dev;
 
-	data->pctl_dev = pinctrl_register(&wmt_desc, &pdev->dev, data);
+	data->pctl_dev = devm_pinctrl_register(&pdev->dev, &wmt_desc, data);
 	if (IS_ERR(data->pctl_dev)) {
 		dev_err(&pdev->dev, "Failed to register pinctrl\n");
 		return PTR_ERR(data->pctl_dev);
@@ -592,7 +592,7 @@ int wmt_pinctrl_probe(struct platform_device *pdev,
 	err = gpiochip_add_data(&data->gpio_chip, data);
 	if (err) {
 		dev_err(&pdev->dev, "could not add GPIO chip\n");
-		goto fail_gpio;
+		return ret;
 	}
 
 	err = gpiochip_add_pin_range(&data->gpio_chip, dev_name(data->dev),
@@ -606,8 +606,6 @@ int wmt_pinctrl_probe(struct platform_device *pdev,
 
 fail_range:
 	gpiochip_remove(&data->gpio_chip);
-fail_gpio:
-	pinctrl_unregister(data->pctl_dev);
 	return err;
 }
 
@@ -616,7 +614,6 @@ int wmt_pinctrl_remove(struct platform_device *pdev)
 	struct wmt_pinctrl_data *data = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&data->gpio_chip);
-	pinctrl_unregister(data->pctl_dev);
 
 	return 0;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 32/50] pinctrl: vt8500: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Lee Jones, Heiko Stuebner, Mika Westerberg,
	Hongzhou Yang

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
---
 drivers/pinctrl/vt8500/pinctrl-wmt.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/vt8500/pinctrl-wmt.c b/drivers/pinctrl/vt8500/pinctrl-wmt.c
index 5c261bf..159672b 100644
--- a/drivers/pinctrl/vt8500/pinctrl-wmt.c
+++ b/drivers/pinctrl/vt8500/pinctrl-wmt.c
@@ -583,7 +583,7 @@ int wmt_pinctrl_probe(struct platform_device *pdev,
 
 	data->dev = &pdev->dev;
 
-	data->pctl_dev = pinctrl_register(&wmt_desc, &pdev->dev, data);
+	data->pctl_dev = devm_pinctrl_register(&pdev->dev, &wmt_desc, data);
 	if (IS_ERR(data->pctl_dev)) {
 		dev_err(&pdev->dev, "Failed to register pinctrl\n");
 		return PTR_ERR(data->pctl_dev);
@@ -592,7 +592,7 @@ int wmt_pinctrl_probe(struct platform_device *pdev,
 	err = gpiochip_add_data(&data->gpio_chip, data);
 	if (err) {
 		dev_err(&pdev->dev, "could not add GPIO chip\n");
-		goto fail_gpio;
+		return ret;
 	}
 
 	err = gpiochip_add_pin_range(&data->gpio_chip, dev_name(data->dev),
@@ -606,8 +606,6 @@ int wmt_pinctrl_probe(struct platform_device *pdev,
 
 fail_range:
 	gpiochip_remove(&data->gpio_chip);
-fail_gpio:
-	pinctrl_unregister(data->pctl_dev);
 	return err;
 }
 
@@ -616,7 +614,6 @@ int wmt_pinctrl_remove(struct platform_device *pdev)
 	struct wmt_pinctrl_data *data = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&data->gpio_chip);
-	pinctrl_unregister(data->pctl_dev);
 
 	return 0;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 32/50] pinctrl: vt8500: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
the error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
---
 drivers/pinctrl/vt8500/pinctrl-wmt.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/vt8500/pinctrl-wmt.c b/drivers/pinctrl/vt8500/pinctrl-wmt.c
index 5c261bf..159672b 100644
--- a/drivers/pinctrl/vt8500/pinctrl-wmt.c
+++ b/drivers/pinctrl/vt8500/pinctrl-wmt.c
@@ -583,7 +583,7 @@ int wmt_pinctrl_probe(struct platform_device *pdev,
 
 	data->dev = &pdev->dev;
 
-	data->pctl_dev = pinctrl_register(&wmt_desc, &pdev->dev, data);
+	data->pctl_dev = devm_pinctrl_register(&pdev->dev, &wmt_desc, data);
 	if (IS_ERR(data->pctl_dev)) {
 		dev_err(&pdev->dev, "Failed to register pinctrl\n");
 		return PTR_ERR(data->pctl_dev);
@@ -592,7 +592,7 @@ int wmt_pinctrl_probe(struct platform_device *pdev,
 	err = gpiochip_add_data(&data->gpio_chip, data);
 	if (err) {
 		dev_err(&pdev->dev, "could not add GPIO chip\n");
-		goto fail_gpio;
+		return ret;
 	}
 
 	err = gpiochip_add_pin_range(&data->gpio_chip, dev_name(data->dev),
@@ -606,8 +606,6 @@ int wmt_pinctrl_probe(struct platform_device *pdev,
 
 fail_range:
 	gpiochip_remove(&data->gpio_chip);
-fail_gpio:
-	pinctrl_unregister(data->pctl_dev);
 	return err;
 }
 
@@ -616,7 +614,6 @@ int wmt_pinctrl_remove(struct platform_device *pdev)
 	struct wmt_pinctrl_data *data = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&data->gpio_chip);
-	pinctrl_unregister(data->pctl_dev);
 
 	return 0;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 33/50] pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 33/50] pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 33/50] pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 34/50] pinctrl: amd: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:15     ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, corbet-T1hC0tSOHrs,
	lee-DgEjT+Ai2ygdnm+yROfE0A
  Cc: linux-doc-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA, Laxman Dewangan,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Use devm_pinctrl_register() for pin control registration and clean
error path.

Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
 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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 34/50] pinctrl: amd: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 34/50] pinctrl: amd: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:15     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:15 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 35/50] pinctrl: as3722: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration and clean
error path.

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

diff --git a/drivers/pinctrl/pinctrl-as3722.c b/drivers/pinctrl/pinctrl-as3722.c
index e844fdc..0808569 100644
--- a/drivers/pinctrl/pinctrl-as3722.c
+++ b/drivers/pinctrl/pinctrl-as3722.c
@@ -569,8 +569,8 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
 	as3722_pinctrl_desc.name = dev_name(&pdev->dev);
 	as3722_pinctrl_desc.pins = as3722_pins_desc;
 	as3722_pinctrl_desc.npins = ARRAY_SIZE(as3722_pins_desc);
-	as_pci->pctl = pinctrl_register(&as3722_pinctrl_desc,
-					&pdev->dev, as_pci);
+	as_pci->pctl = devm_pinctrl_register(&pdev->dev, &as3722_pinctrl_desc,
+					     as_pci);
 	if (IS_ERR(as_pci->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(as_pci->pctl);
@@ -582,7 +582,7 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
 	ret = gpiochip_add_data(&as_pci->gpio_chip, as_pci);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "Couldn't register gpiochip, %d\n", ret);
-		goto fail_chip_add;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&as_pci->gpio_chip, dev_name(&pdev->dev),
@@ -596,8 +596,6 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
 
 fail_range_add:
 	gpiochip_remove(&as_pci->gpio_chip);
-fail_chip_add:
-	pinctrl_unregister(as_pci->pctl);
 	return ret;
 }
 
@@ -606,7 +604,6 @@ static int as3722_pinctrl_remove(struct platform_device *pdev)
 	struct as3722_pctrl_info *as_pci = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&as_pci->gpio_chip);
-	pinctrl_unregister(as_pci->pctl);
 	return 0;
 }
 
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 35/50] pinctrl: as3722: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration and clean
error path.

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

diff --git a/drivers/pinctrl/pinctrl-as3722.c b/drivers/pinctrl/pinctrl-as3722.c
index e844fdc..0808569 100644
--- a/drivers/pinctrl/pinctrl-as3722.c
+++ b/drivers/pinctrl/pinctrl-as3722.c
@@ -569,8 +569,8 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
 	as3722_pinctrl_desc.name = dev_name(&pdev->dev);
 	as3722_pinctrl_desc.pins = as3722_pins_desc;
 	as3722_pinctrl_desc.npins = ARRAY_SIZE(as3722_pins_desc);
-	as_pci->pctl = pinctrl_register(&as3722_pinctrl_desc,
-					&pdev->dev, as_pci);
+	as_pci->pctl = devm_pinctrl_register(&pdev->dev, &as3722_pinctrl_desc,
+					     as_pci);
 	if (IS_ERR(as_pci->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(as_pci->pctl);
@@ -582,7 +582,7 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
 	ret = gpiochip_add_data(&as_pci->gpio_chip, as_pci);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "Couldn't register gpiochip, %d\n", ret);
-		goto fail_chip_add;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&as_pci->gpio_chip, dev_name(&pdev->dev),
@@ -596,8 +596,6 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
 
 fail_range_add:
 	gpiochip_remove(&as_pci->gpio_chip);
-fail_chip_add:
-	pinctrl_unregister(as_pci->pctl);
 	return ret;
 }
 
@@ -606,7 +604,6 @@ static int as3722_pinctrl_remove(struct platform_device *pdev)
 	struct as3722_pctrl_info *as_pci = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&as_pci->gpio_chip);
-	pinctrl_unregister(as_pci->pctl);
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 35/50] pinctrl: as3722: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
error path.

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

diff --git a/drivers/pinctrl/pinctrl-as3722.c b/drivers/pinctrl/pinctrl-as3722.c
index e844fdc..0808569 100644
--- a/drivers/pinctrl/pinctrl-as3722.c
+++ b/drivers/pinctrl/pinctrl-as3722.c
@@ -569,8 +569,8 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
 	as3722_pinctrl_desc.name = dev_name(&pdev->dev);
 	as3722_pinctrl_desc.pins = as3722_pins_desc;
 	as3722_pinctrl_desc.npins = ARRAY_SIZE(as3722_pins_desc);
-	as_pci->pctl = pinctrl_register(&as3722_pinctrl_desc,
-					&pdev->dev, as_pci);
+	as_pci->pctl = devm_pinctrl_register(&pdev->dev, &as3722_pinctrl_desc,
+					     as_pci);
 	if (IS_ERR(as_pci->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(as_pci->pctl);
@@ -582,7 +582,7 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
 	ret = gpiochip_add_data(&as_pci->gpio_chip, as_pci);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "Couldn't register gpiochip, %d\n", ret);
-		goto fail_chip_add;
+		return ret;
 	}
 
 	ret = gpiochip_add_pin_range(&as_pci->gpio_chip, dev_name(&pdev->dev),
@@ -596,8 +596,6 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
 
 fail_range_add:
 	gpiochip_remove(&as_pci->gpio_chip);
-fail_chip_add:
-	pinctrl_unregister(as_pci->pctl);
 	return ret;
 }
 
@@ -606,7 +604,6 @@ static int as3722_pinctrl_remove(struct platform_device *pdev)
 	struct as3722_pctrl_info *as_pci = platform_get_drvdata(pdev);
 
 	gpiochip_remove(&as_pci->gpio_chip);
-	pinctrl_unregister(as_pci->pctl);
 	return 0;
 }
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 36/50] pinctrl: at91-pio4: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration and clean
error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/pinctrl/pinctrl-at91-pio4.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
index ee69db6..9d33ef5 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -1034,18 +1034,19 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
 		goto clk_prepare_enable_error;
 	}
 
-	atmel_pioctrl->pinctrl_dev = pinctrl_register(&atmel_pinctrl_desc,
-						      &pdev->dev,
-						      atmel_pioctrl);
-	if (!atmel_pioctrl->pinctrl_dev) {
+	atmel_pioctrl->pinctrl_dev = devm_pinctrl_register(&pdev->dev,
+							   &atmel_pinctrl_desc,
+							   atmel_pioctrl);
+	if (IS_ERR(atmel_pioctrl->pinctrl_dev)) {
+		ret = PTR_ERR(atmel_pioctrl->pinctrl_dev);
 		dev_err(dev, "pinctrl registration failed\n");
-		goto pinctrl_register_error;
+		goto clk_unprep;
 	}
 
 	ret = gpiochip_add_data(atmel_pioctrl->gpio_chip, atmel_pioctrl);
 	if (ret) {
 		dev_err(dev, "failed to add gpiochip\n");
-		goto gpiochip_add_error;
+		goto clk_unprep;
 	}
 
 	ret = gpiochip_add_pin_range(atmel_pioctrl->gpio_chip, dev_name(dev),
@@ -1059,15 +1060,15 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
 
 	return 0;
 
-clk_prepare_enable_error:
-	irq_domain_remove(atmel_pioctrl->irq_domain);
-pinctrl_register_error:
-	clk_disable_unprepare(atmel_pioctrl->clk);
-gpiochip_add_error:
-	pinctrl_unregister(atmel_pioctrl->pinctrl_dev);
 gpiochip_add_pin_range_error:
 	gpiochip_remove(atmel_pioctrl->gpio_chip);
 
+clk_unprep:
+	clk_disable_unprepare(atmel_pioctrl->clk);
+
+clk_prepare_enable_error:
+	irq_domain_remove(atmel_pioctrl->irq_domain);
+
 	return ret;
 }
 
@@ -1077,7 +1078,6 @@ int atmel_pinctrl_remove(struct platform_device *pdev)
 
 	irq_domain_remove(atmel_pioctrl->irq_domain);
 	clk_disable_unprepare(atmel_pioctrl->clk);
-	pinctrl_unregister(atmel_pioctrl->pinctrl_dev);
 	gpiochip_remove(atmel_pioctrl->gpio_chip);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 36/50] pinctrl: at91-pio4: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration and clean
error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/pinctrl/pinctrl-at91-pio4.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
index ee69db6..9d33ef5 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -1034,18 +1034,19 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
 		goto clk_prepare_enable_error;
 	}
 
-	atmel_pioctrl->pinctrl_dev = pinctrl_register(&atmel_pinctrl_desc,
-						      &pdev->dev,
-						      atmel_pioctrl);
-	if (!atmel_pioctrl->pinctrl_dev) {
+	atmel_pioctrl->pinctrl_dev = devm_pinctrl_register(&pdev->dev,
+							   &atmel_pinctrl_desc,
+							   atmel_pioctrl);
+	if (IS_ERR(atmel_pioctrl->pinctrl_dev)) {
+		ret = PTR_ERR(atmel_pioctrl->pinctrl_dev);
 		dev_err(dev, "pinctrl registration failed\n");
-		goto pinctrl_register_error;
+		goto clk_unprep;
 	}
 
 	ret = gpiochip_add_data(atmel_pioctrl->gpio_chip, atmel_pioctrl);
 	if (ret) {
 		dev_err(dev, "failed to add gpiochip\n");
-		goto gpiochip_add_error;
+		goto clk_unprep;
 	}
 
 	ret = gpiochip_add_pin_range(atmel_pioctrl->gpio_chip, dev_name(dev),
@@ -1059,15 +1060,15 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
 
 	return 0;
 
-clk_prepare_enable_error:
-	irq_domain_remove(atmel_pioctrl->irq_domain);
-pinctrl_register_error:
-	clk_disable_unprepare(atmel_pioctrl->clk);
-gpiochip_add_error:
-	pinctrl_unregister(atmel_pioctrl->pinctrl_dev);
 gpiochip_add_pin_range_error:
 	gpiochip_remove(atmel_pioctrl->gpio_chip);
 
+clk_unprep:
+	clk_disable_unprepare(atmel_pioctrl->clk);
+
+clk_prepare_enable_error:
+	irq_domain_remove(atmel_pioctrl->irq_domain);
+
 	return ret;
 }
 
@@ -1077,7 +1078,6 @@ int atmel_pinctrl_remove(struct platform_device *pdev)
 
 	irq_domain_remove(atmel_pioctrl->irq_domain);
 	clk_disable_unprepare(atmel_pioctrl->clk);
-	pinctrl_unregister(atmel_pioctrl->pinctrl_dev);
 	gpiochip_remove(atmel_pioctrl->gpio_chip);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 36/50] pinctrl: at91-pio4: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: linux-arm-kernel at lists.infradead.org
---
 drivers/pinctrl/pinctrl-at91-pio4.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
index ee69db6..9d33ef5 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -1034,18 +1034,19 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
 		goto clk_prepare_enable_error;
 	}
 
-	atmel_pioctrl->pinctrl_dev = pinctrl_register(&atmel_pinctrl_desc,
-						      &pdev->dev,
-						      atmel_pioctrl);
-	if (!atmel_pioctrl->pinctrl_dev) {
+	atmel_pioctrl->pinctrl_dev = devm_pinctrl_register(&pdev->dev,
+							   &atmel_pinctrl_desc,
+							   atmel_pioctrl);
+	if (IS_ERR(atmel_pioctrl->pinctrl_dev)) {
+		ret = PTR_ERR(atmel_pioctrl->pinctrl_dev);
 		dev_err(dev, "pinctrl registration failed\n");
-		goto pinctrl_register_error;
+		goto clk_unprep;
 	}
 
 	ret = gpiochip_add_data(atmel_pioctrl->gpio_chip, atmel_pioctrl);
 	if (ret) {
 		dev_err(dev, "failed to add gpiochip\n");
-		goto gpiochip_add_error;
+		goto clk_unprep;
 	}
 
 	ret = gpiochip_add_pin_range(atmel_pioctrl->gpio_chip, dev_name(dev),
@@ -1059,15 +1060,15 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
 
 	return 0;
 
-clk_prepare_enable_error:
-	irq_domain_remove(atmel_pioctrl->irq_domain);
-pinctrl_register_error:
-	clk_disable_unprepare(atmel_pioctrl->clk);
-gpiochip_add_error:
-	pinctrl_unregister(atmel_pioctrl->pinctrl_dev);
 gpiochip_add_pin_range_error:
 	gpiochip_remove(atmel_pioctrl->gpio_chip);
 
+clk_unprep:
+	clk_disable_unprepare(atmel_pioctrl->clk);
+
+clk_prepare_enable_error:
+	irq_domain_remove(atmel_pioctrl->irq_domain);
+
 	return ret;
 }
 
@@ -1077,7 +1078,6 @@ int atmel_pinctrl_remove(struct platform_device *pdev)
 
 	irq_domain_remove(atmel_pioctrl->irq_domain);
 	clk_disable_unprepare(atmel_pioctrl->clk);
-	pinctrl_unregister(atmel_pioctrl->pinctrl_dev);
 	gpiochip_remove(atmel_pioctrl->gpio_chip);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 37/50] pinctrl: at91: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Jean-Christophe Plagniol-Villard

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 37/50] pinctrl: at91: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Jean-Christophe Plagniol-Villard

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 37/50] pinctrl: at91: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 38/50] pinctrl: digicolor: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Baruch Siach

Use devm_pinctrl_register() for pin control registration and clean
error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Baruch Siach <baruch@tkos.co.il>
---
 drivers/pinctrl/pinctrl-digicolor.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-digicolor.c b/drivers/pinctrl/pinctrl-digicolor.c
index f1343d6..c18014d 100644
--- a/drivers/pinctrl/pinctrl-digicolor.c
+++ b/drivers/pinctrl/pinctrl-digicolor.c
@@ -326,17 +326,15 @@ static int dc_pinctrl_probe(struct platform_device *pdev)
 
 	pmap->dev = &pdev->dev;
 
-	pmap->pctl = pinctrl_register(pctl_desc, &pdev->dev, pmap);
+	pmap->pctl = devm_pinctrl_register(&pdev->dev, pctl_desc, pmap);
 	if (IS_ERR(pmap->pctl)) {
 		dev_err(&pdev->dev, "pinctrl driver registration failed\n");
 		return PTR_ERR(pmap->pctl);
 	}
 
 	ret = dc_gpiochip_add(pmap, pdev->dev.of_node);
-	if (ret < 0) {
-		pinctrl_unregister(pmap->pctl);
+	if (ret < 0)
 		return ret;
-	}
 
 	return 0;
 }
@@ -345,7 +343,6 @@ static int dc_pinctrl_remove(struct platform_device *pdev)
 {
 	struct dc_pinmap *pmap = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(pmap->pctl);
 	gpiochip_remove(&pmap->chip);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 38/50] pinctrl: digicolor: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Baruch Siach

Use devm_pinctrl_register() for pin control registration and clean
error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Baruch Siach <baruch@tkos.co.il>
---
 drivers/pinctrl/pinctrl-digicolor.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-digicolor.c b/drivers/pinctrl/pinctrl-digicolor.c
index f1343d6..c18014d 100644
--- a/drivers/pinctrl/pinctrl-digicolor.c
+++ b/drivers/pinctrl/pinctrl-digicolor.c
@@ -326,17 +326,15 @@ static int dc_pinctrl_probe(struct platform_device *pdev)
 
 	pmap->dev = &pdev->dev;
 
-	pmap->pctl = pinctrl_register(pctl_desc, &pdev->dev, pmap);
+	pmap->pctl = devm_pinctrl_register(&pdev->dev, pctl_desc, pmap);
 	if (IS_ERR(pmap->pctl)) {
 		dev_err(&pdev->dev, "pinctrl driver registration failed\n");
 		return PTR_ERR(pmap->pctl);
 	}
 
 	ret = dc_gpiochip_add(pmap, pdev->dev.of_node);
-	if (ret < 0) {
-		pinctrl_unregister(pmap->pctl);
+	if (ret < 0)
 		return ret;
-	}
 
 	return 0;
 }
@@ -345,7 +343,6 @@ static int dc_pinctrl_remove(struct platform_device *pdev)
 {
 	struct dc_pinmap *pmap = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(pmap->pctl);
 	gpiochip_remove(&pmap->chip);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 38/50] pinctrl: digicolor: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and clean
error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Baruch Siach <baruch@tkos.co.il>
---
 drivers/pinctrl/pinctrl-digicolor.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-digicolor.c b/drivers/pinctrl/pinctrl-digicolor.c
index f1343d6..c18014d 100644
--- a/drivers/pinctrl/pinctrl-digicolor.c
+++ b/drivers/pinctrl/pinctrl-digicolor.c
@@ -326,17 +326,15 @@ static int dc_pinctrl_probe(struct platform_device *pdev)
 
 	pmap->dev = &pdev->dev;
 
-	pmap->pctl = pinctrl_register(pctl_desc, &pdev->dev, pmap);
+	pmap->pctl = devm_pinctrl_register(&pdev->dev, pctl_desc, pmap);
 	if (IS_ERR(pmap->pctl)) {
 		dev_err(&pdev->dev, "pinctrl driver registration failed\n");
 		return PTR_ERR(pmap->pctl);
 	}
 
 	ret = dc_gpiochip_add(pmap, pdev->dev.of_node);
-	if (ret < 0) {
-		pinctrl_unregister(pmap->pctl);
+	if (ret < 0)
 		return ret;
-	}
 
 	return 0;
 }
@@ -345,7 +343,6 @@ static int dc_pinctrl_remove(struct platform_device *pdev)
 {
 	struct dc_pinmap *pmap = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(pmap->pctl);
 	gpiochip_remove(&pmap->chip);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 39/50] pinctrl: lantiq: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/pinctrl/pinctrl-lantiq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-lantiq.c b/drivers/pinctrl/pinctrl-lantiq.c
index fc38a85..a4d6474 100644
--- a/drivers/pinctrl/pinctrl-lantiq.c
+++ b/drivers/pinctrl/pinctrl-lantiq.c
@@ -336,7 +336,7 @@ int ltq_pinctrl_register(struct platform_device *pdev,
 	desc->pmxops = &ltq_pmx_ops;
 	info->dev = &pdev->dev;
 
-	info->pctrl = pinctrl_register(desc, &pdev->dev, info);
+	info->pctrl = devm_pinctrl_register(&pdev->dev, desc, info);
 	if (IS_ERR(info->pctrl)) {
 		dev_err(&pdev->dev, "failed to register LTQ pinmux driver\n");
 		return PTR_ERR(info->pctrl);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 39/50] pinctrl: lantiq: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/pinctrl/pinctrl-lantiq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-lantiq.c b/drivers/pinctrl/pinctrl-lantiq.c
index fc38a85..a4d6474 100644
--- a/drivers/pinctrl/pinctrl-lantiq.c
+++ b/drivers/pinctrl/pinctrl-lantiq.c
@@ -336,7 +336,7 @@ int ltq_pinctrl_register(struct platform_device *pdev,
 	desc->pmxops = &ltq_pmx_ops;
 	info->dev = &pdev->dev;
 
-	info->pctrl = pinctrl_register(desc, &pdev->dev, info);
+	info->pctrl = devm_pinctrl_register(&pdev->dev, desc, info);
 	if (IS_ERR(info->pctrl)) {
 		dev_err(&pdev->dev, "failed to register LTQ pinmux driver\n");
 		return PTR_ERR(info->pctrl);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 39/50] pinctrl: lantiq: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/pinctrl/pinctrl-lantiq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-lantiq.c b/drivers/pinctrl/pinctrl-lantiq.c
index fc38a85..a4d6474 100644
--- a/drivers/pinctrl/pinctrl-lantiq.c
+++ b/drivers/pinctrl/pinctrl-lantiq.c
@@ -336,7 +336,7 @@ int ltq_pinctrl_register(struct platform_device *pdev,
 	desc->pmxops = &ltq_pmx_ops;
 	info->dev = &pdev->dev;
 
-	info->pctrl = pinctrl_register(desc, &pdev->dev, info);
+	info->pctrl = devm_pinctrl_register(&pdev->dev, desc, info);
 	if (IS_ERR(info->pctrl)) {
 		dev_err(&pdev->dev, "failed to register LTQ pinmux driver\n");
 		return PTR_ERR(info->pctrl);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 40/50] pinctrl: lpc18xx: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Joachim Eastwood

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Joachim Eastwood <manabian@gmail.com>
---
 drivers/pinctrl/pinctrl-lpc18xx.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-lpc18xx.c b/drivers/pinctrl/pinctrl-lpc18xx.c
index f0bebbe..7227e40 100644
--- a/drivers/pinctrl/pinctrl-lpc18xx.c
+++ b/drivers/pinctrl/pinctrl-lpc18xx.c
@@ -1225,7 +1225,7 @@ static int lpc18xx_scu_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, scu);
 
-	scu->pctl = pinctrl_register(&lpc18xx_scu_desc, &pdev->dev, scu);
+	scu->pctl = devm_pinctrl_register(&pdev->dev, &lpc18xx_scu_desc, scu);
 	if (IS_ERR(scu->pctl)) {
 		dev_err(&pdev->dev, "Could not register pinctrl driver\n");
 		clk_disable_unprepare(scu->clk);
@@ -1239,7 +1239,6 @@ static int lpc18xx_scu_remove(struct platform_device *pdev)
 {
 	struct lpc18xx_scu_data *scu = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(scu->pctl);
 	clk_disable_unprepare(scu->clk);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 40/50] pinctrl: lpc18xx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Joachim Eastwood

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Joachim Eastwood <manabian@gmail.com>
---
 drivers/pinctrl/pinctrl-lpc18xx.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-lpc18xx.c b/drivers/pinctrl/pinctrl-lpc18xx.c
index f0bebbe..7227e40 100644
--- a/drivers/pinctrl/pinctrl-lpc18xx.c
+++ b/drivers/pinctrl/pinctrl-lpc18xx.c
@@ -1225,7 +1225,7 @@ static int lpc18xx_scu_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, scu);
 
-	scu->pctl = pinctrl_register(&lpc18xx_scu_desc, &pdev->dev, scu);
+	scu->pctl = devm_pinctrl_register(&pdev->dev, &lpc18xx_scu_desc, scu);
 	if (IS_ERR(scu->pctl)) {
 		dev_err(&pdev->dev, "Could not register pinctrl driver\n");
 		clk_disable_unprepare(scu->clk);
@@ -1239,7 +1239,6 @@ static int lpc18xx_scu_remove(struct platform_device *pdev)
 {
 	struct lpc18xx_scu_data *scu = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(scu->pctl);
 	clk_disable_unprepare(scu->clk);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 40/50] pinctrl: lpc18xx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Joachim Eastwood <manabian@gmail.com>
---
 drivers/pinctrl/pinctrl-lpc18xx.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-lpc18xx.c b/drivers/pinctrl/pinctrl-lpc18xx.c
index f0bebbe..7227e40 100644
--- a/drivers/pinctrl/pinctrl-lpc18xx.c
+++ b/drivers/pinctrl/pinctrl-lpc18xx.c
@@ -1225,7 +1225,7 @@ static int lpc18xx_scu_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, scu);
 
-	scu->pctl = pinctrl_register(&lpc18xx_scu_desc, &pdev->dev, scu);
+	scu->pctl = devm_pinctrl_register(&pdev->dev, &lpc18xx_scu_desc, scu);
 	if (IS_ERR(scu->pctl)) {
 		dev_err(&pdev->dev, "Could not register pinctrl driver\n");
 		clk_disable_unprepare(scu->clk);
@@ -1239,7 +1239,6 @@ static int lpc18xx_scu_remove(struct platform_device *pdev)
 {
 	struct lpc18xx_scu_data *scu = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(scu->pctl);
 	clk_disable_unprepare(scu->clk);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 41/50] pinctrl: palmas: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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-palmas.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-palmas.c b/drivers/pinctrl/pinctrl-palmas.c
index f7e1680..07b952b 100644
--- a/drivers/pinctrl/pinctrl-palmas.c
+++ b/drivers/pinctrl/pinctrl-palmas.c
@@ -1043,7 +1043,8 @@ static int palmas_pinctrl_probe(struct platform_device *pdev)
 	palmas_pinctrl_desc.name = dev_name(&pdev->dev);
 	palmas_pinctrl_desc.pins = palmas_pins_desc;
 	palmas_pinctrl_desc.npins = ARRAY_SIZE(palmas_pins_desc);
-	pci->pctl = pinctrl_register(&palmas_pinctrl_desc, &pdev->dev, pci);
+	pci->pctl = devm_pinctrl_register(&pdev->dev, &palmas_pinctrl_desc,
+					  pci);
 	if (IS_ERR(pci->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pci->pctl);
@@ -1051,21 +1052,12 @@ static int palmas_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int palmas_pinctrl_remove(struct platform_device *pdev)
-{
-	struct palmas_pctrl_chip_info *pci = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pci->pctl);
-	return 0;
-}
-
 static struct platform_driver palmas_pinctrl_driver = {
 	.driver = {
 		.name = "palmas-pinctrl",
 		.of_match_table = palmas_pinctrl_of_match,
 	},
 	.probe = palmas_pinctrl_probe,
-	.remove = palmas_pinctrl_remove,
 };
 
 module_platform_driver(palmas_pinctrl_driver);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 41/50] pinctrl: palmas: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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-palmas.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-palmas.c b/drivers/pinctrl/pinctrl-palmas.c
index f7e1680..07b952b 100644
--- a/drivers/pinctrl/pinctrl-palmas.c
+++ b/drivers/pinctrl/pinctrl-palmas.c
@@ -1043,7 +1043,8 @@ static int palmas_pinctrl_probe(struct platform_device *pdev)
 	palmas_pinctrl_desc.name = dev_name(&pdev->dev);
 	palmas_pinctrl_desc.pins = palmas_pins_desc;
 	palmas_pinctrl_desc.npins = ARRAY_SIZE(palmas_pins_desc);
-	pci->pctl = pinctrl_register(&palmas_pinctrl_desc, &pdev->dev, pci);
+	pci->pctl = devm_pinctrl_register(&pdev->dev, &palmas_pinctrl_desc,
+					  pci);
 	if (IS_ERR(pci->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pci->pctl);
@@ -1051,21 +1052,12 @@ static int palmas_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int palmas_pinctrl_remove(struct platform_device *pdev)
-{
-	struct palmas_pctrl_chip_info *pci = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pci->pctl);
-	return 0;
-}
-
 static struct platform_driver palmas_pinctrl_driver = {
 	.driver = {
 		.name = "palmas-pinctrl",
 		.of_match_table = palmas_pinctrl_of_match,
 	},
 	.probe = palmas_pinctrl_probe,
-	.remove = palmas_pinctrl_remove,
 };
 
 module_platform_driver(palmas_pinctrl_driver);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 41/50] pinctrl: palmas: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

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-palmas.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-palmas.c b/drivers/pinctrl/pinctrl-palmas.c
index f7e1680..07b952b 100644
--- a/drivers/pinctrl/pinctrl-palmas.c
+++ b/drivers/pinctrl/pinctrl-palmas.c
@@ -1043,7 +1043,8 @@ static int palmas_pinctrl_probe(struct platform_device *pdev)
 	palmas_pinctrl_desc.name = dev_name(&pdev->dev);
 	palmas_pinctrl_desc.pins = palmas_pins_desc;
 	palmas_pinctrl_desc.npins = ARRAY_SIZE(palmas_pins_desc);
-	pci->pctl = pinctrl_register(&palmas_pinctrl_desc, &pdev->dev, pci);
+	pci->pctl = devm_pinctrl_register(&pdev->dev, &palmas_pinctrl_desc,
+					  pci);
 	if (IS_ERR(pci->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pci->pctl);
@@ -1051,21 +1052,12 @@ static int palmas_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int palmas_pinctrl_remove(struct platform_device *pdev)
-{
-	struct palmas_pctrl_chip_info *pci = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pci->pctl);
-	return 0;
-}
-
 static struct platform_driver palmas_pinctrl_driver = {
 	.driver = {
 		.name = "palmas-pinctrl",
 		.of_match_table = palmas_pinctrl_of_match,
 	},
 	.probe = palmas_pinctrl_probe,
-	.remove = palmas_pinctrl_remove,
 };
 
 module_platform_driver(palmas_pinctrl_driver);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 42/50] pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration.

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

diff --git a/drivers/pinctrl/pinctrl-pic32.c b/drivers/pinctrl/pinctrl-pic32.c
index 0b07d4b..2a3fcd6 100644
--- a/drivers/pinctrl/pinctrl-pic32.c
+++ b/drivers/pinctrl/pinctrl-pic32.c
@@ -2194,7 +2194,8 @@ static int pic32_pinctrl_probe(struct platform_device *pdev)
 	pic32_pinctrl_desc.custom_params = pic32_mpp_bindings;
 	pic32_pinctrl_desc.num_custom_params = ARRAY_SIZE(pic32_mpp_bindings);
 
-	pctl->pctldev = pinctrl_register(&pic32_pinctrl_desc, &pdev->dev, pctl);
+	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pic32_pinctrl_desc,
+					      pctl);
 	if (IS_ERR(pctl->pctldev)) {
 		dev_err(&pdev->dev, "Failed to register pinctrl device\n");
 		return PTR_ERR(pctl->pctldev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 42/50] pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration.

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

diff --git a/drivers/pinctrl/pinctrl-pic32.c b/drivers/pinctrl/pinctrl-pic32.c
index 0b07d4b..2a3fcd6 100644
--- a/drivers/pinctrl/pinctrl-pic32.c
+++ b/drivers/pinctrl/pinctrl-pic32.c
@@ -2194,7 +2194,8 @@ static int pic32_pinctrl_probe(struct platform_device *pdev)
 	pic32_pinctrl_desc.custom_params = pic32_mpp_bindings;
 	pic32_pinctrl_desc.num_custom_params = ARRAY_SIZE(pic32_mpp_bindings);
 
-	pctl->pctldev = pinctrl_register(&pic32_pinctrl_desc, &pdev->dev, pctl);
+	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pic32_pinctrl_desc,
+					      pctl);
 	if (IS_ERR(pctl->pctldev)) {
 		dev_err(&pdev->dev, "Failed to register pinctrl device\n");
 		return PTR_ERR(pctl->pctldev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 42/50] pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

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

diff --git a/drivers/pinctrl/pinctrl-pic32.c b/drivers/pinctrl/pinctrl-pic32.c
index 0b07d4b..2a3fcd6 100644
--- a/drivers/pinctrl/pinctrl-pic32.c
+++ b/drivers/pinctrl/pinctrl-pic32.c
@@ -2194,7 +2194,8 @@ static int pic32_pinctrl_probe(struct platform_device *pdev)
 	pic32_pinctrl_desc.custom_params = pic32_mpp_bindings;
 	pic32_pinctrl_desc.num_custom_params = ARRAY_SIZE(pic32_mpp_bindings);
 
-	pctl->pctldev = pinctrl_register(&pic32_pinctrl_desc, &pdev->dev, pctl);
+	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pic32_pinctrl_desc,
+					      pctl);
 	if (IS_ERR(pctl->pctldev)) {
 		dev_err(&pdev->dev, "Failed to register pinctrl device\n");
 		return PTR_ERR(pctl->pctldev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 43/50] pinctrl: pistachio: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration.

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

diff --git a/drivers/pinctrl/pinctrl-pistachio.c b/drivers/pinctrl/pinctrl-pistachio.c
index 856f736..adf526d 100644
--- a/drivers/pinctrl/pinctrl-pistachio.c
+++ b/drivers/pinctrl/pinctrl-pistachio.c
@@ -1457,8 +1457,8 @@ static int pistachio_pinctrl_probe(struct platform_device *pdev)
 	pistachio_pinctrl_desc.pins = pctl->pins;
 	pistachio_pinctrl_desc.npins = pctl->npins;
 
-	pctl->pctldev = pinctrl_register(&pistachio_pinctrl_desc, &pdev->dev,
-					 pctl);
+	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pistachio_pinctrl_desc,
+					      pctl);
 	if (IS_ERR(pctl->pctldev)) {
 		dev_err(&pdev->dev, "Failed to register pinctrl device\n");
 		return PTR_ERR(pctl->pctldev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 43/50] pinctrl: pistachio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration.

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

diff --git a/drivers/pinctrl/pinctrl-pistachio.c b/drivers/pinctrl/pinctrl-pistachio.c
index 856f736..adf526d 100644
--- a/drivers/pinctrl/pinctrl-pistachio.c
+++ b/drivers/pinctrl/pinctrl-pistachio.c
@@ -1457,8 +1457,8 @@ static int pistachio_pinctrl_probe(struct platform_device *pdev)
 	pistachio_pinctrl_desc.pins = pctl->pins;
 	pistachio_pinctrl_desc.npins = pctl->npins;
 
-	pctl->pctldev = pinctrl_register(&pistachio_pinctrl_desc, &pdev->dev,
-					 pctl);
+	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pistachio_pinctrl_desc,
+					      pctl);
 	if (IS_ERR(pctl->pctldev)) {
 		dev_err(&pdev->dev, "Failed to register pinctrl device\n");
 		return PTR_ERR(pctl->pctldev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 43/50] pinctrl: pistachio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

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

diff --git a/drivers/pinctrl/pinctrl-pistachio.c b/drivers/pinctrl/pinctrl-pistachio.c
index 856f736..adf526d 100644
--- a/drivers/pinctrl/pinctrl-pistachio.c
+++ b/drivers/pinctrl/pinctrl-pistachio.c
@@ -1457,8 +1457,8 @@ static int pistachio_pinctrl_probe(struct platform_device *pdev)
 	pistachio_pinctrl_desc.pins = pctl->pins;
 	pistachio_pinctrl_desc.npins = pctl->npins;
 
-	pctl->pctldev = pinctrl_register(&pistachio_pinctrl_desc, &pdev->dev,
-					 pctl);
+	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pistachio_pinctrl_desc,
+					      pctl);
 	if (IS_ERR(pctl->pctldev)) {
 		dev_err(&pdev->dev, "Failed to register pinctrl device\n");
 		return PTR_ERR(pctl->pctldev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 44/50] pinctrl: rockchip: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Heiko Stuebner, linux-rockchip

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: linux-rockchip@lists.infradead.org
---
 drivers/pinctrl/pinctrl-rockchip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index bf032b9..3427103 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -1636,7 +1636,7 @@ static int rockchip_pinctrl_register(struct platform_device *pdev,
 	if (ret)
 		return ret;
 
-	info->pctl_dev = pinctrl_register(ctrldesc, &pdev->dev, info);
+	info->pctl_dev = devm_pinctrl_register(&pdev->dev, ctrldesc, info);
 	if (IS_ERR(info->pctl_dev)) {
 		dev_err(&pdev->dev, "could not register pinctrl driver\n");
 		return PTR_ERR(info->pctl_dev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 44/50] pinctrl: rockchip: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Heiko Stuebner, linux-rockchip

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: linux-rockchip@lists.infradead.org
---
 drivers/pinctrl/pinctrl-rockchip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index bf032b9..3427103 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -1636,7 +1636,7 @@ static int rockchip_pinctrl_register(struct platform_device *pdev,
 	if (ret)
 		return ret;
 
-	info->pctl_dev = pinctrl_register(ctrldesc, &pdev->dev, info);
+	info->pctl_dev = devm_pinctrl_register(&pdev->dev, ctrldesc, info);
 	if (IS_ERR(info->pctl_dev)) {
 		dev_err(&pdev->dev, "could not register pinctrl driver\n");
 		return PTR_ERR(info->pctl_dev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 44/50] pinctrl: rockchip: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: linux-rockchip at lists.infradead.org
---
 drivers/pinctrl/pinctrl-rockchip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index bf032b9..3427103 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -1636,7 +1636,7 @@ static int rockchip_pinctrl_register(struct platform_device *pdev,
 	if (ret)
 		return ret;
 
-	info->pctl_dev = pinctrl_register(ctrldesc, &pdev->dev, info);
+	info->pctl_dev = devm_pinctrl_register(&pdev->dev, ctrldesc, info);
 	if (IS_ERR(info->pctl_dev)) {
 		dev_err(&pdev->dev, "could not register pinctrl driver\n");
 		return PTR_ERR(info->pctl_dev);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Srinivas Kandagatla, Maxime Coquelin,
	Patrice Chotard, kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Srinivas Kandagatla, Maxime Coquelin,
	Patrice Chotard, kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 46/50] pinctrl: tb10x: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration.

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

diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
index 6546b9b..170d3ee 100644
--- a/drivers/pinctrl/pinctrl-tb10x.c
+++ b/drivers/pinctrl/pinctrl-tb10x.c
@@ -806,7 +806,7 @@ static int tb10x_pinctrl_probe(struct platform_device *pdev)
 		}
 	}
 
-	state->pctl = pinctrl_register(&tb10x_pindesc, dev, state);
+	state->pctl = devm_pinctrl_register(dev, &tb10x_pindesc, state);
 	if (IS_ERR(state->pctl)) {
 		dev_err(dev, "could not register TB10x pin driver\n");
 		ret = PTR_ERR(state->pctl);
@@ -824,7 +824,6 @@ static int tb10x_pinctrl_remove(struct platform_device *pdev)
 {
 	struct tb10x_pinctrl *state = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(state->pctl);
 	mutex_destroy(&state->mutex);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 46/50] pinctrl: tb10x: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

Use devm_pinctrl_register() for pin control registration.

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

diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
index 6546b9b..170d3ee 100644
--- a/drivers/pinctrl/pinctrl-tb10x.c
+++ b/drivers/pinctrl/pinctrl-tb10x.c
@@ -806,7 +806,7 @@ static int tb10x_pinctrl_probe(struct platform_device *pdev)
 		}
 	}
 
-	state->pctl = pinctrl_register(&tb10x_pindesc, dev, state);
+	state->pctl = devm_pinctrl_register(dev, &tb10x_pindesc, state);
 	if (IS_ERR(state->pctl)) {
 		dev_err(dev, "could not register TB10x pin driver\n");
 		ret = PTR_ERR(state->pctl);
@@ -824,7 +824,6 @@ static int tb10x_pinctrl_remove(struct platform_device *pdev)
 {
 	struct tb10x_pinctrl *state = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(state->pctl);
 	mutex_destroy(&state->mutex);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 46/50] pinctrl: tb10x: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration.

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

diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
index 6546b9b..170d3ee 100644
--- a/drivers/pinctrl/pinctrl-tb10x.c
+++ b/drivers/pinctrl/pinctrl-tb10x.c
@@ -806,7 +806,7 @@ static int tb10x_pinctrl_probe(struct platform_device *pdev)
 		}
 	}
 
-	state->pctl = pinctrl_register(&tb10x_pindesc, dev, state);
+	state->pctl = devm_pinctrl_register(dev, &tb10x_pindesc, state);
 	if (IS_ERR(state->pctl)) {
 		dev_err(dev, "could not register TB10x pin driver\n");
 		ret = PTR_ERR(state->pctl);
@@ -824,7 +824,6 @@ static int tb10x_pinctrl_remove(struct platform_device *pdev)
 {
 	struct tb10x_pinctrl *state = platform_get_drvdata(pdev);
 
-	pinctrl_unregister(state->pctl);
 	mutex_destroy(&state->mutex);
 
 	return 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 47/50] pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 47/50] pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 47/50] pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 48/50] pinctrl: tz1090 Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-tz1090.c b/drivers/pinctrl/pinctrl-tz1090.c
index 5425299..04cbe53 100644
--- a/drivers/pinctrl/pinctrl-tz1090.c
+++ b/drivers/pinctrl/pinctrl-tz1090.c
@@ -1962,7 +1962,8 @@ static int tz1090_pinctrl_probe(struct platform_device *pdev)
 	if (IS_ERR(pmx->regs))
 		return PTR_ERR(pmx->regs);
 
-	pmx->pctl = pinctrl_register(&tz1090_pinctrl_desc, &pdev->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(&pdev->dev, &tz1090_pinctrl_desc,
+					  pmx);
 	if (IS_ERR(pmx->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pmx->pctl);
@@ -1975,15 +1976,6 @@ static int tz1090_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int tz1090_pinctrl_remove(struct platform_device *pdev)
-{
-	struct tz1090_pmx *pmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pmx->pctl);
-
-	return 0;
-}
-
 static const struct of_device_id tz1090_pinctrl_of_match[] = {
 	{ .compatible = "img,tz1090-pinctrl", },
 	{ },
@@ -1995,7 +1987,6 @@ static struct platform_driver tz1090_pinctrl_driver = {
 		.of_match_table	= tz1090_pinctrl_of_match,
 	},
 	.probe	= tz1090_pinctrl_probe,
-	.remove	= tz1090_pinctrl_remove,
 };
 
 static int __init tz1090_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 48/50] pinctrl: tz1090 Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-tz1090.c b/drivers/pinctrl/pinctrl-tz1090.c
index 5425299..04cbe53 100644
--- a/drivers/pinctrl/pinctrl-tz1090.c
+++ b/drivers/pinctrl/pinctrl-tz1090.c
@@ -1962,7 +1962,8 @@ static int tz1090_pinctrl_probe(struct platform_device *pdev)
 	if (IS_ERR(pmx->regs))
 		return PTR_ERR(pmx->regs);
 
-	pmx->pctl = pinctrl_register(&tz1090_pinctrl_desc, &pdev->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(&pdev->dev, &tz1090_pinctrl_desc,
+					  pmx);
 	if (IS_ERR(pmx->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pmx->pctl);
@@ -1975,15 +1976,6 @@ static int tz1090_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int tz1090_pinctrl_remove(struct platform_device *pdev)
-{
-	struct tz1090_pmx *pmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pmx->pctl);
-
-	return 0;
-}
-
 static const struct of_device_id tz1090_pinctrl_of_match[] = {
 	{ .compatible = "img,tz1090-pinctrl", },
 	{ },
@@ -1995,7 +1987,6 @@ static struct platform_driver tz1090_pinctrl_driver = {
 		.of_match_table	= tz1090_pinctrl_of_match,
 	},
 	.probe	= tz1090_pinctrl_probe,
-	.remove	= tz1090_pinctrl_remove,
 };
 
 static int __init tz1090_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 48/50] pinctrl: tz1090 Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

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.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-tz1090.c b/drivers/pinctrl/pinctrl-tz1090.c
index 5425299..04cbe53 100644
--- a/drivers/pinctrl/pinctrl-tz1090.c
+++ b/drivers/pinctrl/pinctrl-tz1090.c
@@ -1962,7 +1962,8 @@ static int tz1090_pinctrl_probe(struct platform_device *pdev)
 	if (IS_ERR(pmx->regs))
 		return PTR_ERR(pmx->regs);
 
-	pmx->pctl = pinctrl_register(&tz1090_pinctrl_desc, &pdev->dev, pmx);
+	pmx->pctl = devm_pinctrl_register(&pdev->dev, &tz1090_pinctrl_desc,
+					  pmx);
 	if (IS_ERR(pmx->pctl)) {
 		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
 		return PTR_ERR(pmx->pctl);
@@ -1975,15 +1976,6 @@ static int tz1090_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int tz1090_pinctrl_remove(struct platform_device *pdev)
-{
-	struct tz1090_pmx *pmx = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pmx->pctl);
-
-	return 0;
-}
-
 static const struct of_device_id tz1090_pinctrl_of_match[] = {
 	{ .compatible = "img,tz1090-pinctrl", },
 	{ },
@@ -1995,7 +1987,6 @@ static struct platform_driver tz1090_pinctrl_driver = {
 		.of_match_table	= tz1090_pinctrl_of_match,
 	},
 	.probe	= tz1090_pinctrl_probe,
-	.remove	= tz1090_pinctrl_remove,
 };
 
 static int __init tz1090_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 49/50] pinctrl: u300: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 49/50] pinctrl: u300: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 49/50] pinctrl: u300: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 50/50] pinctrl: zynq: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 13:16   ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Michal Simek, Sören Brinkmann

Use devm_pinctrl_register() for pin control registration and
remove the need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Sören Brinkmann <soren.brinkmann@xilinx.com>
Cc: linux-gpio@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/pinctrl/pinctrl-zynq.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-zynq.c b/drivers/pinctrl/pinctrl-zynq.c
index 76f1abd..5bbf94c0 100644
--- a/drivers/pinctrl/pinctrl-zynq.c
+++ b/drivers/pinctrl/pinctrl-zynq.c
@@ -1195,7 +1195,7 @@ static int zynq_pinctrl_probe(struct platform_device *pdev)
 	pctrl->funcs = zynq_pmux_functions;
 	pctrl->nfuncs = ARRAY_SIZE(zynq_pmux_functions);
 
-	pctrl->pctrl = pinctrl_register(&zynq_desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &zynq_desc, pctrl);
 	if (IS_ERR(pctrl->pctrl))
 		return PTR_ERR(pctrl->pctrl);
 
@@ -1206,15 +1206,6 @@ static int zynq_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int zynq_pinctrl_remove(struct platform_device *pdev)
-{
-	struct zynq_pinctrl *pctrl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pctrl->pctrl);
-
-	return 0;
-}
-
 static const struct of_device_id zynq_pinctrl_of_match[] = {
 	{ .compatible = "xlnx,pinctrl-zynq" },
 	{ }
@@ -1227,7 +1218,6 @@ static struct platform_driver zynq_pinctrl_driver = {
 		.of_match_table = zynq_pinctrl_of_match,
 	},
 	.probe = zynq_pinctrl_probe,
-	.remove = zynq_pinctrl_remove,
 };
 
 static int __init zynq_pinctrl_init(void)
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 50/50] pinctrl: zynq: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Laxman Dewangan, Michal Simek, Sören Brinkmann

Use devm_pinctrl_register() for pin control registration and
remove the need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Sören Brinkmann <soren.brinkmann@xilinx.com>
Cc: linux-gpio@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/pinctrl/pinctrl-zynq.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-zynq.c b/drivers/pinctrl/pinctrl-zynq.c
index 76f1abd..5bbf94c0 100644
--- a/drivers/pinctrl/pinctrl-zynq.c
+++ b/drivers/pinctrl/pinctrl-zynq.c
@@ -1195,7 +1195,7 @@ static int zynq_pinctrl_probe(struct platform_device *pdev)
 	pctrl->funcs = zynq_pmux_functions;
 	pctrl->nfuncs = ARRAY_SIZE(zynq_pmux_functions);
 
-	pctrl->pctrl = pinctrl_register(&zynq_desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &zynq_desc, pctrl);
 	if (IS_ERR(pctrl->pctrl))
 		return PTR_ERR(pctrl->pctrl);
 
@@ -1206,15 +1206,6 @@ static int zynq_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int zynq_pinctrl_remove(struct platform_device *pdev)
-{
-	struct zynq_pinctrl *pctrl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pctrl->pctrl);
-
-	return 0;
-}
-
 static const struct of_device_id zynq_pinctrl_of_match[] = {
 	{ .compatible = "xlnx,pinctrl-zynq" },
 	{ }
@@ -1227,7 +1218,6 @@ static struct platform_driver zynq_pinctrl_driver = {
 		.of_match_table = zynq_pinctrl_of_match,
 	},
 	.probe = zynq_pinctrl_probe,
-	.remove = zynq_pinctrl_remove,
 };
 
 static int __init zynq_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* [PATCH 50/50] pinctrl: zynq: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:16   ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

Use devm_pinctrl_register() for pin control registration and
remove the need of .remove callback.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: S?ren Brinkmann <soren.brinkmann@xilinx.com>
Cc: linux-gpio at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
---
 drivers/pinctrl/pinctrl-zynq.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-zynq.c b/drivers/pinctrl/pinctrl-zynq.c
index 76f1abd..5bbf94c0 100644
--- a/drivers/pinctrl/pinctrl-zynq.c
+++ b/drivers/pinctrl/pinctrl-zynq.c
@@ -1195,7 +1195,7 @@ static int zynq_pinctrl_probe(struct platform_device *pdev)
 	pctrl->funcs = zynq_pmux_functions;
 	pctrl->nfuncs = ARRAY_SIZE(zynq_pmux_functions);
 
-	pctrl->pctrl = pinctrl_register(&zynq_desc, &pdev->dev, pctrl);
+	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &zynq_desc, pctrl);
 	if (IS_ERR(pctrl->pctrl))
 		return PTR_ERR(pctrl->pctrl);
 
@@ -1206,15 +1206,6 @@ static int zynq_pinctrl_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int zynq_pinctrl_remove(struct platform_device *pdev)
-{
-	struct zynq_pinctrl *pctrl = platform_get_drvdata(pdev);
-
-	pinctrl_unregister(pctrl->pctrl);
-
-	return 0;
-}
-
 static const struct of_device_id zynq_pinctrl_of_match[] = {
 	{ .compatible = "xlnx,pinctrl-zynq" },
 	{ }
@@ -1227,7 +1218,6 @@ static struct platform_driver zynq_pinctrl_driver = {
 		.of_match_table = zynq_pinctrl_of_match,
 	},
 	.probe = zynq_pinctrl_probe,
-	.remove = zynq_pinctrl_remove,
 };
 
 static int __init zynq_pinctrl_init(void)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 265+ messages in thread

* Re: [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 13:36     ` Matthias Brugger
  -1 siblings, 0 replies; 265+ messages in thread
From: Matthias Brugger @ 2016-02-24 13:36 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Hongzhou Yang, Yingjoe Chen



On 24/02/16 14:15, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Matthias Brugger <matthias.bgg@gmail.com>
> Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
> Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
> ---

Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>

>   drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 17 ++++++-----------
>   1 file changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> index ddc9217..194413d 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> @@ -1390,17 +1390,16 @@ int mtk_pctrl_init(struct platform_device *pdev,
>   	pctl->pctl_desc.pmxops = &mtk_pmx_ops;
>   	pctl->dev = &pdev->dev;
>
> -	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
> +	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
> +					       pctl);
>   	if (IS_ERR(pctl->pctl_dev)) {
>   		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
>   		return PTR_ERR(pctl->pctl_dev);
>   	}
>
>   	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
> -	if (!pctl->chip) {
> -		ret = -ENOMEM;
> -		goto pctrl_error;
> -	}
> +	if (!pctl->chip)
> +		return -ENOMEM;
>
>   	*pctl->chip = mtk_gpio_chip;
>   	pctl->chip->ngpio = pctl->devdata->npins;
> @@ -1409,10 +1408,8 @@ int mtk_pctrl_init(struct platform_device *pdev,
>   	pctl->chip->base = -1;
>
>   	ret = gpiochip_add_data(pctl->chip, pctl);
> -	if (ret) {
> -		ret = -EINVAL;
> -		goto pctrl_error;
> -	}
> +	if (ret)
> +		return -EINVAL;
>
>   	/* Register the GPIO to pin mappings. */
>   	ret = gpiochip_add_pin_range(pctl->chip, dev_name(&pdev->dev),
> @@ -1490,8 +1487,6 @@ int mtk_pctrl_init(struct platform_device *pdev,
>
>   chip_error:
>   	gpiochip_remove(pctl->chip);
> -pctrl_error:
> -	pinctrl_unregister(pctl->pctl_dev);
>   	return ret;
>   }
>
>

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:36     ` Matthias Brugger
  0 siblings, 0 replies; 265+ messages in thread
From: Matthias Brugger @ 2016-02-24 13:36 UTC (permalink / raw)
  To: linux-arm-kernel



On 24/02/16 14:15, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Matthias Brugger <matthias.bgg@gmail.com>
> Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
> Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
> ---

Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>

>   drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 17 ++++++-----------
>   1 file changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> index ddc9217..194413d 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> @@ -1390,17 +1390,16 @@ int mtk_pctrl_init(struct platform_device *pdev,
>   	pctl->pctl_desc.pmxops = &mtk_pmx_ops;
>   	pctl->dev = &pdev->dev;
>
> -	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
> +	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
> +					       pctl);
>   	if (IS_ERR(pctl->pctl_dev)) {
>   		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
>   		return PTR_ERR(pctl->pctl_dev);
>   	}
>
>   	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
> -	if (!pctl->chip) {
> -		ret = -ENOMEM;
> -		goto pctrl_error;
> -	}
> +	if (!pctl->chip)
> +		return -ENOMEM;
>
>   	*pctl->chip = mtk_gpio_chip;
>   	pctl->chip->ngpio = pctl->devdata->npins;
> @@ -1409,10 +1408,8 @@ int mtk_pctrl_init(struct platform_device *pdev,
>   	pctl->chip->base = -1;
>
>   	ret = gpiochip_add_data(pctl->chip, pctl);
> -	if (ret) {
> -		ret = -EINVAL;
> -		goto pctrl_error;
> -	}
> +	if (ret)
> +		return -EINVAL;
>
>   	/* Register the GPIO to pin mappings. */
>   	ret = gpiochip_add_pin_range(pctl->chip, dev_name(&pdev->dev),
> @@ -1490,8 +1487,6 @@ int mtk_pctrl_init(struct platform_device *pdev,
>
>   chip_error:
>   	gpiochip_remove(pctl->chip);
> -pctrl_error:
> -	pinctrl_unregister(pctl->pctl_dev);
>   	return ret;
>   }
>
>

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 38/50] pinctrl: digicolor: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:16   ` Laxman Dewangan
@ 2016-02-24 13:42     ` Baruch Siach
  -1 siblings, 0 replies; 265+ messages in thread
From: Baruch Siach @ 2016-02-24 13:42 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek

Hi Laxman Dewangan,

On Wed, Feb 24, 2016 at 06:46:03PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Baruch Siach <baruch@tkos.co.il>
> ---
>  drivers/pinctrl/pinctrl-digicolor.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-digicolor.c b/drivers/pinctrl/pinctrl-digicolor.c
> index f1343d6..c18014d 100644
> --- a/drivers/pinctrl/pinctrl-digicolor.c
> +++ b/drivers/pinctrl/pinctrl-digicolor.c
> @@ -326,17 +326,15 @@ static int dc_pinctrl_probe(struct platform_device *pdev)
>  
>  	pmap->dev = &pdev->dev;
>  
> -	pmap->pctl = pinctrl_register(pctl_desc, &pdev->dev, pmap);
> +	pmap->pctl = devm_pinctrl_register(&pdev->dev, pctl_desc, pmap);
>  	if (IS_ERR(pmap->pctl)) {
>  		dev_err(&pdev->dev, "pinctrl driver registration failed\n");
>  		return PTR_ERR(pmap->pctl);
>  	}
>  
>  	ret = dc_gpiochip_add(pmap, pdev->dev.of_node);
> -	if (ret < 0) {
> -		pinctrl_unregister(pmap->pctl);
> +	if (ret < 0)
>  		return ret;
> -	}
>  
>  	return 0;

Please simplify even more to just:

   return dc_gpiochip_add(pmap, pdev->dev.of_node);

and remove the no longer used 'ret' variable.

Thanks,
baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 38/50] pinctrl: digicolor: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:42     ` Baruch Siach
  0 siblings, 0 replies; 265+ messages in thread
From: Baruch Siach @ 2016-02-24 13:42 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Laxman Dewangan,

On Wed, Feb 24, 2016 at 06:46:03PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Baruch Siach <baruch@tkos.co.il>
> ---
>  drivers/pinctrl/pinctrl-digicolor.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-digicolor.c b/drivers/pinctrl/pinctrl-digicolor.c
> index f1343d6..c18014d 100644
> --- a/drivers/pinctrl/pinctrl-digicolor.c
> +++ b/drivers/pinctrl/pinctrl-digicolor.c
> @@ -326,17 +326,15 @@ static int dc_pinctrl_probe(struct platform_device *pdev)
>  
>  	pmap->dev = &pdev->dev;
>  
> -	pmap->pctl = pinctrl_register(pctl_desc, &pdev->dev, pmap);
> +	pmap->pctl = devm_pinctrl_register(&pdev->dev, pctl_desc, pmap);
>  	if (IS_ERR(pmap->pctl)) {
>  		dev_err(&pdev->dev, "pinctrl driver registration failed\n");
>  		return PTR_ERR(pmap->pctl);
>  	}
>  
>  	ret = dc_gpiochip_add(pmap, pdev->dev.of_node);
> -	if (ret < 0) {
> -		pinctrl_unregister(pmap->pctl);
> +	if (ret < 0)
>  		return ret;
> -	}
>  
>  	return 0;

Please simplify even more to just:

   return dc_gpiochip_add(pmap, pdev->dev.of_node);

and remove the no longer used 'ret' variable.

Thanks,
baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 25/50] pinctrl: ish-pfc: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15     ` Laxman Dewangan
  (?)
@ 2016-02-24 13:59       ` Geert Uytterhoeven
  -1 siblings, 0 replies; 265+ messages in thread
From: Geert Uytterhoeven @ 2016-02-24 13:59 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Linus Walleij, Jonathan Corbet, Lee Jones, linux-doc,
	linux-kernel, linux-gpio, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, linux-mediatek, Laurent Pinchart,
	Geert Uytterhoeven, linux-renesas-soc

Hi Laxman,

On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: linux-renesas-soc@vger.kernel.org

Thanks for your patch!

> index 87b0a59..f17b5fc 100644
> --- a/drivers/pinctrl/sh-pfc/pinctrl.c
> +++ b/drivers/pinctrl/sh-pfc/pinctrl.c
> @@ -692,19 +692,9 @@ int sh_pfc_register_pinctrl(struct sh_pfc *pfc)
>         pmx->pctl_desc.pins = pmx->pins;
>         pmx->pctl_desc.npins = pfc->info->nr_pins;
>
> -       pmx->pctl = pinctrl_register(&pmx->pctl_desc, pfc->dev, pmx);
> +       pmx->pctl = devm_pinctrl_register(pfc->dev, &pmx->pctl_desc, pmx);
>         if (IS_ERR(pmx->pctl))
>                 return PTR_ERR(pmx->pctl);
>
>         return 0;
>  }
> -
> -int sh_pfc_unregister_pinctrl(struct sh_pfc *pfc)
> -{
> -       struct sh_pfc_pinctrl *pmx = pfc->pinctrl;
> -
> -       pinctrl_unregister(pmx->pctl);
> -
> -       pfc->pinctrl = NULL;
> -       return 0;
> -}

There's no longer a need to have sh_pfc.pinctrl, so please remove that field
while you're at it.

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 25/50] pinctrl: ish-pfc: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:59       ` Geert Uytterhoeven
  0 siblings, 0 replies; 265+ messages in thread
From: Geert Uytterhoeven @ 2016-02-24 13:59 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Linus Walleij, Jonathan Corbet, Lee Jones, linux-doc,
	linux-kernel, linux-gpio, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, linux-mediatek, Laurent Pinchart,
	Geert Uytterhoeven, linux-renesas-soc

Hi Laxman,

On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: linux-renesas-soc@vger.kernel.org

Thanks for your patch!

> index 87b0a59..f17b5fc 100644
> --- a/drivers/pinctrl/sh-pfc/pinctrl.c
> +++ b/drivers/pinctrl/sh-pfc/pinctrl.c
> @@ -692,19 +692,9 @@ int sh_pfc_register_pinctrl(struct sh_pfc *pfc)
>         pmx->pctl_desc.pins = pmx->pins;
>         pmx->pctl_desc.npins = pfc->info->nr_pins;
>
> -       pmx->pctl = pinctrl_register(&pmx->pctl_desc, pfc->dev, pmx);
> +       pmx->pctl = devm_pinctrl_register(pfc->dev, &pmx->pctl_desc, pmx);
>         if (IS_ERR(pmx->pctl))
>                 return PTR_ERR(pmx->pctl);
>
>         return 0;
>  }
> -
> -int sh_pfc_unregister_pinctrl(struct sh_pfc *pfc)
> -{
> -       struct sh_pfc_pinctrl *pmx = pfc->pinctrl;
> -
> -       pinctrl_unregister(pmx->pctl);
> -
> -       pfc->pinctrl = NULL;
> -       return 0;
> -}

There's no longer a need to have sh_pfc.pinctrl, so please remove that field
while you're at it.

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 25/50] pinctrl: ish-pfc: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 13:59       ` Geert Uytterhoeven
  0 siblings, 0 replies; 265+ messages in thread
From: Geert Uytterhoeven @ 2016-02-24 13:59 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Laxman,

On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: linux-renesas-soc at vger.kernel.org

Thanks for your patch!

> index 87b0a59..f17b5fc 100644
> --- a/drivers/pinctrl/sh-pfc/pinctrl.c
> +++ b/drivers/pinctrl/sh-pfc/pinctrl.c
> @@ -692,19 +692,9 @@ int sh_pfc_register_pinctrl(struct sh_pfc *pfc)
>         pmx->pctl_desc.pins = pmx->pins;
>         pmx->pctl_desc.npins = pfc->info->nr_pins;
>
> -       pmx->pctl = pinctrl_register(&pmx->pctl_desc, pfc->dev, pmx);
> +       pmx->pctl = devm_pinctrl_register(pfc->dev, &pmx->pctl_desc, pmx);
>         if (IS_ERR(pmx->pctl))
>                 return PTR_ERR(pmx->pctl);
>
>         return 0;
>  }
> -
> -int sh_pfc_unregister_pinctrl(struct sh_pfc *pfc)
> -{
> -       struct sh_pfc_pinctrl *pmx = pfc->pinctrl;
> -
> -       pinctrl_unregister(pmx->pctl);
> -
> -       pfc->pinctrl = NULL;
> -       return 0;
> -}

There's no longer a need to have sh_pfc.pinctrl, so please remove that field
while you're at it.

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
  (?)
@ 2016-02-24 14:07     ` Thomas Petazzoni
  -1 siblings, 0 replies; 265+ messages in thread
From: Thomas Petazzoni @ 2016-02-24 14:07 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Hongzhou Yang, Fabian Frederick,
	Andrew Andrianov

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 14:07     ` Thomas Petazzoni
  0 siblings, 0 replies; 265+ messages in thread
From: Thomas Petazzoni @ 2016-02-24 14:07 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Hongzhou Yang, Fabian Frederick,
	Andrew Andrianov

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 14:07     ` Thomas Petazzoni
  0 siblings, 0 replies; 265+ messages in thread
From: Thomas Petazzoni @ 2016-02-24 14:07 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 40/50] pinctrl: lpc18xx: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:16   ` Laxman Dewangan
  (?)
@ 2016-02-24 15:06     ` Joachim Eastwood
  -1 siblings, 0 replies; 265+ messages in thread
From: Joachim Eastwood @ 2016-02-24 15:06 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Linus Walleij, corbet, Lee Jones, linux-doc, linux-kernel,
	linux-gpio, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, linux-mediatek

Hi Laxman,

On 24 February 2016 at 14:16, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Joachim Eastwood <manabian@gmail.com>
> ---
>  drivers/pinctrl/pinctrl-lpc18xx.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

Acked-by: Joachim Eastwood <manabian@gmail.com>


regards,
Joachim Eastwood

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 40/50] pinctrl: lpc18xx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 15:06     ` Joachim Eastwood
  0 siblings, 0 replies; 265+ messages in thread
From: Joachim Eastwood @ 2016-02-24 15:06 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Linus Walleij, corbet, Lee Jones, linux-doc, linux-kernel,
	linux-gpio, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, linux-mediatek

Hi Laxman,

On 24 February 2016 at 14:16, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Joachim Eastwood <manabian@gmail.com>
> ---
>  drivers/pinctrl/pinctrl-lpc18xx.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

Acked-by: Joachim Eastwood <manabian@gmail.com>


regards,
Joachim Eastwood

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 40/50] pinctrl: lpc18xx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 15:06     ` Joachim Eastwood
  0 siblings, 0 replies; 265+ messages in thread
From: Joachim Eastwood @ 2016-02-24 15:06 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Laxman,

On 24 February 2016 at 14:16, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Joachim Eastwood <manabian@gmail.com>
> ---
>  drivers/pinctrl/pinctrl-lpc18xx.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

Acked-by: Joachim Eastwood <manabian@gmail.com>


regards,
Joachim Eastwood

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:16   ` Laxman Dewangan
  (?)
@ 2016-02-24 16:14       ` Maxime Coquelin
  -1 siblings, 0 replies; 265+ messages in thread
From: Maxime Coquelin @ 2016-02-24 16:14 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij-QSEj5FYQhm4dnm+yROfE0A,
	corbet-T1hC0tSOHrs, lee-DgEjT+Ai2ygdnm+yROfE0A
  Cc: kernel-F5mvAk5X5gdBDgjK7y7TUQ, linux-doc-u79uwXL29TY76Z2rM5mHXA,
	Srinivas Kandagatla, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	Patrice Chotard, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r



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

Acked-by: Maxime Coquelin <maxime.coquelin-qxv4g6HH51o@public.gmane.org>

Thanks!
Maxime

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 16:14       ` Maxime Coquelin
  0 siblings, 0 replies; 265+ messages in thread
From: Maxime Coquelin @ 2016-02-24 16:14 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Srinivas Kandagatla, Patrice Chotard, kernel



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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 45/50] pinctrl: st: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 16:14       ` Maxime Coquelin
  0 siblings, 0 replies; 265+ messages in thread
From: Maxime Coquelin @ 2016-02-24 16:14 UTC (permalink / raw)
  To: linux-arm-kernel



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 at 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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 30/50] pinctrl: tegra-xusb: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15     ` Laxman Dewangan
@ 2016-02-24 16:41       ` Stephen Warren
  -1 siblings, 0 replies; 265+ messages in thread
From: Stephen Warren @ 2016-02-24 16:41 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Thierry Reding, Alexandre Courbot, Jon Hunter

On 02/24/2016 06:15 AM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.

Acked-by: Stephen Warren <swarren@nvidia.com>


^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 30/50] pinctrl: tegra-xusb: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 16:41       ` Stephen Warren
  0 siblings, 0 replies; 265+ messages in thread
From: Stephen Warren @ 2016-02-24 16:41 UTC (permalink / raw)
  To: linux-arm-kernel

On 02/24/2016 06:15 AM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.

Acked-by: Stephen Warren <swarren@nvidia.com>

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 29/50] pinctrl: tegra: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 16:44     ` Stephen Warren
  -1 siblings, 0 replies; 265+ messages in thread
From: Stephen Warren @ 2016-02-24 16:44 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Thierry Reding, Alexandre Courbot

On 02/24/2016 06:15 AM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and remove
> need of .remove callback.

Acked-by: Stephen Warren <swarren@nvidia.com>

Any chance you could send a patch to soc-to-kernel-pinctrl-driver.py in 
git://github.com/NVIDIA/tegra-pinmux-scripts.git for this too?

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 29/50] pinctrl: tegra: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 16:44     ` Stephen Warren
  0 siblings, 0 replies; 265+ messages in thread
From: Stephen Warren @ 2016-02-24 16:44 UTC (permalink / raw)
  To: linux-arm-kernel

On 02/24/2016 06:15 AM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and remove
> need of .remove callback.

Acked-by: Stephen Warren <swarren@nvidia.com>

Any chance you could send a patch to soc-to-kernel-pinctrl-driver.py in 
git://github.com/NVIDIA/tegra-pinmux-scripts.git for this too?

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
  2016-02-24 17:22     ` Stefan Wahren
  (?)
@ 2016-02-24 17:14       ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 17:14 UTC (permalink / raw)
  To: Stefan Wahren, linus.walleij, lee, corbet
  Cc: linux-doc, linux-mediatek, linux-kernel,
	bcm-kernel-feedback-list, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, Shawn Guo, Sascha Hauer, Fabio Estevam


On Wednesday 24 February 2016 10:52 PM, Stefan Wahren wrote:
> Hi Laxman,
>
>> Laxman Dewangan <ldewangan@nvidia.com> hat am 24. Februar 2016 um 14:15
>> geschrieben:
>>
>>
>> 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.
>>
> just for interest: why didn't you patch freescale/pinctrl-mxs.c?
>


The remove callback is implemented as:

int mxs_pinctrl_remove(struct platform_device *pdev)
{
         struct mxs_pinctrl_data *d = platform_get_drvdata(pdev);

         pinctrl_unregister(d->pctl);
         iounmap(d->base);

         return 0;
}


So if I use devm_pinctrl_register() then the sequence will be different like
     iounmap()
     pinctrl_unregister()

And I did not want to change the sequence as dont know the side effect 
until I test it on actual platform which is not there with me.


^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-24 17:14       ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 17:14 UTC (permalink / raw)
  To: Stefan Wahren, linus.walleij, lee, corbet
  Cc: linux-doc, linux-mediatek, linux-kernel,
	bcm-kernel-feedback-list, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, Shawn Guo, Sascha Hauer, Fabio Estevam


On Wednesday 24 February 2016 10:52 PM, Stefan Wahren wrote:
> Hi Laxman,
>
>> Laxman Dewangan <ldewangan@nvidia.com> hat am 24. Februar 2016 um 14:15
>> geschrieben:
>>
>>
>> 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.
>>
> just for interest: why didn't you patch freescale/pinctrl-mxs.c?
>


The remove callback is implemented as:

int mxs_pinctrl_remove(struct platform_device *pdev)
{
         struct mxs_pinctrl_data *d = platform_get_drvdata(pdev);

         pinctrl_unregister(d->pctl);
         iounmap(d->base);

         return 0;
}


So if I use devm_pinctrl_register() then the sequence will be different like
     iounmap()
     pinctrl_unregister()

And I did not want to change the sequence as dont know the side effect 
until I test it on actual platform which is not there with me.

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-24 17:14       ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-24 17:14 UTC (permalink / raw)
  To: linux-arm-kernel


On Wednesday 24 February 2016 10:52 PM, Stefan Wahren wrote:
> Hi Laxman,
>
>> Laxman Dewangan <ldewangan@nvidia.com> hat am 24. Februar 2016 um 14:15
>> geschrieben:
>>
>>
>> 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.
>>
> just for interest: why didn't you patch freescale/pinctrl-mxs.c?
>


The remove callback is implemented as:

int mxs_pinctrl_remove(struct platform_device *pdev)
{
         struct mxs_pinctrl_data *d = platform_get_drvdata(pdev);

         pinctrl_unregister(d->pctl);
         iounmap(d->base);

         return 0;
}


So if I use devm_pinctrl_register() then the sequence will be different like
     iounmap()
     pinctrl_unregister()

And I did not want to change the sequence as dont know the side effect 
until I test it on actual platform which is not there with me.

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-24 17:22     ` Stefan Wahren
  -1 siblings, 0 replies; 265+ messages in thread
From: Stefan Wahren @ 2016-02-24 17:22 UTC (permalink / raw)
  To: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, lee-DgEjT+Ai2ygdnm+yROfE0A,
	Laxman Dewangan, corbet-T1hC0tSOHrs
  Cc: linux-doc-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Sascha Hauer,
	Fabio Estevam, linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Shawn Guo, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Hi Laxman,

> Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> hat am 24. Februar 2016 um 14:15
> geschrieben:
>
>
> 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.
>

just for interest: why didn't you patch freescale/pinctrl-mxs.c?

Regards
Stefan

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-24 17:22     ` Stefan Wahren
  0 siblings, 0 replies; 265+ messages in thread
From: Stefan Wahren @ 2016-02-24 17:22 UTC (permalink / raw)
  To: linus.walleij, lee, Laxman Dewangan, corbet
  Cc: linux-doc, linux-mediatek, linux-kernel,
	bcm-kernel-feedback-list, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, Shawn Guo, Sascha Hauer, Fabio Estevam

Hi Laxman,

> Laxman Dewangan <ldewangan@nvidia.com> hat am 24. Februar 2016 um 14:15
> geschrieben:
>
>
> 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.
>

just for interest: why didn't you patch freescale/pinctrl-mxs.c?

Regards
Stefan

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-24 17:22     ` Stefan Wahren
  0 siblings, 0 replies; 265+ messages in thread
From: Stefan Wahren @ 2016-02-24 17:22 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Laxman,

> Laxman Dewangan <ldewangan@nvidia.com> hat am 24. Februar 2016 um 14:15
> geschrieben:
>
>
> 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.
>

just for interest: why didn't you patch freescale/pinctrl-mxs.c?

Regards
Stefan

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 08/50] pinctrl: berlin: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15     ` Laxman Dewangan
@ 2016-02-24 17:28       ` Antoine Ténart
  -1 siblings, 0 replies; 265+ messages in thread
From: Antoine Ténart @ 2016-02-24 17:28 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Antoine Ténart

[-- Attachment #1: Type: text/plain, Size: 1196 bytes --]

Hello,

On Wed, Feb 24, 2016 at 06:45:33PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Acked-by: Antoine Tenart <antoine.tenart@free-electrons.com>

Thanks!

Antoine

> Cc: Antoine Ténart <antoine.tenart@free-electrons.com>
> ---
>  drivers/pinctrl/berlin/berlin.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
> index 46f2b48..2d58166 100644
> --- a/drivers/pinctrl/berlin/berlin.c
> +++ b/drivers/pinctrl/berlin/berlin.c
> @@ -316,7 +316,8 @@ int berlin_pinctrl_probe_regmap(struct platform_device *pdev,
>  		return ret;
>  	}
>  
> -	pctrl->pctrl_dev = pinctrl_register(&berlin_pctrl_desc, dev, pctrl);
> +	pctrl->pctrl_dev = devm_pinctrl_register(dev, &berlin_pctrl_desc,
> +						 pctrl);
>  	if (IS_ERR(pctrl->pctrl_dev)) {
>  		dev_err(dev, "failed to register pinctrl driver\n");
>  		return PTR_ERR(pctrl->pctrl_dev);
> -- 
> 2.1.4
> 

-- 
Antoine Ténart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 08/50] pinctrl: berlin: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 17:28       ` Antoine Ténart
  0 siblings, 0 replies; 265+ messages in thread
From: Antoine Ténart @ 2016-02-24 17:28 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

On Wed, Feb 24, 2016 at 06:45:33PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Acked-by: Antoine Tenart <antoine.tenart@free-electrons.com>

Thanks!

Antoine

> Cc: Antoine T?nart <antoine.tenart@free-electrons.com>
> ---
>  drivers/pinctrl/berlin/berlin.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
> index 46f2b48..2d58166 100644
> --- a/drivers/pinctrl/berlin/berlin.c
> +++ b/drivers/pinctrl/berlin/berlin.c
> @@ -316,7 +316,8 @@ int berlin_pinctrl_probe_regmap(struct platform_device *pdev,
>  		return ret;
>  	}
>  
> -	pctrl->pctrl_dev = pinctrl_register(&berlin_pctrl_desc, dev, pctrl);
> +	pctrl->pctrl_dev = devm_pinctrl_register(dev, &berlin_pctrl_desc,
> +						 pctrl);
>  	if (IS_ERR(pctrl->pctrl_dev)) {
>  		dev_err(dev, "failed to register pinctrl driver\n");
>  		return PTR_ERR(pctrl->pctrl_dev);
> -- 
> 2.1.4
> 

-- 
Antoine T?nart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160224/88b78011/attachment-0001.sig>

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 28/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:00     ` Maxime Ripard
  -1 siblings, 0 replies; 265+ messages in thread
From: Maxime Ripard @ 2016-02-24 18:00 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Chen-Yu Tsai

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]

On Wed, Feb 24, 2016 at 06:45:53PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
> Cc: Chen-Yu Tsai <wens@csie.org>

Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 28/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:00     ` Maxime Ripard
  0 siblings, 0 replies; 265+ messages in thread
From: Maxime Ripard @ 2016-02-24 18:00 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Feb 24, 2016 at 06:45:53PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
> Cc: Chen-Yu Tsai <wens@csie.org>

Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160224/7c580f04/attachment.sig>

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 17/50] pinctrl: spmi-gpio: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:06     ` Bjorn Andersson
  -1 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:06 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Bj?rn Andersson, Ivan T. Ivanov, Lee Jones,
	Stephen Boyd, Jonas Gorski

On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: "Ivan T. Ivanov" <ivan.ivanov@linaro.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> Cc: Jonas Gorski <jogo@openwrt.org>
> ---

Reviewed-by Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

>  drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> index 4e12ded..330e822 100644
> --- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> +++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> @@ -764,14 +764,14 @@ static int pmic_gpio_probe(struct platform_device *pdev)
>  	state->chip.of_gpio_n_cells = 2;
>  	state->chip.can_sleep = false;
>  
> -	state->ctrl = pinctrl_register(pctrldesc, dev, state);
> +	state->ctrl = devm_pinctrl_register(dev, pctrldesc, state);
>  	if (IS_ERR(state->ctrl))
>  		return PTR_ERR(state->ctrl);
>  
>  	ret = gpiochip_add_data(&state->chip, state);
>  	if (ret) {
>  		dev_err(state->dev, "can't add gpio chip\n");
> -		goto err_chip;
> +		return ret;
>  	}
>  
>  	ret = gpiochip_add_pin_range(&state->chip, dev_name(dev), 0, 0, npins);
> @@ -784,8 +784,6 @@ static int pmic_gpio_probe(struct platform_device *pdev)
>  
>  err_range:
>  	gpiochip_remove(&state->chip);
> -err_chip:
> -	pinctrl_unregister(state->ctrl);
>  	return ret;
>  }
>  
> @@ -794,7 +792,6 @@ static int pmic_gpio_remove(struct platform_device *pdev)
>  	struct pmic_gpio_state *state = platform_get_drvdata(pdev);
>  
>  	gpiochip_remove(&state->chip);
> -	pinctrl_unregister(state->ctrl);
>  	return 0;
>  }
>  
> -- 
> 2.1.4
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 17/50] pinctrl: spmi-gpio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:06     ` Bjorn Andersson
  0 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:06 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: "Ivan T. Ivanov" <ivan.ivanov@linaro.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> Cc: Jonas Gorski <jogo@openwrt.org>
> ---

Reviewed-by Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

>  drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> index 4e12ded..330e822 100644
> --- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> +++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> @@ -764,14 +764,14 @@ static int pmic_gpio_probe(struct platform_device *pdev)
>  	state->chip.of_gpio_n_cells = 2;
>  	state->chip.can_sleep = false;
>  
> -	state->ctrl = pinctrl_register(pctrldesc, dev, state);
> +	state->ctrl = devm_pinctrl_register(dev, pctrldesc, state);
>  	if (IS_ERR(state->ctrl))
>  		return PTR_ERR(state->ctrl);
>  
>  	ret = gpiochip_add_data(&state->chip, state);
>  	if (ret) {
>  		dev_err(state->dev, "can't add gpio chip\n");
> -		goto err_chip;
> +		return ret;
>  	}
>  
>  	ret = gpiochip_add_pin_range(&state->chip, dev_name(dev), 0, 0, npins);
> @@ -784,8 +784,6 @@ static int pmic_gpio_probe(struct platform_device *pdev)
>  
>  err_range:
>  	gpiochip_remove(&state->chip);
> -err_chip:
> -	pinctrl_unregister(state->ctrl);
>  	return ret;
>  }
>  
> @@ -794,7 +792,6 @@ static int pmic_gpio_remove(struct platform_device *pdev)
>  	struct pmic_gpio_state *state = platform_get_drvdata(pdev);
>  
>  	gpiochip_remove(&state->chip);
> -	pinctrl_unregister(state->ctrl);
>  	return 0;
>  }
>  
> -- 
> 2.1.4
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 18/50] pinctrl: spmi: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:07     ` Bjorn Andersson
  -1 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:07 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Bjorn Andersson, Ivan T. Ivanov, Lee Jones,
	Stephen Boyd, Jonas Gorski

On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> Cc: Jonas Gorski <jogo@openwrt.org>

Reviewed-by: Bjorn Andersson <bjorn.anderss@linaro.org>

Regards,
Bjorn

> ---
>  drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
> index 2a3e549..418367e 100644
> --- a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
> +++ b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
> @@ -877,14 +877,14 @@ static int pmic_mpp_probe(struct platform_device *pdev)
>  	state->chip.of_gpio_n_cells = 2;
>  	state->chip.can_sleep = false;
>  
> -	state->ctrl = pinctrl_register(pctrldesc, dev, state);
> +	state->ctrl = devm_pinctrl_register(dev, pctrldesc, state);
>  	if (IS_ERR(state->ctrl))
>  		return PTR_ERR(state->ctrl);
>  
>  	ret = gpiochip_add_data(&state->chip, state);
>  	if (ret) {
>  		dev_err(state->dev, "can't add gpio chip\n");
> -		goto err_chip;
> +		return ret;
>  	}
>  
>  	ret = gpiochip_add_pin_range(&state->chip, dev_name(dev), 0, 0, npins);
> @@ -897,8 +897,6 @@ static int pmic_mpp_probe(struct platform_device *pdev)
>  
>  err_range:
>  	gpiochip_remove(&state->chip);
> -err_chip:
> -	pinctrl_unregister(state->ctrl);
>  	return ret;
>  }
>  
> @@ -907,7 +905,6 @@ static int pmic_mpp_remove(struct platform_device *pdev)
>  	struct pmic_mpp_state *state = platform_get_drvdata(pdev);
>  
>  	gpiochip_remove(&state->chip);
> -	pinctrl_unregister(state->ctrl);
>  	return 0;
>  }
>  
> -- 
> 2.1.4
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 18/50] pinctrl: spmi: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:07     ` Bjorn Andersson
  0 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:07 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> Cc: Jonas Gorski <jogo@openwrt.org>

Reviewed-by: Bjorn Andersson <bjorn.anderss@linaro.org>

Regards,
Bjorn

> ---
>  drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
> index 2a3e549..418367e 100644
> --- a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
> +++ b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
> @@ -877,14 +877,14 @@ static int pmic_mpp_probe(struct platform_device *pdev)
>  	state->chip.of_gpio_n_cells = 2;
>  	state->chip.can_sleep = false;
>  
> -	state->ctrl = pinctrl_register(pctrldesc, dev, state);
> +	state->ctrl = devm_pinctrl_register(dev, pctrldesc, state);
>  	if (IS_ERR(state->ctrl))
>  		return PTR_ERR(state->ctrl);
>  
>  	ret = gpiochip_add_data(&state->chip, state);
>  	if (ret) {
>  		dev_err(state->dev, "can't add gpio chip\n");
> -		goto err_chip;
> +		return ret;
>  	}
>  
>  	ret = gpiochip_add_pin_range(&state->chip, dev_name(dev), 0, 0, npins);
> @@ -897,8 +897,6 @@ static int pmic_mpp_probe(struct platform_device *pdev)
>  
>  err_range:
>  	gpiochip_remove(&state->chip);
> -err_chip:
> -	pinctrl_unregister(state->ctrl);
>  	return ret;
>  }
>  
> @@ -907,7 +905,6 @@ static int pmic_mpp_remove(struct platform_device *pdev)
>  	struct pmic_mpp_state *state = platform_get_drvdata(pdev);
>  
>  	gpiochip_remove(&state->chip);
> -	pinctrl_unregister(state->ctrl);
>  	return 0;
>  }
>  
> -- 
> 2.1.4
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 19/50] pinctrl: ssbi-gpi: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:08     ` Bjorn Andersson
  -1 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:08 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Bjorn Andersson

On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> ---

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

>  drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
> index cd8580d..f71dda6 100644
> --- a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
> +++ b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
> @@ -729,7 +729,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
>  	pctrl->desc.custom_conf_items = pm8xxx_conf_items;
>  #endif
>  
> -	pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
> +	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl);
>  	if (IS_ERR(pctrl->pctrl)) {
>  		dev_err(&pdev->dev, "couldn't register pm8xxx gpio driver\n");
>  		return PTR_ERR(pctrl->pctrl);
> @@ -745,7 +745,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
>  	ret = gpiochip_add_data(&pctrl->chip, pctrl);
>  	if (ret) {
>  		dev_err(&pdev->dev, "failed register gpiochip\n");
> -		goto unregister_pinctrl;
> +		return ret;
>  	}
>  
>  	ret = gpiochip_add_pin_range(&pctrl->chip,
> @@ -765,9 +765,6 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
>  unregister_gpiochip:
>  	gpiochip_remove(&pctrl->chip);
>  
> -unregister_pinctrl:
> -	pinctrl_unregister(pctrl->pctrl);
> -
>  	return ret;
>  }
>  
> @@ -777,8 +774,6 @@ static int pm8xxx_gpio_remove(struct platform_device *pdev)
>  
>  	gpiochip_remove(&pctrl->chip);
>  
> -	pinctrl_unregister(pctrl->pctrl);
> -
>  	return 0;
>  }
>  
> -- 
> 2.1.4
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 19/50] pinctrl: ssbi-gpi: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:08     ` Bjorn Andersson
  0 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> ---

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

>  drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
> index cd8580d..f71dda6 100644
> --- a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
> +++ b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c
> @@ -729,7 +729,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
>  	pctrl->desc.custom_conf_items = pm8xxx_conf_items;
>  #endif
>  
> -	pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
> +	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl);
>  	if (IS_ERR(pctrl->pctrl)) {
>  		dev_err(&pdev->dev, "couldn't register pm8xxx gpio driver\n");
>  		return PTR_ERR(pctrl->pctrl);
> @@ -745,7 +745,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
>  	ret = gpiochip_add_data(&pctrl->chip, pctrl);
>  	if (ret) {
>  		dev_err(&pdev->dev, "failed register gpiochip\n");
> -		goto unregister_pinctrl;
> +		return ret;
>  	}
>  
>  	ret = gpiochip_add_pin_range(&pctrl->chip,
> @@ -765,9 +765,6 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev)
>  unregister_gpiochip:
>  	gpiochip_remove(&pctrl->chip);
>  
> -unregister_pinctrl:
> -	pinctrl_unregister(pctrl->pctrl);
> -
>  	return ret;
>  }
>  
> @@ -777,8 +774,6 @@ static int pm8xxx_gpio_remove(struct platform_device *pdev)
>  
>  	gpiochip_remove(&pctrl->chip);
>  
> -	pinctrl_unregister(pctrl->pctrl);
> -
>  	return 0;
>  }
>  
> -- 
> 2.1.4
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 20/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:09     ` Bjorn Andersson
  -1 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:09 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	bcm-kernel-feedback-list, linux-rpi-kernel, Bjorn Andersson,
	linux-mediatek, linux-arm-kernel

On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> ---

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

>  drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
> index 54a5402..49cc734 100644
> --- a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
> +++ b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
> @@ -820,7 +820,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
>  	pctrl->desc.custom_conf_items = pm8xxx_conf_items;
>  #endif
>  
> -	pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
> +	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl);
>  	if (IS_ERR(pctrl->pctrl)) {
>  		dev_err(&pdev->dev, "couldn't register pm8xxx mpp driver\n");
>  		return PTR_ERR(pctrl->pctrl);
> @@ -836,7 +836,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
>  	ret = gpiochip_add_data(&pctrl->chip, pctrl);
>  	if (ret) {
>  		dev_err(&pdev->dev, "failed register gpiochip\n");
> -		goto unregister_pinctrl;
> +		return ret;
>  	}
>  
>  	ret = gpiochip_add_pin_range(&pctrl->chip,
> @@ -856,9 +856,6 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
>  unregister_gpiochip:
>  	gpiochip_remove(&pctrl->chip);
>  
> -unregister_pinctrl:
> -	pinctrl_unregister(pctrl->pctrl);
> -
>  	return ret;
>  }
>  
> @@ -868,8 +865,6 @@ static int pm8xxx_mpp_remove(struct platform_device *pdev)
>  
>  	gpiochip_remove(&pctrl->chip);
>  
> -	pinctrl_unregister(pctrl->pctrl);
> -
>  	return 0;
>  }
>  
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 20/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:09     ` Bjorn Andersson
  0 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:09 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> ---

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

>  drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
> index 54a5402..49cc734 100644
> --- a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
> +++ b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
> @@ -820,7 +820,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
>  	pctrl->desc.custom_conf_items = pm8xxx_conf_items;
>  #endif
>  
> -	pctrl->pctrl = pinctrl_register(&pctrl->desc, &pdev->dev, pctrl);
> +	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl);
>  	if (IS_ERR(pctrl->pctrl)) {
>  		dev_err(&pdev->dev, "couldn't register pm8xxx mpp driver\n");
>  		return PTR_ERR(pctrl->pctrl);
> @@ -836,7 +836,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
>  	ret = gpiochip_add_data(&pctrl->chip, pctrl);
>  	if (ret) {
>  		dev_err(&pdev->dev, "failed register gpiochip\n");
> -		goto unregister_pinctrl;
> +		return ret;
>  	}
>  
>  	ret = gpiochip_add_pin_range(&pctrl->chip,
> @@ -856,9 +856,6 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev)
>  unregister_gpiochip:
>  	gpiochip_remove(&pctrl->chip);
>  
> -unregister_pinctrl:
> -	pinctrl_unregister(pctrl->pctrl);
> -
>  	return ret;
>  }
>  
> @@ -868,8 +865,6 @@ static int pm8xxx_mpp_remove(struct platform_device *pdev)
>  
>  	gpiochip_remove(&pctrl->chip);
>  
> -	pinctrl_unregister(pctrl->pctrl);
> -
>  	return 0;
>  }
>  
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 21/50] pinctrl: msm: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:11     ` Bjorn Andersson
  -1 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:11 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Bjorn Andersson, Thomas Gleixner, Lee Jones,
	Stephen Boyd

On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> ---

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

>  drivers/pinctrl/qcom/pinctrl-msm.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
> index 8777cf0..dc7bf77 100644
> --- a/drivers/pinctrl/qcom/pinctrl-msm.c
> +++ b/drivers/pinctrl/qcom/pinctrl-msm.c
> @@ -898,17 +898,16 @@ int msm_pinctrl_probe(struct platform_device *pdev,
>  	msm_pinctrl_desc.name = dev_name(&pdev->dev);
>  	msm_pinctrl_desc.pins = pctrl->soc->pins;
>  	msm_pinctrl_desc.npins = pctrl->soc->npins;
> -	pctrl->pctrl = pinctrl_register(&msm_pinctrl_desc, &pdev->dev, pctrl);
> +	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &msm_pinctrl_desc,
> +					     pctrl);
>  	if (IS_ERR(pctrl->pctrl)) {
>  		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
>  		return PTR_ERR(pctrl->pctrl);
>  	}
>  
>  	ret = msm_gpio_init(pctrl);
> -	if (ret) {
> -		pinctrl_unregister(pctrl->pctrl);
> +	if (ret)
>  		return ret;
> -	}
>  
>  	platform_set_drvdata(pdev, pctrl);
>  
> @@ -923,7 +922,6 @@ int msm_pinctrl_remove(struct platform_device *pdev)
>  	struct msm_pinctrl *pctrl = platform_get_drvdata(pdev);
>  
>  	gpiochip_remove(&pctrl->chip);
> -	pinctrl_unregister(pctrl->pctrl);
>  
>  	unregister_restart_handler(&pctrl->restart_nb);
>  
> -- 
> 2.1.4
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 21/50] pinctrl: msm: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:11     ` Bjorn Andersson
  0 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed 24 Feb 05:15 PST 2016, Laxman Dewangan wrote:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> ---

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

>  drivers/pinctrl/qcom/pinctrl-msm.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
> index 8777cf0..dc7bf77 100644
> --- a/drivers/pinctrl/qcom/pinctrl-msm.c
> +++ b/drivers/pinctrl/qcom/pinctrl-msm.c
> @@ -898,17 +898,16 @@ int msm_pinctrl_probe(struct platform_device *pdev,
>  	msm_pinctrl_desc.name = dev_name(&pdev->dev);
>  	msm_pinctrl_desc.pins = pctrl->soc->pins;
>  	msm_pinctrl_desc.npins = pctrl->soc->npins;
> -	pctrl->pctrl = pinctrl_register(&msm_pinctrl_desc, &pdev->dev, pctrl);
> +	pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &msm_pinctrl_desc,
> +					     pctrl);
>  	if (IS_ERR(pctrl->pctrl)) {
>  		dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
>  		return PTR_ERR(pctrl->pctrl);
>  	}
>  
>  	ret = msm_gpio_init(pctrl);
> -	if (ret) {
> -		pinctrl_unregister(pctrl->pctrl);
> +	if (ret)
>  		return ret;
> -	}
>  
>  	platform_set_drvdata(pdev, pctrl);
>  
> @@ -923,7 +922,6 @@ int msm_pinctrl_remove(struct platform_device *pdev)
>  	struct msm_pinctrl *pctrl = platform_get_drvdata(pdev);
>  
>  	gpiochip_remove(&pctrl->chip);
> -	pinctrl_unregister(pctrl->pctrl);
>  
>  	unregister_restart_handler(&pctrl->restart_nb);
>  
> -- 
> 2.1.4
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:21     ` Bjorn Andersson
  -1 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:21 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}
@ 2016-02-24 18:21     ` Bjorn Andersson
  0 siblings, 0 replies; 265+ messages in thread
From: Bjorn Andersson @ 2016-02-24 18:21 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:25     ` Ray Jui
  -1 siblings, 0 replies; 265+ messages in thread
From: Ray Jui @ 2016-02-24 18:25 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Ray Jui



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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:25     ` Ray Jui
  0 siblings, 0 replies; 265+ messages in thread
From: Ray Jui @ 2016-02-24 18:25 UTC (permalink / raw)
  To: linux-arm-kernel



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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 05/50] pinctrl: cygnus-mux: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:27     ` Ray Jui
  -1 siblings, 0 replies; 265+ messages in thread
From: Ray Jui @ 2016-02-24 18:27 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Ray Jui, Scott Branden, Jon Mason



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>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: Jon Mason <jonmason@broadcom.com>
> ---
>  drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
> index 9728f3d..9382a0a 100644
> --- a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
> +++ b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
> @@ -987,7 +987,7 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
>  	cygnus_pinctrl_desc.pins = pins;
>  	cygnus_pinctrl_desc.npins = num_pins;
>
> -	pinctrl->pctl = pinctrl_register(&cygnus_pinctrl_desc, &pdev->dev,
> +	pinctrl->pctl = devm_pinctrl_register(&pdev->dev, &cygnus_pinctrl_desc,
>  			pinctrl);
>  	if (IS_ERR(pinctrl->pctl)) {
>  		dev_err(&pdev->dev, "unable to register Cygnus IOMUX pinctrl\n");
>


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

Thanks!

Ray

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 05/50] pinctrl: cygnus-mux: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:27     ` Ray Jui
  0 siblings, 0 replies; 265+ messages in thread
From: Ray Jui @ 2016-02-24 18:27 UTC (permalink / raw)
  To: linux-arm-kernel



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>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: Jon Mason <jonmason@broadcom.com>
> ---
>  drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
> index 9728f3d..9382a0a 100644
> --- a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
> +++ b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
> @@ -987,7 +987,7 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
>  	cygnus_pinctrl_desc.pins = pins;
>  	cygnus_pinctrl_desc.npins = num_pins;
>
> -	pinctrl->pctl = pinctrl_register(&cygnus_pinctrl_desc, &pdev->dev,
> +	pinctrl->pctl = devm_pinctrl_register(&pdev->dev, &cygnus_pinctrl_desc,
>  			pinctrl);
>  	if (IS_ERR(pinctrl->pctl)) {
>  		dev_err(&pdev->dev, "unable to register Cygnus IOMUX pinctrl\n");
>


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

Thanks!

Ray

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 04/50] pinctrl: bcm2835: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15     ` Laxman Dewangan
@ 2016-02-24 18:27       ` Ray Jui
  -1 siblings, 0 replies; 265+ messages in thread
From: Ray Jui @ 2016-02-24 18:27 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Ray Jui



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-bcm2835.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 0f5997c..25bc4a2 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -1027,7 +1027,7 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
>  		return err;
>  	}
>
> -	pc->pctl_dev = pinctrl_register(&bcm2835_pinctrl_desc, dev, pc);
> +	pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc);
>  	if (IS_ERR(pc->pctl_dev)) {
>  		gpiochip_remove(&pc->gpio_chip);
>  		return PTR_ERR(pc->pctl_dev);
> @@ -1045,7 +1045,6 @@ static int bcm2835_pinctrl_remove(struct platform_device *pdev)
>  {
>  	struct bcm2835_pinctrl *pc = platform_get_drvdata(pdev);
>
> -	pinctrl_unregister(pc->pctl_dev);
>  	gpiochip_remove(&pc->gpio_chip);
>
>  	return 0;
>

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

Thanks!

Ray

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 04/50] pinctrl: bcm2835: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:27       ` Ray Jui
  0 siblings, 0 replies; 265+ messages in thread
From: Ray Jui @ 2016-02-24 18:27 UTC (permalink / raw)
  To: linux-arm-kernel



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-bcm2835.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 0f5997c..25bc4a2 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -1027,7 +1027,7 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
>  		return err;
>  	}
>
> -	pc->pctl_dev = pinctrl_register(&bcm2835_pinctrl_desc, dev, pc);
> +	pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc);
>  	if (IS_ERR(pc->pctl_dev)) {
>  		gpiochip_remove(&pc->gpio_chip);
>  		return PTR_ERR(pc->pctl_dev);
> @@ -1045,7 +1045,6 @@ static int bcm2835_pinctrl_remove(struct platform_device *pdev)
>  {
>  	struct bcm2835_pinctrl *pc = platform_get_drvdata(pdev);
>
> -	pinctrl_unregister(pc->pctl_dev);
>  	gpiochip_remove(&pc->gpio_chip);
>
>  	return 0;
>

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

Thanks!

Ray

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
  (?)
@ 2016-02-24 18:28     ` kbuild test robot
  -1 siblings, 0 replies; 265+ messages in thread
From: kbuild test robot @ 2016-02-24 18:28 UTC (permalink / raw)
  Cc: kbuild-all, linus.walleij, corbet, lee, linux-doc, linux-kernel,
	linux-gpio, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, linux-mediatek, Laxman Dewangan,
	Thomas Petazzoni, Hongzhou Yang, Fabian Frederick,
	Andrew Andrianov

[-- Attachment #1: Type: text/plain, Size: 2046 bytes --]

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

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 22481 bytes --]

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:28     ` kbuild test robot
  0 siblings, 0 replies; 265+ messages in thread
From: kbuild test robot @ 2016-02-24 18:28 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: kbuild-all, linus.walleij, corbet, lee, linux-doc, linux-kernel,
	linux-gpio, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, linux-mediatek, Laxman Dewangan,
	Thomas Petazzoni, Hongzhou Yang, Fabian Frederick,
	Andrew Andrianov

[-- Attachment #1: Type: text/plain, Size: 2046 bytes --]

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

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 22481 bytes --]

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 15/50] pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:28     ` kbuild test robot
  0 siblings, 0 replies; 265+ messages in thread
From: kbuild test robot @ 2016-02-24 18:28 UTC (permalink / raw)
  To: linux-arm-kernel

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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 22481 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160225/2aca0525/attachment-0001.obj>

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 06/50] pinctrl: iproc-gpio: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:29     ` Ray Jui
  -1 siblings, 0 replies; 265+ messages in thread
From: Ray Jui @ 2016-02-24 18:29 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Ray Jui, Scott Branden, Jon Mason



On 2/24/2016 5:15 AM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: Jon Mason <jonmason@broadcom.com>
> ---
>  drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 12 ++----------
>  1 file changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> index d530ab4..e753af3 100644
> --- a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> +++ b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> @@ -623,7 +623,7 @@ static int iproc_gpio_register_pinconf(struct iproc_gpio *chip)
>  	pctldesc->npins = gc->ngpio;
>  	pctldesc->confops = &iproc_pconf_ops;
>
> -	chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
> +	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
>  	if (IS_ERR(chip->pctl)) {
>  		dev_err(chip->dev, "unable to register pinctrl device\n");
>  		return PTR_ERR(chip->pctl);
> @@ -632,11 +632,6 @@ static int iproc_gpio_register_pinconf(struct iproc_gpio *chip)
>  	return 0;
>  }
>
> -static void iproc_gpio_unregister_pinconf(struct iproc_gpio *chip)
> -{
> -	pinctrl_unregister(chip->pctl);
> -}
> -
>  static const struct of_device_id iproc_gpio_of_match[] = {
>  	{ .compatible = "brcm,cygnus-ccm-gpio" },
>  	{ .compatible = "brcm,cygnus-asiu-gpio" },
> @@ -720,7 +715,7 @@ static int iproc_gpio_probe(struct platform_device *pdev)
>  					   handle_simple_irq, IRQ_TYPE_NONE);
>  		if (ret) {
>  			dev_err(dev, "no GPIO irqchip\n");
> -			goto err_unregister_pinconf;
> +			goto err_rm_gpiochip;
>  		}
>
>  		gpiochip_set_chained_irqchip(gc, &iproc_gpio_irq_chip, irq,
> @@ -729,9 +724,6 @@ static int iproc_gpio_probe(struct platform_device *pdev)
>
>  	return 0;
>
> -err_unregister_pinconf:
> -	iproc_gpio_unregister_pinconf(chip);
> -
>  err_rm_gpiochip:
>  	gpiochip_remove(gc);
>
>

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

Thanks!

Ray

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 06/50] pinctrl: iproc-gpio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:29     ` Ray Jui
  0 siblings, 0 replies; 265+ messages in thread
From: Ray Jui @ 2016-02-24 18:29 UTC (permalink / raw)
  To: linux-arm-kernel



On 2/24/2016 5:15 AM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: Jon Mason <jonmason@broadcom.com>
> ---
>  drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 12 ++----------
>  1 file changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> index d530ab4..e753af3 100644
> --- a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> +++ b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> @@ -623,7 +623,7 @@ static int iproc_gpio_register_pinconf(struct iproc_gpio *chip)
>  	pctldesc->npins = gc->ngpio;
>  	pctldesc->confops = &iproc_pconf_ops;
>
> -	chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
> +	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
>  	if (IS_ERR(chip->pctl)) {
>  		dev_err(chip->dev, "unable to register pinctrl device\n");
>  		return PTR_ERR(chip->pctl);
> @@ -632,11 +632,6 @@ static int iproc_gpio_register_pinconf(struct iproc_gpio *chip)
>  	return 0;
>  }
>
> -static void iproc_gpio_unregister_pinconf(struct iproc_gpio *chip)
> -{
> -	pinctrl_unregister(chip->pctl);
> -}
> -
>  static const struct of_device_id iproc_gpio_of_match[] = {
>  	{ .compatible = "brcm,cygnus-ccm-gpio" },
>  	{ .compatible = "brcm,cygnus-asiu-gpio" },
> @@ -720,7 +715,7 @@ static int iproc_gpio_probe(struct platform_device *pdev)
>  					   handle_simple_irq, IRQ_TYPE_NONE);
>  		if (ret) {
>  			dev_err(dev, "no GPIO irqchip\n");
> -			goto err_unregister_pinconf;
> +			goto err_rm_gpiochip;
>  		}
>
>  		gpiochip_set_chained_irqchip(gc, &iproc_gpio_irq_chip, irq,
> @@ -729,9 +724,6 @@ static int iproc_gpio_probe(struct platform_device *pdev)
>
>  	return 0;
>
> -err_unregister_pinconf:
> -	iproc_gpio_unregister_pinconf(chip);
> -
>  err_rm_gpiochip:
>  	gpiochip_remove(gc);
>
>

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

Thanks!

Ray

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 07/50] pinctrl: nsp-gpio: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-24 18:30     ` Ray Jui
  -1 siblings, 0 replies; 265+ messages in thread
From: Ray Jui @ 2016-02-24 18:30 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek,
	Ray Jui, Scott Branden, Jon Mason



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>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: Jon Mason <jonmason@broadcom.com>
> ---
>  drivers/pinctrl/bcm/pinctrl-nsp-gpio.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
> index ac90043..2873f73 100644
> --- a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
> +++ b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
> @@ -609,7 +609,7 @@ static int nsp_gpio_register_pinconf(struct nsp_gpio *chip)
>  	pctldesc->npins = gc->ngpio;
>  	pctldesc->confops = &nsp_pconf_ops;
>
> -	chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
> +	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
>  	if (IS_ERR(chip->pctl)) {
>  		dev_err(chip->dev, "unable to register pinctrl device\n");
>  		return PTR_ERR(chip->pctl);
>

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

Thanks!

Ray

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 07/50] pinctrl: nsp-gpio: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 18:30     ` Ray Jui
  0 siblings, 0 replies; 265+ messages in thread
From: Ray Jui @ 2016-02-24 18:30 UTC (permalink / raw)
  To: linux-arm-kernel



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>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: Jon Mason <jonmason@broadcom.com>
> ---
>  drivers/pinctrl/bcm/pinctrl-nsp-gpio.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
> index ac90043..2873f73 100644
> --- a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
> +++ b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
> @@ -609,7 +609,7 @@ static int nsp_gpio_register_pinconf(struct nsp_gpio *chip)
>  	pctldesc->npins = gc->ngpio;
>  	pctldesc->confops = &nsp_pconf_ops;
>
> -	chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
> +	chip->pctl = devm_pinctrl_register(chip->dev, pctldesc, chip);
>  	if (IS_ERR(chip->pctl)) {
>  		dev_err(chip->dev, "unable to register pinctrl device\n");
>  		return PTR_ERR(chip->pctl);
>

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

Thanks!

Ray

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
  (?)
@ 2016-02-24 20:28     ` Hongzhou Yang
  -1 siblings, 0 replies; 265+ messages in thread
From: Hongzhou Yang @ 2016-02-24 20:28 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Matthias Brugger, Yingjoe Chen

On Wed, 2016-02-24 at 18:45 +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Matthias Brugger <matthias.bgg@gmail.com>
> Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
> Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
> ---

Acked-by: Hongzhou Yang <hongzhou.yang@mediatek.com>

Thanks,
Hongzhou

>  drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> index ddc9217..194413d 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> @@ -1390,17 +1390,16 @@ int mtk_pctrl_init(struct platform_device *pdev,
>  	pctl->pctl_desc.pmxops = &mtk_pmx_ops;
>  	pctl->dev = &pdev->dev;
>  
> -	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
> +	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
> +					       pctl);
>  	if (IS_ERR(pctl->pctl_dev)) {
>  		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
>  		return PTR_ERR(pctl->pctl_dev);
>  	}
>  
>  	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
> -	if (!pctl->chip) {
> -		ret = -ENOMEM;
> -		goto pctrl_error;
> -	}
> +	if (!pctl->chip)
> +		return -ENOMEM;
>  
>  	*pctl->chip = mtk_gpio_chip;
>  	pctl->chip->ngpio = pctl->devdata->npins;
> @@ -1409,10 +1408,8 @@ int mtk_pctrl_init(struct platform_device *pdev,
>  	pctl->chip->base = -1;
>  
>  	ret = gpiochip_add_data(pctl->chip, pctl);
> -	if (ret) {
> -		ret = -EINVAL;
> -		goto pctrl_error;
> -	}
> +	if (ret)
> +		return -EINVAL;
>  
>  	/* Register the GPIO to pin mappings. */
>  	ret = gpiochip_add_pin_range(pctl->chip, dev_name(&pdev->dev),
> @@ -1490,8 +1487,6 @@ int mtk_pctrl_init(struct platform_device *pdev,
>  
>  chip_error:
>  	gpiochip_remove(pctl->chip);
> -pctrl_error:
> -	pinctrl_unregister(pctl->pctl_dev);
>  	return ret;
>  }
>  



^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 20:28     ` Hongzhou Yang
  0 siblings, 0 replies; 265+ messages in thread
From: Hongzhou Yang @ 2016-02-24 20:28 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Matthias Brugger, Yingjoe Chen

On Wed, 2016-02-24 at 18:45 +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Matthias Brugger <matthias.bgg@gmail.com>
> Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
> Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
> ---

Acked-by: Hongzhou Yang <hongzhou.yang@mediatek.com>

Thanks,
Hongzhou

>  drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> index ddc9217..194413d 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> @@ -1390,17 +1390,16 @@ int mtk_pctrl_init(struct platform_device *pdev,
>  	pctl->pctl_desc.pmxops = &mtk_pmx_ops;
>  	pctl->dev = &pdev->dev;
>  
> -	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
> +	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
> +					       pctl);
>  	if (IS_ERR(pctl->pctl_dev)) {
>  		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
>  		return PTR_ERR(pctl->pctl_dev);
>  	}
>  
>  	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
> -	if (!pctl->chip) {
> -		ret = -ENOMEM;
> -		goto pctrl_error;
> -	}
> +	if (!pctl->chip)
> +		return -ENOMEM;
>  
>  	*pctl->chip = mtk_gpio_chip;
>  	pctl->chip->ngpio = pctl->devdata->npins;
> @@ -1409,10 +1408,8 @@ int mtk_pctrl_init(struct platform_device *pdev,
>  	pctl->chip->base = -1;
>  
>  	ret = gpiochip_add_data(pctl->chip, pctl);
> -	if (ret) {
> -		ret = -EINVAL;
> -		goto pctrl_error;
> -	}
> +	if (ret)
> +		return -EINVAL;
>  
>  	/* Register the GPIO to pin mappings. */
>  	ret = gpiochip_add_pin_range(pctl->chip, dev_name(&pdev->dev),
> @@ -1490,8 +1487,6 @@ int mtk_pctrl_init(struct platform_device *pdev,
>  
>  chip_error:
>  	gpiochip_remove(pctl->chip);
> -pctrl_error:
> -	pinctrl_unregister(pctl->pctl_dev);
>  	return ret;
>  }
>  

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 13/50] pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-24 20:28     ` Hongzhou Yang
  0 siblings, 0 replies; 265+ messages in thread
From: Hongzhou Yang @ 2016-02-24 20:28 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 2016-02-24 at 18:45 +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Matthias Brugger <matthias.bgg@gmail.com>
> Cc: Hongzhou Yang <hongzhou.yang@mediatek.com>
> Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
> ---

Acked-by: Hongzhou Yang <hongzhou.yang@mediatek.com>

Thanks,
Hongzhou

>  drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> index ddc9217..194413d 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> @@ -1390,17 +1390,16 @@ int mtk_pctrl_init(struct platform_device *pdev,
>  	pctl->pctl_desc.pmxops = &mtk_pmx_ops;
>  	pctl->dev = &pdev->dev;
>  
> -	pctl->pctl_dev = pinctrl_register(&pctl->pctl_desc, &pdev->dev, pctl);
> +	pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, &pctl->pctl_desc,
> +					       pctl);
>  	if (IS_ERR(pctl->pctl_dev)) {
>  		dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
>  		return PTR_ERR(pctl->pctl_dev);
>  	}
>  
>  	pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
> -	if (!pctl->chip) {
> -		ret = -ENOMEM;
> -		goto pctrl_error;
> -	}
> +	if (!pctl->chip)
> +		return -ENOMEM;
>  
>  	*pctl->chip = mtk_gpio_chip;
>  	pctl->chip->ngpio = pctl->devdata->npins;
> @@ -1409,10 +1408,8 @@ int mtk_pctrl_init(struct platform_device *pdev,
>  	pctl->chip->base = -1;
>  
>  	ret = gpiochip_add_data(pctl->chip, pctl);
> -	if (ret) {
> -		ret = -EINVAL;
> -		goto pctrl_error;
> -	}
> +	if (ret)
> +		return -EINVAL;
>  
>  	/* Register the GPIO to pin mappings. */
>  	ret = gpiochip_add_pin_range(pctl->chip, dev_name(&pdev->dev),
> @@ -1490,8 +1487,6 @@ int mtk_pctrl_init(struct platform_device *pdev,
>  
>  chip_error:
>  	gpiochip_remove(pctl->chip);
> -pctrl_error:
> -	pinctrl_unregister(pctl->pctl_dev);
>  	return ret;
>  }
>  

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 26/50] pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-25  2:10     ` Viresh Kumar
  -1 siblings, 0 replies; 265+ messages in thread
From: Viresh Kumar @ 2016-02-25  2:10 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Viresh Kumar, spear-devel

On 24-02-16, 18:45, 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: Viresh Kumar <vireshk@kernel.org>
> Cc: spear-devel@list.st.com
> Cc: linux-arm-kernel@lists.infradead.org
> ---
>  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 ------
>  7 files changed, 1 insertion(+), 41 deletions(-)

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

-- 
viresh

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 26/50] pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-25  2:10     ` Viresh Kumar
  0 siblings, 0 replies; 265+ messages in thread
From: Viresh Kumar @ 2016-02-25  2:10 UTC (permalink / raw)
  To: linux-arm-kernel

On 24-02-16, 18:45, 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: Viresh Kumar <vireshk@kernel.org>
> Cc: spear-devel at list.st.com
> Cc: linux-arm-kernel at lists.infradead.org
> ---
>  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 ------
>  7 files changed, 1 insertion(+), 41 deletions(-)

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

-- 
viresh

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 11/50] pinctrl: cherryview: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15     ` Laxman Dewangan
@ 2016-02-25 11:42       ` Heikki Krogerus
  -1 siblings, 0 replies; 265+ messages in thread
From: Heikki Krogerus @ 2016-02-25 11:42 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Mika Westerberg

Hi,

On Wed, Feb 24, 2016 at 06:45:36PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> ---
>  drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
> index 4251e07..1152b8a 100644
> --- a/drivers/pinctrl/intel/pinctrl-cherryview.c
> +++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
> @@ -1526,7 +1526,8 @@ static int chv_pinctrl_probe(struct platform_device *pdev)
>  	pctrl->pctldesc.pins = pctrl->community->pins;
>  	pctrl->pctldesc.npins = pctrl->community->npins;
>  
> -	pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
> +	pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
> +					       pctrl);
>  	if (IS_ERR(pctrl->pctldev)) {
>  		dev_err(&pdev->dev, "failed to register pinctrl driver\n");
>  		return PTR_ERR(pctrl->pctldev);

You missed one pinctrl_unregister() call inside chv_pinctrl_probe().
Check right below this point where chv_gpio_probe() is called.

> @@ -1548,7 +1549,6 @@ static int chv_pinctrl_remove(struct platform_device *pdev)
>  	struct chv_pinctrl *pctrl = platform_get_drvdata(pdev);
>  
>  	gpiochip_remove(&pctrl->chip);
> -	pinctrl_unregister(pctrl->pctldev);
>  
>  	return 0;
>  }
> -- 
> 2.1.4

Thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 11/50] pinctrl: cherryview: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-25 11:42       ` Heikki Krogerus
  0 siblings, 0 replies; 265+ messages in thread
From: Heikki Krogerus @ 2016-02-25 11:42 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Wed, Feb 24, 2016 at 06:45:36PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> ---
>  drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
> index 4251e07..1152b8a 100644
> --- a/drivers/pinctrl/intel/pinctrl-cherryview.c
> +++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
> @@ -1526,7 +1526,8 @@ static int chv_pinctrl_probe(struct platform_device *pdev)
>  	pctrl->pctldesc.pins = pctrl->community->pins;
>  	pctrl->pctldesc.npins = pctrl->community->npins;
>  
> -	pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
> +	pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
> +					       pctrl);
>  	if (IS_ERR(pctrl->pctldev)) {
>  		dev_err(&pdev->dev, "failed to register pinctrl driver\n");
>  		return PTR_ERR(pctrl->pctldev);

You missed one pinctrl_unregister() call inside chv_pinctrl_probe().
Check right below this point where chv_gpio_probe() is called.

> @@ -1548,7 +1549,6 @@ static int chv_pinctrl_remove(struct platform_device *pdev)
>  	struct chv_pinctrl *pctrl = platform_get_drvdata(pdev);
>  
>  	gpiochip_remove(&pctrl->chip);
> -	pinctrl_unregister(pctrl->pctldev);
>  
>  	return 0;
>  }
> -- 
> 2.1.4

Thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 12/50] pinctrl: intel: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-25 11:44     ` Heikki Krogerus
  -1 siblings, 0 replies; 265+ messages in thread
From: Heikki Krogerus @ 2016-02-25 11:44 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Mika Westerberg

On Wed, Feb 24, 2016 at 06:45:37PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> ---
>  drivers/pinctrl/intel/pinctrl-intel.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
> index 85536b4..27bb21b 100644
> --- a/drivers/pinctrl/intel/pinctrl-intel.c
> +++ b/drivers/pinctrl/intel/pinctrl-intel.c
> @@ -1014,7 +1014,8 @@ int intel_pinctrl_probe(struct platform_device *pdev,
>  	pctrl->pctldesc.pins = pctrl->soc->pins;
>  	pctrl->pctldesc.npins = pctrl->soc->npins;
>  
> -	pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
> +	pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
> +					       pctrl);
>  	if (IS_ERR(pctrl->pctldev)) {
>  		dev_err(&pdev->dev, "failed to register pinctrl driver\n");
>  		return PTR_ERR(pctrl->pctldev);

The same as in pinctrl-cherryview.c. pinctrl_unregister() is also
called here inside intel_pinctrl_probe().

> @@ -1037,7 +1038,6 @@ int intel_pinctrl_remove(struct platform_device *pdev)
>  	struct intel_pinctrl *pctrl = platform_get_drvdata(pdev);
>  
>  	gpiochip_remove(&pctrl->chip);
> -	pinctrl_unregister(pctrl->pctldev);
>  
>  	return 0;
>  }
> -- 
> 2.1.4

Thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 12/50] pinctrl: intel: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-25 11:44     ` Heikki Krogerus
  0 siblings, 0 replies; 265+ messages in thread
From: Heikki Krogerus @ 2016-02-25 11:44 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Feb 24, 2016 at 06:45:37PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> ---
>  drivers/pinctrl/intel/pinctrl-intel.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
> index 85536b4..27bb21b 100644
> --- a/drivers/pinctrl/intel/pinctrl-intel.c
> +++ b/drivers/pinctrl/intel/pinctrl-intel.c
> @@ -1014,7 +1014,8 @@ int intel_pinctrl_probe(struct platform_device *pdev,
>  	pctrl->pctldesc.pins = pctrl->soc->pins;
>  	pctrl->pctldesc.npins = pctrl->soc->npins;
>  
> -	pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
> +	pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
> +					       pctrl);
>  	if (IS_ERR(pctrl->pctldev)) {
>  		dev_err(&pdev->dev, "failed to register pinctrl driver\n");
>  		return PTR_ERR(pctrl->pctldev);

The same as in pinctrl-cherryview.c. pinctrl_unregister() is also
called here inside intel_pinctrl_probe().

> @@ -1037,7 +1038,6 @@ int intel_pinctrl_remove(struct platform_device *pdev)
>  	struct intel_pinctrl *pctrl = platform_get_drvdata(pdev);
>  
>  	gpiochip_remove(&pctrl->chip);
> -	pinctrl_unregister(pctrl->pctldev);
>  
>  	return 0;
>  }
> -- 
> 2.1.4

Thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 27/50] pinctrl: stm32: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15     ` Laxman Dewangan
  (?)
@ 2016-02-25 14:00       ` Maxime Coquelin
  -1 siblings, 0 replies; 265+ messages in thread
From: Maxime Coquelin @ 2016-02-25 14:00 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Linus Walleij, Jonathan Corbet, lee, linux-doc, linux-kernel,
	linux-gpio, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, linux-mediatek, Patrice Chotard

2016-02-24 14:15 GMT+01:00 Laxman Dewangan <ldewangan@nvidia.com>:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> ---
>  drivers/pinctrl/stm32/pinctrl-stm32.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)

Acked-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>

Thanks!
Maxime

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 27/50] pinctrl: stm32: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-25 14:00       ` Maxime Coquelin
  0 siblings, 0 replies; 265+ messages in thread
From: Maxime Coquelin @ 2016-02-25 14:00 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Linus Walleij, Jonathan Corbet, lee, linux-doc, linux-kernel,
	linux-gpio, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, linux-mediatek, Patrice Chotard

2016-02-24 14:15 GMT+01:00 Laxman Dewangan <ldewangan@nvidia.com>:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> ---
>  drivers/pinctrl/stm32/pinctrl-stm32.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)

Acked-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>

Thanks!
Maxime

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 27/50] pinctrl: stm32: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-25 14:00       ` Maxime Coquelin
  0 siblings, 0 replies; 265+ messages in thread
From: Maxime Coquelin @ 2016-02-25 14:00 UTC (permalink / raw)
  To: linux-arm-kernel

2016-02-24 14:15 GMT+01:00 Laxman Dewangan <ldewangan@nvidia.com>:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> ---
>  drivers/pinctrl/stm32/pinctrl-stm32.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)

Acked-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>

Thanks!
Maxime

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
  2016-02-24 13:15 ` Laxman Dewangan
  (?)
@ 2016-02-25 14:13   ` Linus Walleij
  -1 siblings, 0 replies; 265+ messages in thread
From: Linus Walleij @ 2016-02-25 14:13 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	moderated list:ARM/Mediatek SoC support

On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:

> 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.

As you can probably guess I like this too, so wait a while, collect ACKs
and send me a branch to pull for this too.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-25 14:13   ` Linus Walleij
  0 siblings, 0 replies; 265+ messages in thread
From: Linus Walleij @ 2016-02-25 14:13 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	moderated list:ARM/Mediatek SoC support

On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:

> 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.

As you can probably guess I like this too, so wait a while, collect ACKs
and send me a branch to pull for this too.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-25 14:13   ` Linus Walleij
  0 siblings, 0 replies; 265+ messages in thread
From: Linus Walleij @ 2016-02-25 14:13 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:

> 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.

As you can probably guess I like this too, so wait a while, collect ACKs
and send me a branch to pull for this too.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 39/50] pinctrl: lantiq: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:16   ` Laxman Dewangan
@ 2016-02-25 14:24     ` John Crispin
  -1 siblings, 0 replies; 265+ messages in thread
From: John Crispin @ 2016-02-25 14:24 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, bcm-kernel-feedback-list,
	linux-rpi-kernel, linux-mediatek, linux-arm-kernel



On 24/02/2016 14:16, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Acked-by: John Crispin <blogic@openwrt.org>




> ---
>  drivers/pinctrl/pinctrl-lantiq.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-lantiq.c b/drivers/pinctrl/pinctrl-lantiq.c
> index fc38a85..a4d6474 100644
> --- a/drivers/pinctrl/pinctrl-lantiq.c
> +++ b/drivers/pinctrl/pinctrl-lantiq.c
> @@ -336,7 +336,7 @@ int ltq_pinctrl_register(struct platform_device *pdev,
>  	desc->pmxops = &ltq_pmx_ops;
>  	info->dev = &pdev->dev;
>  
> -	info->pctrl = pinctrl_register(desc, &pdev->dev, info);
> +	info->pctrl = devm_pinctrl_register(&pdev->dev, desc, info);
>  	if (IS_ERR(info->pctrl)) {
>  		dev_err(&pdev->dev, "failed to register LTQ pinmux driver\n");
>  		return PTR_ERR(info->pctrl);
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 39/50] pinctrl: lantiq: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-25 14:24     ` John Crispin
  0 siblings, 0 replies; 265+ messages in thread
From: John Crispin @ 2016-02-25 14:24 UTC (permalink / raw)
  To: linux-arm-kernel



On 24/02/2016 14:16, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Acked-by: John Crispin <blogic@openwrt.org>




> ---
>  drivers/pinctrl/pinctrl-lantiq.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-lantiq.c b/drivers/pinctrl/pinctrl-lantiq.c
> index fc38a85..a4d6474 100644
> --- a/drivers/pinctrl/pinctrl-lantiq.c
> +++ b/drivers/pinctrl/pinctrl-lantiq.c
> @@ -336,7 +336,7 @@ int ltq_pinctrl_register(struct platform_device *pdev,
>  	desc->pmxops = &ltq_pmx_ops;
>  	info->dev = &pdev->dev;
>  
> -	info->pctrl = pinctrl_register(desc, &pdev->dev, info);
> +	info->pctrl = devm_pinctrl_register(&pdev->dev, desc, info);
>  	if (IS_ERR(info->pctrl)) {
>  		dev_err(&pdev->dev, "failed to register LTQ pinmux driver\n");
>  		return PTR_ERR(info->pctrl);
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-25 14:46     ` Philipp Zabel
  -1 siblings, 0 replies; 265+ messages in thread
From: Philipp Zabel @ 2016-02-25 14:46 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	bcm-kernel-feedback-list, linux-rpi-kernel, linux-mediatek,
	linux-arm-kernel

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


^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 01/50] pinctrl: Add devm_ apis for pinctrl_{register, unregister}
@ 2016-02-25 14:46     ` Philipp Zabel
  0 siblings, 0 replies; 265+ messages in thread
From: Philipp Zabel @ 2016-02-25 14:46 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 09/50] pinctrl: imx: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-25 14:47     ` Philipp Zabel
  -1 siblings, 0 replies; 265+ messages in thread
From: Philipp Zabel @ 2016-02-25 14:47 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, Adrian Alonso, linux-doc,
	linux-kernel, Stefan Agner, linux-gpio, bcm-kernel-feedback-list,
	linux-rpi-kernel, Uwe Kleine-König, linux-mediatek,
	Shawn Guo, linux-arm-kernel

Am Mittwoch, den 24.02.2016, 18:45 +0530 schrieb Laxman Dewangan:
> Use devm_pinctrl_register() for pin control registration and remove
> need of .remove callback.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Stefan Agner <stefan@agner.ch>
> Cc: Adrian Alonso <aalonso@freescale.com>
> Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
[...]

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp


^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 09/50] pinctrl: imx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-25 14:47     ` Philipp Zabel
  0 siblings, 0 replies; 265+ messages in thread
From: Philipp Zabel @ 2016-02-25 14:47 UTC (permalink / raw)
  To: linux-arm-kernel

Am Mittwoch, den 24.02.2016, 18:45 +0530 schrieb Laxman Dewangan:
> Use devm_pinctrl_register() for pin control registration and remove
> need of .remove callback.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Stefan Agner <stefan@agner.ch>
> Cc: Adrian Alonso <aalonso@freescale.com>
> Cc: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
[...]

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 42/50] pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:16   ` Laxman Dewangan
  (?)
@ 2016-02-25 20:30     ` Joshua Henderson
  -1 siblings, 0 replies; 265+ messages in thread
From: Joshua Henderson @ 2016-02-25 20:30 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek

On 02/24/2016 06:16 AM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Reviewed-by: Joshua Henderson <joshua.henderson@microchip.com>

Thanks,
Josh

> ---
>  drivers/pinctrl/pinctrl-pic32.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-pic32.c b/drivers/pinctrl/pinctrl-pic32.c
> index 0b07d4b..2a3fcd6 100644
> --- a/drivers/pinctrl/pinctrl-pic32.c
> +++ b/drivers/pinctrl/pinctrl-pic32.c
> @@ -2194,7 +2194,8 @@ static int pic32_pinctrl_probe(struct platform_device *pdev)
>  	pic32_pinctrl_desc.custom_params = pic32_mpp_bindings;
>  	pic32_pinctrl_desc.num_custom_params = ARRAY_SIZE(pic32_mpp_bindings);
>  
> -	pctl->pctldev = pinctrl_register(&pic32_pinctrl_desc, &pdev->dev, pctl);
> +	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pic32_pinctrl_desc,
> +					      pctl);
>  	if (IS_ERR(pctl->pctldev)) {
>  		dev_err(&pdev->dev, "Failed to register pinctrl device\n");
>  		return PTR_ERR(pctl->pctldev);
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 42/50] pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-25 20:30     ` Joshua Henderson
  0 siblings, 0 replies; 265+ messages in thread
From: Joshua Henderson @ 2016-02-25 20:30 UTC (permalink / raw)
  To: Laxman Dewangan, linus.walleij, corbet, lee
  Cc: linux-doc, linux-kernel, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, bcm-kernel-feedback-list, linux-mediatek

On 02/24/2016 06:16 AM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Reviewed-by: Joshua Henderson <joshua.henderson@microchip.com>

Thanks,
Josh

> ---
>  drivers/pinctrl/pinctrl-pic32.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-pic32.c b/drivers/pinctrl/pinctrl-pic32.c
> index 0b07d4b..2a3fcd6 100644
> --- a/drivers/pinctrl/pinctrl-pic32.c
> +++ b/drivers/pinctrl/pinctrl-pic32.c
> @@ -2194,7 +2194,8 @@ static int pic32_pinctrl_probe(struct platform_device *pdev)
>  	pic32_pinctrl_desc.custom_params = pic32_mpp_bindings;
>  	pic32_pinctrl_desc.num_custom_params = ARRAY_SIZE(pic32_mpp_bindings);
>  
> -	pctl->pctldev = pinctrl_register(&pic32_pinctrl_desc, &pdev->dev, pctl);
> +	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pic32_pinctrl_desc,
> +					      pctl);
>  	if (IS_ERR(pctl->pctldev)) {
>  		dev_err(&pdev->dev, "Failed to register pinctrl device\n");
>  		return PTR_ERR(pctl->pctldev);
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 42/50] pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-25 20:30     ` Joshua Henderson
  0 siblings, 0 replies; 265+ messages in thread
From: Joshua Henderson @ 2016-02-25 20:30 UTC (permalink / raw)
  To: linux-arm-kernel

On 02/24/2016 06:16 AM, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Reviewed-by: Joshua Henderson <joshua.henderson@microchip.com>

Thanks,
Josh

> ---
>  drivers/pinctrl/pinctrl-pic32.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-pic32.c b/drivers/pinctrl/pinctrl-pic32.c
> index 0b07d4b..2a3fcd6 100644
> --- a/drivers/pinctrl/pinctrl-pic32.c
> +++ b/drivers/pinctrl/pinctrl-pic32.c
> @@ -2194,7 +2194,8 @@ static int pic32_pinctrl_probe(struct platform_device *pdev)
>  	pic32_pinctrl_desc.custom_params = pic32_mpp_bindings;
>  	pic32_pinctrl_desc.num_custom_params = ARRAY_SIZE(pic32_mpp_bindings);
>  
> -	pctl->pctldev = pinctrl_register(&pic32_pinctrl_desc, &pdev->dev, pctl);
> +	pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pic32_pinctrl_desc,
> +					      pctl);
>  	if (IS_ERR(pctl->pctldev)) {
>  		dev_err(&pdev->dev, "Failed to register pinctrl device\n");
>  		return PTR_ERR(pctl->pctldev);
> 

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 50/50] pinctrl: zynq: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:16   ` Laxman Dewangan
  (?)
@ 2016-02-26  3:45     ` Sören Brinkmann
  -1 siblings, 0 replies; 265+ messages in thread
From: Sören Brinkmann @ 2016-02-26  3:45 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Michal Simek

On Wed, 2016-02-24 at 18:46:15 +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and
> remove the need of .remove callback.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Michal Simek <michal.simek@xilinx.com>
> Cc: Sören Brinkmann <soren.brinkmann@xilinx.com>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>

	Sören

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 50/50] pinctrl: zynq: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-26  3:45     ` Sören Brinkmann
  0 siblings, 0 replies; 265+ messages in thread
From: Sören Brinkmann @ 2016-02-26  3:45 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Michal Simek

On Wed, 2016-02-24 at 18:46:15 +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and
> remove the need of .remove callback.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Michal Simek <michal.simek@xilinx.com>
> Cc: Sören Brinkmann <soren.brinkmann@xilinx.com>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>

	Sören

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 50/50] pinctrl: zynq: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-26  3:45     ` Sören Brinkmann
  0 siblings, 0 replies; 265+ messages in thread
From: Sören Brinkmann @ 2016-02-26  3:45 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 2016-02-24 at 18:46:15 +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration and
> remove the need of .remove callback.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Michal Simek <michal.simek@xilinx.com>
> Cc: S?ren Brinkmann <soren.brinkmann@xilinx.com>
> Cc: linux-gpio at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
Acked-by: S?ren Brinkmann <soren.brinkmann@xilinx.com>

	S?ren

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
  (?)
@ 2016-02-26 10:06     ` Masahiro Yamada
  -1 siblings, 0 replies; 265+ messages in thread
From: Masahiro Yamada @ 2016-02-26 10:06 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Linus Walleij, Jonathan Corbet, lee, linux-doc,
	Linux Kernel Mailing List, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, Broadcom Kernel Feedback List,
	moderated list:ARM/Mediatek SoC support

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-26 10:06     ` Masahiro Yamada
  0 siblings, 0 replies; 265+ messages in thread
From: Masahiro Yamada @ 2016-02-26 10:06 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Linus Walleij, Jonathan Corbet, lee, linux-doc,
	Linux Kernel Mailing List, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, Broadcom Kernel Feedback List,
	moderated list:ARM/Mediatek SoC support

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 31/50] pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-26 10:06     ` Masahiro Yamada
  0 siblings, 0 replies; 265+ messages in thread
From: Masahiro Yamada @ 2016-02-26 10:06 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 14/50] pinctrl: meson: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-26 20:58     ` Carlo Caione
  -1 siblings, 0 replies; 265+ messages in thread
From: Carlo Caione @ 2016-02-26 20:58 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Linus Walleij, corbet, lee, linux-doc, open list,
	Beniamino Galvani, linux-gpio, bcm-kernel-feedback-list,
	linux-rpi-kernel, linux-mediatek, Lee Jones, linux-arm-kernel,
	Carlo Caione

On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Carlo Caione <carlo@endlessm.com>
> Cc: Beniamino Galvani <b.galvani@gmail.com>
> Cc: Lee Jones <lee.jones@linaro.org>

Acked-by: <carlo@endlessm.com>

-- 
Carlo Caione

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 14/50] pinctrl: meson: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-26 20:58     ` Carlo Caione
  0 siblings, 0 replies; 265+ messages in thread
From: Carlo Caione @ 2016-02-26 20:58 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> Use devm_pinctrl_register() for pin control registration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Carlo Caione <carlo@endlessm.com>
> Cc: Beniamino Galvani <b.galvani@gmail.com>
> Cc: Lee Jones <lee.jones@linaro.org>

Acked-by: <carlo@endlessm.com>

-- 
Carlo Caione

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 22/50] pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
  (?)
@ 2016-02-26 22:25     ` Robert Jarzmik
  -1 siblings, 0 replies; 265+ messages in thread
From: Robert Jarzmik @ 2016-02-26 22:25 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Daniel Mack, Haojian Zhuang

Laxman Dewangan <ldewangan@nvidia.com> writes:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Daniel Mack <daniel@zonque.org>
> Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
> Cc: Robert Jarzmik <robert.jarzmik@free.fr>
> Cc: linux-arm-kernel@lists.infradead.org
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>

Cheers.

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 22/50] pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-26 22:25     ` Robert Jarzmik
  0 siblings, 0 replies; 265+ messages in thread
From: Robert Jarzmik @ 2016-02-26 22:25 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Daniel Mack, Haojian Zhuang

Laxman Dewangan <ldewangan@nvidia.com> writes:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Daniel Mack <daniel@zonque.org>
> Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
> Cc: Robert Jarzmik <robert.jarzmik@free.fr>
> Cc: linux-arm-kernel@lists.infradead.org
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>

Cheers.

--
Robert

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 22/50] pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-26 22:25     ` Robert Jarzmik
  0 siblings, 0 replies; 265+ messages in thread
From: Robert Jarzmik @ 2016-02-26 22:25 UTC (permalink / raw)
  To: linux-arm-kernel

Laxman Dewangan <ldewangan@nvidia.com> writes:

> Use devm_pinctrl_register() for pin control registration and clean
> the error path.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Daniel Mack <daniel@zonque.org>
> Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
> Cc: Robert Jarzmik <robert.jarzmik@free.fr>
> Cc: linux-arm-kernel at lists.infradead.org
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>

Cheers.

--
Robert

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
  2016-02-25 14:13   ` Linus Walleij
  (?)
@ 2016-02-28 14:44     ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-28 14:44 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	ARM/Mediatek SoC support


On Thursday 25 February 2016 07:43 PM, Linus Walleij wrote:
> On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
>
>> 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.
> As you can probably guess I like this too, so wait a while, collect ACKs
> and send me a branch to pull for this too.
>
Got lots of ack/reviewed by and captured all. Also did code changes per 
review:
- Optimizing in devm_ apis.
- Correcting the description of devm_ apis.
- Simplifying probe in digicolor.
- Removing unwanted pfc->pinctrl in ish.

Pushed the change at:
Branch "devm_pinctrl_register" of 
https://github.com/ldewangan/linux-upstream.git.

Base repo is
for-next of 
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git


If required, I can send the V2 version of list with acks.



^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-28 14:44     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-28 14:44 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	ARM/Mediatek SoC support,


On Thursday 25 February 2016 07:43 PM, Linus Walleij wrote:
> On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
>
>> 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.
> As you can probably guess I like this too, so wait a while, collect ACKs
> and send me a branch to pull for this too.
>
Got lots of ack/reviewed by and captured all. Also did code changes per 
review:
- Optimizing in devm_ apis.
- Correcting the description of devm_ apis.
- Simplifying probe in digicolor.
- Removing unwanted pfc->pinctrl in ish.

Pushed the change at:
Branch "devm_pinctrl_register" of 
https://github.com/ldewangan/linux-upstream.git.

Base repo is
for-next of 
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git


If required, I can send the V2 version of list with acks.

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-02-28 14:44     ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-02-28 14:44 UTC (permalink / raw)
  To: linux-arm-kernel


On Thursday 25 February 2016 07:43 PM, Linus Walleij wrote:
> On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
>
>> 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.
> As you can probably guess I like this too, so wait a while, collect ACKs
> and send me a branch to pull for this too.
>
Got lots of ack/reviewed by and captured all. Also did code changes per 
review:
- Optimizing in devm_ apis.
- Correcting the description of devm_ apis.
- Simplifying probe in digicolor.
- Removing unwanted pfc->pinctrl in ish.

Pushed the change at:
Branch "devm_pinctrl_register" of 
https://github.com/ldewangan/linux-upstream.git.

Base repo is
for-next of 
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git


If required, I can send the V2 version of list with acks.

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 09/50] pinctrl: imx: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:15   ` Laxman Dewangan
@ 2016-02-29  3:04     ` Shawn Guo
  -1 siblings, 0 replies; 265+ messages in thread
From: Shawn Guo @ 2016-02-29  3:04 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, Stefan Agner, Adrian Alonso,
	Uwe Kleine-König

On Wed, Feb 24, 2016 at 06:45:34PM +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: Shawn Guo <shawnguo@kernel.org>

Acked-by: Shawn Guo <shawnguo@kernel.org>

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 09/50] pinctrl: imx: Use devm_pinctrl_register() for pinctrl registration
@ 2016-02-29  3:04     ` Shawn Guo
  0 siblings, 0 replies; 265+ messages in thread
From: Shawn Guo @ 2016-02-29  3:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Feb 24, 2016 at 06:45:34PM +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: Shawn Guo <shawnguo@kernel.org>

Acked-by: Shawn Guo <shawnguo@kernel.org>

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 44/50] pinctrl: rockchip: Use devm_pinctrl_register() for pinctrl registration
  2016-02-24 13:16   ` Laxman Dewangan
@ 2016-03-02 21:48     ` Heiko Stübner
  -1 siblings, 0 replies; 265+ messages in thread
From: Heiko Stübner @ 2016-03-02 21:48 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, corbet, lee, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-mediatek, linux-rockchip

Am Mittwoch, 24. Februar 2016, 18:46:09 schrieb Laxman Dewangan:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Heiko Stuebner <heiko@sntech.de>
> Cc: linux-rockchip@lists.infradead.org

looks good to me

Reviewed-by: Heiko Stuebner <heiko@sntech.de>

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 44/50] pinctrl: rockchip: Use devm_pinctrl_register() for pinctrl registration
@ 2016-03-02 21:48     ` Heiko Stübner
  0 siblings, 0 replies; 265+ messages in thread
From: Heiko Stübner @ 2016-03-02 21:48 UTC (permalink / raw)
  To: linux-arm-kernel

Am Mittwoch, 24. Februar 2016, 18:46:09 schrieb Laxman Dewangan:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> Cc: Heiko Stuebner <heiko@sntech.de>
> Cc: linux-rockchip at lists.infradead.org

looks good to me

Reviewed-by: Heiko Stuebner <heiko@sntech.de>

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
  2016-02-28 14:44     ` Laxman Dewangan
  (?)
@ 2016-03-09 14:23       ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-03-09 14:23 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	ARM/Mediatek SoC support

Hi Linus,

On Sunday 28 February 2016 08:14 PM, Laxman Dewangan wrote:
>
> On Thursday 25 February 2016 07:43 PM, Linus Walleij wrote:
>> On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan 
>> <ldewangan@nvidia.com> wrote:
>>
>>> 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.
>> As you can probably guess I like this too, so wait a while, collect ACKs
>> and send me a branch to pull for this too.
>>
> Got lots of ack/reviewed by and captured all. Also did code changes 
> per review:
> - Optimizing in devm_ apis.
> - Correcting the description of devm_ apis.
> - Simplifying probe in digicolor.
> - Removing unwanted pfc->pinctrl in ish.
>
> Pushed the change at:
> Branch "devm_pinctrl_register" of 
> https://github.com/ldewangan/linux-upstream.git.
>
> Base repo is
> for-next of 
> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>
>
> If required, I can send the V2 version of list with acks.
>

Let me know if I need to send full series (V2 with collected ack) again 
or fine to pull it from above location.


Thanks,
Laxman



^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-03-09 14:23       ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-03-09 14:23 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	ARM/Mediatek SoC support,

Hi Linus,

On Sunday 28 February 2016 08:14 PM, Laxman Dewangan wrote:
>
> On Thursday 25 February 2016 07:43 PM, Linus Walleij wrote:
>> On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan 
>> <ldewangan@nvidia.com> wrote:
>>
>>> 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.
>> As you can probably guess I like this too, so wait a while, collect ACKs
>> and send me a branch to pull for this too.
>>
> Got lots of ack/reviewed by and captured all. Also did code changes 
> per review:
> - Optimizing in devm_ apis.
> - Correcting the description of devm_ apis.
> - Simplifying probe in digicolor.
> - Removing unwanted pfc->pinctrl in ish.
>
> Pushed the change at:
> Branch "devm_pinctrl_register" of 
> https://github.com/ldewangan/linux-upstream.git.
>
> Base repo is
> for-next of 
> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>
>
> If required, I can send the V2 version of list with acks.
>

Let me know if I need to send full series (V2 with collected ack) again 
or fine to pull it from above location.


Thanks,
Laxman

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-03-09 14:23       ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-03-09 14:23 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Linus,

On Sunday 28 February 2016 08:14 PM, Laxman Dewangan wrote:
>
> On Thursday 25 February 2016 07:43 PM, Linus Walleij wrote:
>> On Wed, Feb 24, 2016 at 2:15 PM, Laxman Dewangan 
>> <ldewangan@nvidia.com> wrote:
>>
>>> 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.
>> As you can probably guess I like this too, so wait a while, collect ACKs
>> and send me a branch to pull for this too.
>>
> Got lots of ack/reviewed by and captured all. Also did code changes 
> per review:
> - Optimizing in devm_ apis.
> - Correcting the description of devm_ apis.
> - Simplifying probe in digicolor.
> - Removing unwanted pfc->pinctrl in ish.
>
> Pushed the change at:
> Branch "devm_pinctrl_register" of 
> https://github.com/ldewangan/linux-upstream.git.
>
> Base repo is
> for-next of 
> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>
>
> If required, I can send the V2 version of list with acks.
>

Let me know if I need to send full series (V2 with collected ack) again 
or fine to pull it from above location.


Thanks,
Laxman

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
  2016-03-09 14:23       ` Laxman Dewangan
  (?)
@ 2016-03-15  8:31         ` Linus Walleij
  -1 siblings, 0 replies; 265+ messages in thread
From: Linus Walleij @ 2016-03-15  8:31 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	ARM/Mediatek SoC support

On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:

>> Pushed the change at:
>> Branch "devm_pinctrl_register" of
>> https://github.com/ldewangan/linux-upstream.git.
>>
>> Base repo is
>> for-next of
>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>
>>
>> If required, I can send the V2 version of list with acks.
>
> Let me know if I need to send full series (V2 with collected ack) again or
> fine to pull it from above location.

Please collect the ACKs on your branch and ask me to pull it after v4.6-rc1.
No need to resend the patches.

Unfortunately it arrived too late for the merge window, but hey: we got the
devm gpiochip in for v4.6.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-03-15  8:31         ` Linus Walleij
  0 siblings, 0 replies; 265+ messages in thread
From: Linus Walleij @ 2016-03-15  8:31 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	ARM/Mediatek SoC support

On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:

>> Pushed the change at:
>> Branch "devm_pinctrl_register" of
>> https://github.com/ldewangan/linux-upstream.git.
>>
>> Base repo is
>> for-next of
>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>
>>
>> If required, I can send the V2 version of list with acks.
>
> Let me know if I need to send full series (V2 with collected ack) again or
> fine to pull it from above location.

Please collect the ACKs on your branch and ask me to pull it after v4.6-rc1.
No need to resend the patches.

Unfortunately it arrived too late for the merge window, but hey: we got the
devm gpiochip in for v4.6.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-03-15  8:31         ` Linus Walleij
  0 siblings, 0 replies; 265+ messages in thread
From: Linus Walleij @ 2016-03-15  8:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:

>> Pushed the change at:
>> Branch "devm_pinctrl_register" of
>> https://github.com/ldewangan/linux-upstream.git.
>>
>> Base repo is
>> for-next of
>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>
>>
>> If required, I can send the V2 version of list with acks.
>
> Let me know if I need to send full series (V2 with collected ack) again or
> fine to pull it from above location.

Please collect the ACKs on your branch and ask me to pull it after v4.6-rc1.
No need to resend the patches.

Unfortunately it arrived too late for the merge window, but hey: we got the
devm gpiochip in for v4.6.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
  2016-03-15  8:31         ` Linus Walleij
  (?)
@ 2016-03-15 13:25           ` Laxman Dewangan
  -1 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-03-15 13:25 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	ARM/Mediatek SoC support


On Tuesday 15 March 2016 02:01 PM, Linus Walleij wrote:
> On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
>
>>> Pushed the change at:
>>> Branch "devm_pinctrl_register" of
>>> https://github.com/ldewangan/linux-upstream.git.
>>>
>>> Base repo is
>>> for-next of
>>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>>
>>>
>>> If required, I can send the V2 version of list with acks.
>> Let me know if I need to send full series (V2 with collected ack) again or
>> fine to pull it from above location.
> Please collect the ACKs on your branch and ask me to pull it after v4.6-rc1.
> No need to resend the patches.
>
> Unfortunately it arrived too late for the merge window, but hey: we got the
> devm gpiochip in for v4.6.

Thanks for taking the GPIO patches.

Ok, We will do pincontrol post v4.6 and probably, we will have some more 
chnages for using devm_gpio in pincontrol subsystem  as these APIs will 
be available  publicly.

Thanks,
Laxman




^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-03-15 13:25           ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-03-15 13:25 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	ARM/Mediatek SoC support


On Tuesday 15 March 2016 02:01 PM, Linus Walleij wrote:
> On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
>
>>> Pushed the change at:
>>> Branch "devm_pinctrl_register" of
>>> https://github.com/ldewangan/linux-upstream.git.
>>>
>>> Base repo is
>>> for-next of
>>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>>
>>>
>>> If required, I can send the V2 version of list with acks.
>> Let me know if I need to send full series (V2 with collected ack) again or
>> fine to pull it from above location.
> Please collect the ACKs on your branch and ask me to pull it after v4.6-rc1.
> No need to resend the patches.
>
> Unfortunately it arrived too late for the merge window, but hey: we got the
> devm gpiochip in for v4.6.

Thanks for taking the GPIO patches.

Ok, We will do pincontrol post v4.6 and probably, we will have some more 
chnages for using devm_gpio in pincontrol subsystem  as these APIs will 
be available  publicly.

Thanks,
Laxman

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-03-15 13:25           ` Laxman Dewangan
  0 siblings, 0 replies; 265+ messages in thread
From: Laxman Dewangan @ 2016-03-15 13:25 UTC (permalink / raw)
  To: linux-arm-kernel


On Tuesday 15 March 2016 02:01 PM, Linus Walleij wrote:
> On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
>
>>> Pushed the change at:
>>> Branch "devm_pinctrl_register" of
>>> https://github.com/ldewangan/linux-upstream.git.
>>>
>>> Base repo is
>>> for-next of
>>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>>
>>>
>>> If required, I can send the V2 version of list with acks.
>> Let me know if I need to send full series (V2 with collected ack) again or
>> fine to pull it from above location.
> Please collect the ACKs on your branch and ask me to pull it after v4.6-rc1.
> No need to resend the patches.
>
> Unfortunately it arrived too late for the merge window, but hey: we got the
> devm gpiochip in for v4.6.

Thanks for taking the GPIO patches.

Ok, We will do pincontrol post v4.6 and probably, we will have some more 
chnages for using devm_gpio in pincontrol subsystem  as these APIs will 
be available  publicly.

Thanks,
Laxman

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
  2016-03-15 13:25           ` Laxman Dewangan
  (?)
@ 2016-03-16 13:03             ` Linus Walleij
  -1 siblings, 0 replies; 265+ messages in thread
From: Linus Walleij @ 2016-03-16 13:03 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	ARM/Mediatek SoC support

On Tue, Mar 15, 2016 at 2:25 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> On Tuesday 15 March 2016 02:01 PM, Linus Walleij wrote:
>> On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com>
>> wrote:
>>
>>>> Pushed the change at:
>>>> Branch "devm_pinctrl_register" of
>>>> https://github.com/ldewangan/linux-upstream.git.
>>>>
>>>> Base repo is
>>>> for-next of
>>>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>>>
>>>>
>>>> If required, I can send the V2 version of list with acks.
>>>
>>> Let me know if I need to send full series (V2 with collected ack) again
>>> or
>>> fine to pull it from above location.
>>
>> Please collect the ACKs on your branch and ask me to pull it after
>> v4.6-rc1.
>> No need to resend the patches.
>>
>> Unfortunately it arrived too late for the merge window, but hey: we got
>> the
>> devm gpiochip in for v4.6.
>
>
> Thanks for taking the GPIO patches.
>
> Ok, We will do pincontrol post v4.6 and probably, we will have some more
> chnages for using devm_gpio in pincontrol subsystem  as these APIs will be
> available  publicly.

Awesome, then we get double the reduction in most cases, this
will look nice. Let's proceed like this.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-03-16 13:03             ` Linus Walleij
  0 siblings, 0 replies; 265+ messages in thread
From: Linus Walleij @ 2016-03-16 13:03 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Jon Corbet, Lee Jones, linux-doc, linux-kernel, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, bcm-kernel-feedback-list,
	ARM/Mediatek SoC support

On Tue, Mar 15, 2016 at 2:25 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> On Tuesday 15 March 2016 02:01 PM, Linus Walleij wrote:
>> On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com>
>> wrote:
>>
>>>> Pushed the change at:
>>>> Branch "devm_pinctrl_register" of
>>>> https://github.com/ldewangan/linux-upstream.git.
>>>>
>>>> Base repo is
>>>> for-next of
>>>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>>>
>>>>
>>>> If required, I can send the V2 version of list with acks.
>>>
>>> Let me know if I need to send full series (V2 with collected ack) again
>>> or
>>> fine to pull it from above location.
>>
>> Please collect the ACKs on your branch and ask me to pull it after
>> v4.6-rc1.
>> No need to resend the patches.
>>
>> Unfortunately it arrived too late for the merge window, but hey: we got
>> the
>> devm gpiochip in for v4.6.
>
>
> Thanks for taking the GPIO patches.
>
> Ok, We will do pincontrol post v4.6 and probably, we will have some more
> chnages for using devm_gpio in pincontrol subsystem  as these APIs will be
> available  publicly.

Awesome, then we get double the reduction in most cases, this
will look nice. Let's proceed like this.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-03-16 13:03             ` Linus Walleij
  0 siblings, 0 replies; 265+ messages in thread
From: Linus Walleij @ 2016-03-16 13:03 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Mar 15, 2016 at 2:25 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
> On Tuesday 15 March 2016 02:01 PM, Linus Walleij wrote:
>> On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com>
>> wrote:
>>
>>>> Pushed the change at:
>>>> Branch "devm_pinctrl_register" of
>>>> https://github.com/ldewangan/linux-upstream.git.
>>>>
>>>> Base repo is
>>>> for-next of
>>>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>>>
>>>>
>>>> If required, I can send the V2 version of list with acks.
>>>
>>> Let me know if I need to send full series (V2 with collected ack) again
>>> or
>>> fine to pull it from above location.
>>
>> Please collect the ACKs on your branch and ask me to pull it after
>> v4.6-rc1.
>> No need to resend the patches.
>>
>> Unfortunately it arrived too late for the merge window, but hey: we got
>> the
>> devm gpiochip in for v4.6.
>
>
> Thanks for taking the GPIO patches.
>
> Ok, We will do pincontrol post v4.6 and probably, we will have some more
> chnages for using devm_gpio in pincontrol subsystem  as these APIs will be
> available  publicly.

Awesome, then we get double the reduction in most cases, this
will look nice. Let's proceed like this.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
  2016-03-15  8:31         ` Linus Walleij
  (?)
@ 2016-04-20  4:12           ` Masahiro Yamada
  -1 siblings, 0 replies; 265+ messages in thread
From: Masahiro Yamada @ 2016-04-20  4:12 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Laxman Dewangan, Jon Corbet, Lee Jones, linux-doc, linux-kernel,
	linux-gpio, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, ARM/Mediatek SoC support

Hi.

2016-03-15 17:31 GMT+09:00 Linus Walleij <linus.walleij@linaro.org>:
> On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
>
>>> Pushed the change at:
>>> Branch "devm_pinctrl_register" of
>>> https://github.com/ldewangan/linux-upstream.git.
>>>
>>> Base repo is
>>> for-next of
>>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>>
>>>
>>> If required, I can send the V2 version of list with acks.
>>
>> Let me know if I need to send full series (V2 with collected ack) again or
>> fine to pull it from above location.
>
> Please collect the ACKs on your branch and ask me to pull it after v4.6-rc1.
> No need to resend the patches.
>
> Unfortunately it arrived too late for the merge window, but hey: we got the
> devm gpiochip in for v4.6.


Not pulled yet?

I want to do my development on top of the devm_pinctrl_register series.



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 265+ messages in thread

* Re: [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-04-20  4:12           ` Masahiro Yamada
  0 siblings, 0 replies; 265+ messages in thread
From: Masahiro Yamada @ 2016-04-20  4:12 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Laxman Dewangan, Jon Corbet, Lee Jones, linux-doc, linux-kernel,
	linux-gpio, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, ARM/Mediatek SoC support

Hi.

2016-03-15 17:31 GMT+09:00 Linus Walleij <linus.walleij@linaro.org>:
> On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
>
>>> Pushed the change at:
>>> Branch "devm_pinctrl_register" of
>>> https://github.com/ldewangan/linux-upstream.git.
>>>
>>> Base repo is
>>> for-next of
>>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>>
>>>
>>> If required, I can send the V2 version of list with acks.
>>
>> Let me know if I need to send full series (V2 with collected ack) again or
>> fine to pull it from above location.
>
> Please collect the ACKs on your branch and ask me to pull it after v4.6-rc1.
> No need to resend the patches.
>
> Unfortunately it arrived too late for the merge window, but hey: we got the
> devm gpiochip in for v4.6.


Not pulled yet?

I want to do my development on top of the devm_pinctrl_register series.



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 265+ messages in thread

* [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister}
@ 2016-04-20  4:12           ` Masahiro Yamada
  0 siblings, 0 replies; 265+ messages in thread
From: Masahiro Yamada @ 2016-04-20  4:12 UTC (permalink / raw)
  To: linux-arm-kernel

Hi.

2016-03-15 17:31 GMT+09:00 Linus Walleij <linus.walleij@linaro.org>:
> On Wed, Mar 9, 2016 at 3:23 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:
>
>>> Pushed the change at:
>>> Branch "devm_pinctrl_register" of
>>> https://github.com/ldewangan/linux-upstream.git.
>>>
>>> Base repo is
>>> for-next of
>>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
>>>
>>>
>>> If required, I can send the V2 version of list with acks.
>>
>> Let me know if I need to send full series (V2 with collected ack) again or
>> fine to pull it from above location.
>
> Please collect the ACKs on your branch and ask me to pull it after v4.6-rc1.
> No need to resend the patches.
>
> Unfortunately it arrived too late for the merge window, but hey: we got the
> devm gpiochip in for v4.6.


Not pulled yet?

I want to do my development on top of the devm_pinctrl_register series.



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 265+ messages in thread

end of thread, other threads:[~2016-04-20  4:12 UTC | newest]

Thread overview: 265+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-24 13:15 [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister} Laxman Dewangan
2016-02-24 13:15 ` Laxman Dewangan
2016-02-24 13:15 ` Laxman Dewangan
2016-02-24 13:15 ` [PATCH 01/50] pinctrl: Add " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:21   ` Bjorn Andersson
2016-02-24 18:21     ` Bjorn Andersson
2016-02-25 14:46   ` Philipp Zabel
2016-02-25 14:46     ` Philipp Zabel
2016-02-24 13:15 ` [PATCH 03/50] pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:25   ` Ray Jui
2016-02-24 18:25     ` Ray Jui
2016-02-24 13:15 ` [PATCH 05/50] pinctrl: cygnus-mux: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:27   ` Ray Jui
2016-02-24 18:27     ` Ray Jui
2016-02-24 13:15 ` [PATCH 06/50] pinctrl: iproc-gpio: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:29   ` Ray Jui
2016-02-24 18:29     ` Ray Jui
2016-02-24 13:15 ` [PATCH 07/50] pinctrl: nsp-gpio: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:30   ` Ray Jui
2016-02-24 18:30     ` Ray Jui
2016-02-24 13:15 ` [PATCH 09/50] pinctrl: imx: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-25 14:47   ` Philipp Zabel
2016-02-25 14:47     ` Philipp Zabel
2016-02-29  3:04   ` Shawn Guo
2016-02-29  3:04     ` Shawn Guo
2016-02-24 13:15 ` [PATCH 10/50] pinctrl: imxl: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15 ` [PATCH 12/50] pinctrl: intel: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-25 11:44   ` Heikki Krogerus
2016-02-25 11:44     ` Heikki Krogerus
2016-02-24 13:15 ` [PATCH 13/50] pinctrl: mtk-common: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:36   ` Matthias Brugger
2016-02-24 13:36     ` Matthias Brugger
2016-02-24 20:28   ` Hongzhou Yang
2016-02-24 20:28     ` Hongzhou Yang
2016-02-24 20:28     ` Hongzhou Yang
2016-02-24 13:15 ` [PATCH 14/50] pinctrl: meson: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-26 20:58   ` Carlo Caione
2016-02-26 20:58     ` Carlo Caione
2016-02-24 13:15 ` [PATCH 15/50] pinctrl: mvebu: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 14:07   ` Thomas Petazzoni
2016-02-24 14:07     ` Thomas Petazzoni
2016-02-24 14:07     ` Thomas Petazzoni
2016-02-24 18:28   ` kbuild test robot
2016-02-24 18:28     ` kbuild test robot
2016-02-24 18:28     ` kbuild test robot
2016-02-24 13:15 ` [PATCH 16/50] pinctrl: nomadic: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15 ` [PATCH 17/50] pinctrl: spmi-gpio: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:06   ` Bjorn Andersson
2016-02-24 18:06     ` Bjorn Andersson
2016-02-24 13:15 ` [PATCH 18/50] pinctrl: spmi: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:07   ` Bjorn Andersson
2016-02-24 18:07     ` Bjorn Andersson
2016-02-24 13:15 ` [PATCH 19/50] pinctrl: ssbi-gpi: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:08   ` Bjorn Andersson
2016-02-24 18:08     ` Bjorn Andersson
2016-02-24 13:15 ` [PATCH 20/50] pinctrl: ssbi-mpp: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:09   ` Bjorn Andersson
2016-02-24 18:09     ` Bjorn Andersson
2016-02-24 13:15 ` [PATCH 21/50] pinctrl: msm: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:11   ` Bjorn Andersson
2016-02-24 18:11     ` Bjorn Andersson
2016-02-24 13:15 ` [PATCH 22/50] pinctrl: pxa: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-26 22:25   ` Robert Jarzmik
2016-02-26 22:25     ` Robert Jarzmik
2016-02-26 22:25     ` Robert Jarzmik
2016-02-24 13:15 ` [PATCH 24/50] pinctrl: samsung: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15 ` [PATCH 26/50] pinctrl: spear: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-25  2:10   ` Viresh Kumar
2016-02-25  2:10     ` Viresh Kumar
     [not found] ` <1456319775-3216-1-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-02-24 13:15   ` [PATCH 02/50] pinctrl: Add resource management devm_pinctrl_{register, unregister} Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15   ` [PATCH 04/50] pinctrl: bcm2835: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 18:27     ` Ray Jui
2016-02-24 18:27       ` Ray Jui
2016-02-24 13:15   ` [PATCH 08/50] pinctrl: berlin: " Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 17:28     ` Antoine Ténart
2016-02-24 17:28       ` Antoine Ténart
2016-02-24 13:15   ` [PATCH 11/50] pinctrl: cherryview: " Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-25 11:42     ` Heikki Krogerus
2016-02-25 11:42       ` Heikki Krogerus
2016-02-24 13:15   ` [PATCH 23/50] pinctrl: exynos5440: " Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15   ` [PATCH 25/50] pinctrl: ish-pfc: " Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:59     ` Geert Uytterhoeven
2016-02-24 13:59       ` Geert Uytterhoeven
2016-02-24 13:59       ` Geert Uytterhoeven
2016-02-24 13:15   ` [PATCH 27/50] pinctrl: stm32: " Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-25 14:00     ` Maxime Coquelin
2016-02-25 14:00       ` Maxime Coquelin
2016-02-25 14:00       ` Maxime Coquelin
2016-02-24 13:15   ` [PATCH 30/50] pinctrl: tegra-xusb: " Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 16:41     ` Stephen Warren
2016-02-24 16:41       ` Stephen Warren
2016-02-24 13:15   ` [PATCH 34/50] pinctrl: amd: " Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 13:15     ` Laxman Dewangan
2016-02-24 17:22   ` [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister} Stefan Wahren
2016-02-24 17:22     ` Stefan Wahren
2016-02-24 17:22     ` Stefan Wahren
2016-02-24 17:14     ` Laxman Dewangan
2016-02-24 17:14       ` Laxman Dewangan
2016-02-24 17:14       ` Laxman Dewangan
2016-02-24 13:15 ` [PATCH 28/50] pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 18:00   ` Maxime Ripard
2016-02-24 18:00     ` Maxime Ripard
2016-02-24 13:15 ` [PATCH 29/50] pinctrl: tegra: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 16:44   ` Stephen Warren
2016-02-24 16:44     ` Stephen Warren
2016-02-24 13:15 ` [PATCH 31/50] pinctrl: uniphier: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-26 10:06   ` Masahiro Yamada
2016-02-26 10:06     ` Masahiro Yamada
2016-02-26 10:06     ` Masahiro Yamada
2016-02-24 13:15 ` [PATCH 32/50] pinctrl: vt8500: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15 ` [PATCH 33/50] pinctrl: adi2: " Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:15   ` Laxman Dewangan
2016-02-24 13:16 ` [PATCH 35/50] pinctrl: as3722: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16 ` [PATCH 36/50] pinctrl: at91-pio4: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16 ` [PATCH 37/50] pinctrl: at91: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16 ` [PATCH 38/50] pinctrl: digicolor: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:42   ` Baruch Siach
2016-02-24 13:42     ` Baruch Siach
2016-02-24 13:16 ` [PATCH 39/50] pinctrl: lantiq: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-25 14:24   ` John Crispin
2016-02-25 14:24     ` John Crispin
2016-02-24 13:16 ` [PATCH 40/50] pinctrl: lpc18xx: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 15:06   ` Joachim Eastwood
2016-02-24 15:06     ` Joachim Eastwood
2016-02-24 15:06     ` Joachim Eastwood
2016-02-24 13:16 ` [PATCH 41/50] pinctrl: palmas: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16 ` [PATCH 42/50] pinctrl: pic32: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-25 20:30   ` Joshua Henderson
2016-02-25 20:30     ` Joshua Henderson
2016-02-25 20:30     ` Joshua Henderson
2016-02-24 13:16 ` [PATCH 43/50] pinctrl: pistachio: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16 ` [PATCH 44/50] pinctrl: rockchip: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-03-02 21:48   ` Heiko Stübner
2016-03-02 21:48     ` Heiko Stübner
2016-02-24 13:16 ` [PATCH 45/50] pinctrl: st: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
     [not found]   ` <1456319775-3216-46-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-02-24 16:14     ` Maxime Coquelin
2016-02-24 16:14       ` Maxime Coquelin
2016-02-24 16:14       ` Maxime Coquelin
2016-02-24 13:16 ` [PATCH 46/50] pinctrl: tb10x: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16 ` [PATCH 47/50] pinctrl: tz1090-pdc: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16 ` [PATCH 48/50] pinctrl: tz1090 " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16 ` [PATCH 49/50] pinctrl: u300: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16 ` [PATCH 50/50] pinctrl: zynq: " Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-24 13:16   ` Laxman Dewangan
2016-02-26  3:45   ` Sören Brinkmann
2016-02-26  3:45     ` Sören Brinkmann
2016-02-26  3:45     ` Sören Brinkmann
2016-02-25 14:13 ` [PATCH 00/50] pinctrl: Add and use devm_ apis for pinctrl_{register, unregister} Linus Walleij
2016-02-25 14:13   ` Linus Walleij
2016-02-25 14:13   ` Linus Walleij
2016-02-28 14:44   ` Laxman Dewangan
2016-02-28 14:44     ` Laxman Dewangan
2016-02-28 14:44     ` Laxman Dewangan
2016-03-09 14:23     ` Laxman Dewangan
2016-03-09 14:23       ` Laxman Dewangan
2016-03-09 14:23       ` Laxman Dewangan
2016-03-15  8:31       ` Linus Walleij
2016-03-15  8:31         ` Linus Walleij
2016-03-15  8:31         ` Linus Walleij
2016-03-15 13:25         ` Laxman Dewangan
2016-03-15 13:25           ` Laxman Dewangan
2016-03-15 13:25           ` Laxman Dewangan
2016-03-16 13:03           ` Linus Walleij
2016-03-16 13:03             ` Linus Walleij
2016-03-16 13:03             ` Linus Walleij
2016-04-20  4:12         ` Masahiro Yamada
2016-04-20  4:12           ` Masahiro Yamada
2016-04-20  4:12           ` Masahiro Yamada

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.