mbox series

[v3,00/12] OpenPandora: make wl1251 connected to mmc3 sdio port of OpenPandora work again

Message ID cover.1573122644.git.hns@goldelico.com (mailing list archive)
Headers show
Series OpenPandora: make wl1251 connected to mmc3 sdio port of OpenPandora work again | expand

Message

H. Nikolaus Schaller Nov. 7, 2019, 10:30 a.m. UTC
* add a revisit note for special wl1251 handling code because it should
  be solved more generic in mmc core - suggested by Ulf Hansson <ulf.hansson@linaro.org>
* remove init_card callback from platform_data/hsmmc-omap.h - suggested by Ulf Hansson <ulf.hansson@linaro.org>
* remove obstructive always-on for vwlan regulator - suggested by Ulf Hansson <ulf.hansson@linaro.org>
* rename DT node - suggested by Rob Herring <robh@kernel.org>
* fix ARM: dts: subject prefix - suggested by Tony Lindgren <tony@atomide.com>
* also remove omap2_hsmmc_info and obc-y line in Makefile - suggested by Tony Lindgren <tony@atomide.com>

PATCH V2 2019-10-19 20:41:47:
* added acked-by for wl1251 patches - Kalle Valo <kvalo@codeaurora.org>
* really removed old pdata-quirks code (not through #if 0)
* splited out a partial revert of
	efdfeb079cc3b ("regulator: fixed: Convert to use GPIO descriptor only")
  because that was introduced after v4.19 and stops the removal of
  the pdata-quirks patch from cleanly applying to v4.9, v4.14, v4.19
  - reported by Sasha Levin <sashal@kernel.org>
* added a new patch to remove old omap hsmmc since pdata quirks
  were last user - suggested by Tony Lindgren <tony@atomide.com>

PATCH V1 2019-10-18 22:25:39:
Here we have a set of scattered patches to make the OpenPandora WiFi work again.

v4.7 did break the pdata-quirks which made the mmc3 interface
fail completely, because some code now assumes device tree
based instantiation.

Fixes: 81eef6ca9201 ("mmc: omap_hsmmc: Use dma_request_chan() for requesting DMA channel")

v4.11 did break the sdio qirks for wl1251 which made the driver no longer
load, although the device was found as an sdio client.

Fixes: 884f38607897 ("mmc: core: move some sdio IDs out of quirks file")

To solve these issues:
* we convert mmc3 and wl1251 initialization from pdata-quirks
  to device tree
* we make the wl1251 driver read properties from device tree
* we fix the mmc core vendor ids and quirks
* we fix the wl1251 (and wl1271) driver to use only vendor ids
  from header file instead of (potentially conflicting) local
  definitions


H. Nikolaus Schaller (12):
  Documentation: dt: wireless: update wl1251 for sdio
  net: wireless: ti: wl1251 add device tree support
  ARM: dts: pandora-common: define wl1251 as child node of mmc3
  mmc: host: omap_hsmmc: add code for special init of wl1251 to get rid
    of pandora_wl1251_init_card
  omap: pdata-quirks: revert pandora specific gpiod additions
  omap: pdata-quirks: remove openpandora quirks for mmc3 and wl1251
  omap: remove omap2_hsmmc_info in old hsmmc.[ch] and update Makefile
  mmc: host: omap-hsmmc: remove init_card pdata callback from pdata
  mmc: sdio: fix wl1251 vendor id
  mmc: core: fix wl1251 sdio quirks
  net: wireless: ti: wl1251 use new SDIO_VENDOR_ID_TI_WL1251 definition
  net: wireless: ti: remove local VENDOR_ID and DEVICE_ID definitions

 .../bindings/net/wireless/ti,wl1251.txt       |  26 +++
 arch/arm/boot/dts/omap3-pandora-common.dtsi   |  36 +++-
 arch/arm/mach-omap2/Makefile                  |   3 -
 arch/arm/mach-omap2/common.h                  |   1 -
 arch/arm/mach-omap2/hsmmc.c                   | 171 ------------------
 arch/arm/mach-omap2/hsmmc.h                   |  32 ----
 arch/arm/mach-omap2/pdata-quirks.c            | 105 -----------
 drivers/mmc/core/quirks.h                     |   7 +
 drivers/mmc/host/omap_hsmmc.c                 |  30 ++-
 drivers/net/wireless/ti/wl1251/sdio.c         |  23 ++-
 drivers/net/wireless/ti/wlcore/sdio.c         |   8 -
 include/linux/mmc/sdio_ids.h                  |   2 +
 include/linux/platform_data/hsmmc-omap.h      |   3 -
 13 files changed, 111 insertions(+), 336 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/hsmmc.c
 delete mode 100644 arch/arm/mach-omap2/hsmmc.h

Comments

Ulf Hansson Nov. 14, 2019, 2:18 p.m. UTC | #1
On Thu, 7 Nov 2019 at 11:31, H. Nikolaus Schaller <hns@goldelico.com> wrote:
>
>
> * add a revisit note for special wl1251 handling code because it should
>   be solved more generic in mmc core - suggested by Ulf Hansson <ulf.hansson@linaro.org>
> * remove init_card callback from platform_data/hsmmc-omap.h - suggested by Ulf Hansson <ulf.hansson@linaro.org>
> * remove obstructive always-on for vwlan regulator - suggested by Ulf Hansson <ulf.hansson@linaro.org>
> * rename DT node - suggested by Rob Herring <robh@kernel.org>
> * fix ARM: dts: subject prefix - suggested by Tony Lindgren <tony@atomide.com>
> * also remove omap2_hsmmc_info and obc-y line in Makefile - suggested by Tony Lindgren <tony@atomide.com>

No further comments from my side. Let's just agree on how to deal with
the ti,power-gpio, then I can apply this.

Thanks a lot for fixing all this mess!

Kind regards
Uffe

>
> PATCH V2 2019-10-19 20:41:47:
> * added acked-by for wl1251 patches - Kalle Valo <kvalo@codeaurora.org>
> * really removed old pdata-quirks code (not through #if 0)
> * splited out a partial revert of
>         efdfeb079cc3b ("regulator: fixed: Convert to use GPIO descriptor only")
>   because that was introduced after v4.19 and stops the removal of
>   the pdata-quirks patch from cleanly applying to v4.9, v4.14, v4.19
>   - reported by Sasha Levin <sashal@kernel.org>
> * added a new patch to remove old omap hsmmc since pdata quirks
>   were last user - suggested by Tony Lindgren <tony@atomide.com>
>
> PATCH V1 2019-10-18 22:25:39:
> Here we have a set of scattered patches to make the OpenPandora WiFi work again.
>
> v4.7 did break the pdata-quirks which made the mmc3 interface
> fail completely, because some code now assumes device tree
> based instantiation.
>
> Fixes: 81eef6ca9201 ("mmc: omap_hsmmc: Use dma_request_chan() for requesting DMA channel")
>
> v4.11 did break the sdio qirks for wl1251 which made the driver no longer
> load, although the device was found as an sdio client.
>
> Fixes: 884f38607897 ("mmc: core: move some sdio IDs out of quirks file")
>
> To solve these issues:
> * we convert mmc3 and wl1251 initialization from pdata-quirks
>   to device tree
> * we make the wl1251 driver read properties from device tree
> * we fix the mmc core vendor ids and quirks
> * we fix the wl1251 (and wl1271) driver to use only vendor ids
>   from header file instead of (potentially conflicting) local
>   definitions
>
>
> H. Nikolaus Schaller (12):
>   Documentation: dt: wireless: update wl1251 for sdio
>   net: wireless: ti: wl1251 add device tree support
>   ARM: dts: pandora-common: define wl1251 as child node of mmc3
>   mmc: host: omap_hsmmc: add code for special init of wl1251 to get rid
>     of pandora_wl1251_init_card
>   omap: pdata-quirks: revert pandora specific gpiod additions
>   omap: pdata-quirks: remove openpandora quirks for mmc3 and wl1251
>   omap: remove omap2_hsmmc_info in old hsmmc.[ch] and update Makefile
>   mmc: host: omap-hsmmc: remove init_card pdata callback from pdata
>   mmc: sdio: fix wl1251 vendor id
>   mmc: core: fix wl1251 sdio quirks
>   net: wireless: ti: wl1251 use new SDIO_VENDOR_ID_TI_WL1251 definition
>   net: wireless: ti: remove local VENDOR_ID and DEVICE_ID definitions
>
>  .../bindings/net/wireless/ti,wl1251.txt       |  26 +++
>  arch/arm/boot/dts/omap3-pandora-common.dtsi   |  36 +++-
>  arch/arm/mach-omap2/Makefile                  |   3 -
>  arch/arm/mach-omap2/common.h                  |   1 -
>  arch/arm/mach-omap2/hsmmc.c                   | 171 ------------------
>  arch/arm/mach-omap2/hsmmc.h                   |  32 ----
>  arch/arm/mach-omap2/pdata-quirks.c            | 105 -----------
>  drivers/mmc/core/quirks.h                     |   7 +
>  drivers/mmc/host/omap_hsmmc.c                 |  30 ++-
>  drivers/net/wireless/ti/wl1251/sdio.c         |  23 ++-
>  drivers/net/wireless/ti/wlcore/sdio.c         |   8 -
>  include/linux/mmc/sdio_ids.h                  |   2 +
>  include/linux/platform_data/hsmmc-omap.h      |   3 -
>  13 files changed, 111 insertions(+), 336 deletions(-)
>  delete mode 100644 arch/arm/mach-omap2/hsmmc.c
>  delete mode 100644 arch/arm/mach-omap2/hsmmc.h
>
> --
> 2.23.0
>
H. Nikolaus Schaller Nov. 14, 2019, 3:15 p.m. UTC | #2
Hi Ulf,

> Am 14.11.2019 um 15:18 schrieb Ulf Hansson <ulf.hansson@linaro.org>:
> 
> On Thu, 7 Nov 2019 at 11:31, H. Nikolaus Schaller <hns@goldelico.com> wrote:
>> 
>> 
>> * add a revisit note for special wl1251 handling code because it should
>>  be solved more generic in mmc core - suggested by Ulf Hansson <ulf.hansson@linaro.org>
>> * remove init_card callback from platform_data/hsmmc-omap.h - suggested by Ulf Hansson <ulf.hansson@linaro.org>
>> * remove obstructive always-on for vwlan regulator - suggested by Ulf Hansson <ulf.hansson@linaro.org>
>> * rename DT node - suggested by Rob Herring <robh@kernel.org>
>> * fix ARM: dts: subject prefix - suggested by Tony Lindgren <tony@atomide.com>
>> * also remove omap2_hsmmc_info and obc-y line in Makefile - suggested by Tony Lindgren <tony@atomide.com>
> 
> No further comments from my side. Let's just agree on how to deal with
> the ti,power-gpio, then I can apply this.

I'd say it can be a separate patch since it does not fix the Pandora
issues, but is a new and independent optimization.

And in case someone complains and uses it for some out-of tree purpose
it can be discussed or even be reverted easier if it is a separate patch.

I can do it in the next days.

> Thanks a lot for fixing all this mess!

I hope the users also appreciate our work.

Best regards,
Nikolaus

> 
> Kind regards
> Uffe
> 
>> 
>> PATCH V2 2019-10-19 20:41:47:
>> * added acked-by for wl1251 patches - Kalle Valo <kvalo@codeaurora.org>
>> * really removed old pdata-quirks code (not through #if 0)
>> * splited out a partial revert of
>>        efdfeb079cc3b ("regulator: fixed: Convert to use GPIO descriptor only")
>>  because that was introduced after v4.19 and stops the removal of
>>  the pdata-quirks patch from cleanly applying to v4.9, v4.14, v4.19
>>  - reported by Sasha Levin <sashal@kernel.org>
>> * added a new patch to remove old omap hsmmc since pdata quirks
>>  were last user - suggested by Tony Lindgren <tony@atomide.com>
>> 
>> PATCH V1 2019-10-18 22:25:39:
>> Here we have a set of scattered patches to make the OpenPandora WiFi work again.
>> 
>> v4.7 did break the pdata-quirks which made the mmc3 interface
>> fail completely, because some code now assumes device tree
>> based instantiation.
>> 
>> Fixes: 81eef6ca9201 ("mmc: omap_hsmmc: Use dma_request_chan() for requesting DMA channel")
>> 
>> v4.11 did break the sdio qirks for wl1251 which made the driver no longer
>> load, although the device was found as an sdio client.
>> 
>> Fixes: 884f38607897 ("mmc: core: move some sdio IDs out of quirks file")
>> 
>> To solve these issues:
>> * we convert mmc3 and wl1251 initialization from pdata-quirks
>>  to device tree
>> * we make the wl1251 driver read properties from device tree
>> * we fix the mmc core vendor ids and quirks
>> * we fix the wl1251 (and wl1271) driver to use only vendor ids
>>  from header file instead of (potentially conflicting) local
>>  definitions
>> 
>> 
>> H. Nikolaus Schaller (12):
>>  Documentation: dt: wireless: update wl1251 for sdio
>>  net: wireless: ti: wl1251 add device tree support
>>  ARM: dts: pandora-common: define wl1251 as child node of mmc3
>>  mmc: host: omap_hsmmc: add code for special init of wl1251 to get rid
>>    of pandora_wl1251_init_card
>>  omap: pdata-quirks: revert pandora specific gpiod additions
>>  omap: pdata-quirks: remove openpandora quirks for mmc3 and wl1251
>>  omap: remove omap2_hsmmc_info in old hsmmc.[ch] and update Makefile
>>  mmc: host: omap-hsmmc: remove init_card pdata callback from pdata
>>  mmc: sdio: fix wl1251 vendor id
>>  mmc: core: fix wl1251 sdio quirks
>>  net: wireless: ti: wl1251 use new SDIO_VENDOR_ID_TI_WL1251 definition
>>  net: wireless: ti: remove local VENDOR_ID and DEVICE_ID definitions
>> 
>> .../bindings/net/wireless/ti,wl1251.txt       |  26 +++
>> arch/arm/boot/dts/omap3-pandora-common.dtsi   |  36 +++-
>> arch/arm/mach-omap2/Makefile                  |   3 -
>> arch/arm/mach-omap2/common.h                  |   1 -
>> arch/arm/mach-omap2/hsmmc.c                   | 171 ------------------
>> arch/arm/mach-omap2/hsmmc.h                   |  32 ----
>> arch/arm/mach-omap2/pdata-quirks.c            | 105 -----------
>> drivers/mmc/core/quirks.h                     |   7 +
>> drivers/mmc/host/omap_hsmmc.c                 |  30 ++-
>> drivers/net/wireless/ti/wl1251/sdio.c         |  23 ++-
>> drivers/net/wireless/ti/wlcore/sdio.c         |   8 -
>> include/linux/mmc/sdio_ids.h                  |   2 +
>> include/linux/platform_data/hsmmc-omap.h      |   3 -
>> 13 files changed, 111 insertions(+), 336 deletions(-)
>> delete mode 100644 arch/arm/mach-omap2/hsmmc.c
>> delete mode 100644 arch/arm/mach-omap2/hsmmc.h
>> 
>> --
>> 2.23.0
>>
Ulf Hansson Nov. 15, 2019, 9:29 a.m. UTC | #3
On Thu, 14 Nov 2019 at 16:16, H. Nikolaus Schaller <hns@goldelico.com> wrote:
>
> Hi Ulf,
>
> > Am 14.11.2019 um 15:18 schrieb Ulf Hansson <ulf.hansson@linaro.org>:
> >
> > On Thu, 7 Nov 2019 at 11:31, H. Nikolaus Schaller <hns@goldelico.com> wrote:
> >>
> >>
> >> * add a revisit note for special wl1251 handling code because it should
> >>  be solved more generic in mmc core - suggested by Ulf Hansson <ulf.hansson@linaro.org>
> >> * remove init_card callback from platform_data/hsmmc-omap.h - suggested by Ulf Hansson <ulf.hansson@linaro.org>
> >> * remove obstructive always-on for vwlan regulator - suggested by Ulf Hansson <ulf.hansson@linaro.org>
> >> * rename DT node - suggested by Rob Herring <robh@kernel.org>
> >> * fix ARM: dts: subject prefix - suggested by Tony Lindgren <tony@atomide.com>
> >> * also remove omap2_hsmmc_info and obc-y line in Makefile - suggested by Tony Lindgren <tony@atomide.com>
> >
> > No further comments from my side. Let's just agree on how to deal with
> > the ti,power-gpio, then I can apply this.
>
> I'd say it can be a separate patch since it does not fix the Pandora
> issues, but is a new and independent optimization.
>
> And in case someone complains and uses it for some out-of tree purpose
> it can be discussed or even be reverted easier if it is a separate patch.
>
> I can do it in the next days.

Okay, that sounds reasonable.

In the meantime, I have queued up the series on my next branch (for v5.5).

I fixed up a couple of complaints from checkpatch, and also added
stable tags for the first two patches in the series, as that what
missing.

Kind regards
Uffe


>
> > Thanks a lot for fixing all this mess!
>
> I hope the users also appreciate our work.
>
> Best regards,
> Nikolaus
>
> >
> > Kind regards
> > Uffe
> >
> >>
> >> PATCH V2 2019-10-19 20:41:47:
> >> * added acked-by for wl1251 patches - Kalle Valo <kvalo@codeaurora.org>
> >> * really removed old pdata-quirks code (not through #if 0)
> >> * splited out a partial revert of
> >>        efdfeb079cc3b ("regulator: fixed: Convert to use GPIO descriptor only")
> >>  because that was introduced after v4.19 and stops the removal of
> >>  the pdata-quirks patch from cleanly applying to v4.9, v4.14, v4.19
> >>  - reported by Sasha Levin <sashal@kernel.org>
> >> * added a new patch to remove old omap hsmmc since pdata quirks
> >>  were last user - suggested by Tony Lindgren <tony@atomide.com>
> >>
> >> PATCH V1 2019-10-18 22:25:39:
> >> Here we have a set of scattered patches to make the OpenPandora WiFi work again.
> >>
> >> v4.7 did break the pdata-quirks which made the mmc3 interface
> >> fail completely, because some code now assumes device tree
> >> based instantiation.
> >>
> >> Fixes: 81eef6ca9201 ("mmc: omap_hsmmc: Use dma_request_chan() for requesting DMA channel")
> >>
> >> v4.11 did break the sdio qirks for wl1251 which made the driver no longer
> >> load, although the device was found as an sdio client.
> >>
> >> Fixes: 884f38607897 ("mmc: core: move some sdio IDs out of quirks file")
> >>
> >> To solve these issues:
> >> * we convert mmc3 and wl1251 initialization from pdata-quirks
> >>  to device tree
> >> * we make the wl1251 driver read properties from device tree
> >> * we fix the mmc core vendor ids and quirks
> >> * we fix the wl1251 (and wl1271) driver to use only vendor ids
> >>  from header file instead of (potentially conflicting) local
> >>  definitions
> >>
> >>
> >> H. Nikolaus Schaller (12):
> >>  Documentation: dt: wireless: update wl1251 for sdio
> >>  net: wireless: ti: wl1251 add device tree support
> >>  ARM: dts: pandora-common: define wl1251 as child node of mmc3
> >>  mmc: host: omap_hsmmc: add code for special init of wl1251 to get rid
> >>    of pandora_wl1251_init_card
> >>  omap: pdata-quirks: revert pandora specific gpiod additions
> >>  omap: pdata-quirks: remove openpandora quirks for mmc3 and wl1251
> >>  omap: remove omap2_hsmmc_info in old hsmmc.[ch] and update Makefile
> >>  mmc: host: omap-hsmmc: remove init_card pdata callback from pdata
> >>  mmc: sdio: fix wl1251 vendor id
> >>  mmc: core: fix wl1251 sdio quirks
> >>  net: wireless: ti: wl1251 use new SDIO_VENDOR_ID_TI_WL1251 definition
> >>  net: wireless: ti: remove local VENDOR_ID and DEVICE_ID definitions
> >>
> >> .../bindings/net/wireless/ti,wl1251.txt       |  26 +++
> >> arch/arm/boot/dts/omap3-pandora-common.dtsi   |  36 +++-
> >> arch/arm/mach-omap2/Makefile                  |   3 -
> >> arch/arm/mach-omap2/common.h                  |   1 -
> >> arch/arm/mach-omap2/hsmmc.c                   | 171 ------------------
> >> arch/arm/mach-omap2/hsmmc.h                   |  32 ----
> >> arch/arm/mach-omap2/pdata-quirks.c            | 105 -----------
> >> drivers/mmc/core/quirks.h                     |   7 +
> >> drivers/mmc/host/omap_hsmmc.c                 |  30 ++-
> >> drivers/net/wireless/ti/wl1251/sdio.c         |  23 ++-
> >> drivers/net/wireless/ti/wlcore/sdio.c         |   8 -
> >> include/linux/mmc/sdio_ids.h                  |   2 +
> >> include/linux/platform_data/hsmmc-omap.h      |   3 -
> >> 13 files changed, 111 insertions(+), 336 deletions(-)
> >> delete mode 100644 arch/arm/mach-omap2/hsmmc.c
> >> delete mode 100644 arch/arm/mach-omap2/hsmmc.h
> >>
> >> --
> >> 2.23.0
> >>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel