Message ID | 20210123121313.79530-1-hdegoede@redhat.com |
---|---|
Headers | show |
Series | MFD/extcon/ASoC: Rework arizona codec jack-detect support | expand |
On Sat, Jan 23, 2021 at 01:13:01PM +0100, Hans de Goede wrote: > The arizona jack-dection handling is being reworked so that the > codec-child-device drivers directly handle jack-detect themselves, > so it is no longer necessary to instantiate "arizona-extcon" > child-devices. > > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Tested-by: Charles Keepax <ckeepax@opensource.cirrus.com> Thanks, Charles
On Sat, Jan 23, 2021 at 01:13:06PM +0100, Hans de Goede wrote: > The jack handling for arizona codecs is being refactored so that it is > done directly by the codec drivers, instead of having an extcon-driver > bind to a separate "arizona-extcon" child-device for this. > > drivers/mfd/arizona-core.c has already been updated to no longer > instantiate an "arizona-extcon" child-device for the arizona codecs. > > This means that the "arizona-extcon" driver is no longer useful > (there are no longer any devices for it to bind to). > > This commit drops the extcon Kconfig / Makefile bits and moves > drivers/extcon/extcon-arizona.c to sound/soc/codecs/arizona-jack.c . > > This is a preparation patch for converting the arizona extcon-driver into > a helper library for letting the arizona codec-drivers directly report jack > state through the standard sound/soc/soc-jack.c functions. > > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Tested-by: Charles Keepax <ckeepax@opensource.cirrus.com> Thanks, Charles
On Sat, Jan 23, 2021 at 01:13:07PM +0100, Hans de Goede wrote: > Move all the jack-detect variables from struct arizona_extcon_info to > struct arizona_priv. > > This is part of a patch series converting the arizona extcon driver into > a helper library for letting the arizona codec-drivers directly report jack > state through the standard sound/soc/soc-jack.c functions. > > Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> > Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- Tested-by: Charles Keepax <ckeepax@opensource.cirrus.com> Thanks, Charles
On Sat, Jan 23, 2021 at 01:13:09PM +0100, Hans de Goede wrote: > Convert the arizona extcon driver into a helper library for direct use > from the arizona codec-drivers, rather then being bound to a separate > MFD cell. > > Note the probe (and remove) sequence is split into 2 parts: > > 1. The arizona_jack_codec_dev_probe() function inits a bunch of > jack-detect specific variables in struct arizona_priv and tries to get > a number of resources where getting them may fail with -EPROBE_DEFER. > > 2. Then once the machine driver has create a snd_sock_jack through > snd_soc_card_jack_new() it calls snd_soc_component_set_jack() on > the codec component, which will call the new arizona_jack_set_jack(), > which sets up jack-detection and requests the IRQs. > > This split is necessary, because the IRQ handlers need access to the > arizona->dapm pointer and the snd_sock_jack which are not available > when the codec-driver's probe function runs. > > Note this requires that machine-drivers for codecs which are converted > to use the new helper functions from arizona-jack.c are modified to > create a snd_soc_jack through snd_soc_card_jack_new() and register > this jack with the codec through snd_soc_component_set_jack(). > > Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Tested-by: Charles Keepax <ckeepax@opensource.cirrus.com> Thanks, Charles
On Sat, 23 Jan 2021, Hans de Goede wrote: > Hi all, > > Here is v4 of my series to rework the arizona codec jack-detect support > to use the snd_soc_jack helpers instead of direct extcon reporting. > > This is done by reworking the extcon driver into an arizona-jackdet > library and then modifying the codec drivers to use that directly, > replacing the old separate extcon child-devices and extcon-driver. > > This brings the arizona-codec jack-detect handling inline with how > all other ASoC codec driver do this. This was developed and tested on > a Lenovo Yoga Tablet 1051L with a WM5102 codec. > > There are various interdependencies between the patches in this > series, so IMHO it would be best if this entire series would be merged > through the MFD tree. > > Note this series applies on top of my "[PATCH v4 0/5] MFD/ASoC: Add > support for Intel Bay Trail boards with WM5102 codec" series. > > Changes in v4: > - Add sound/soc/codecs/arizona-jack.c to the WOLFSON MICROELECTRONICS DRIVERS > MAINTAINERS section > - Small codying style tweaks to the "ASoC: arizona-jack: Cleanup logging" patch > > Changes in v3: > - Move the bugfix patches to earlier in the series so that they > apply to drivers/extcon/extcon-arizona.c so that they can be > cherry-picked into the stable series > - Split runtime_pm_get -> runtime_pm_get_sync changes out into their > own patch > - Simply move drivers/extcon/extcon-arizona.c to > sound/soc/codecs/arizona-jack.c instead of first adding arizona-jack.c > as a copy and then later removing extcon-arizona.c > - Some other small tweaks, see individual patch changelogs > > Regards, > > Hans > > > Hans de Goede (13): > mfd: arizona: Drop arizona-extcon cells > extcon: arizona: Fix some issues when HPDET IRQ fires after the jack > has been unplugged > extcon: arizona: Fix various races on driver unbind > extcon: arizona: Fix flags parameter to the gpiod_get("wlf,micd-pol") > call > extcon: arizona: Always use pm_runtime_get_sync() when we need the > device to be awake > ASoC/extcon: arizona: Move arizona jack code to > sound/soc/codecs/arizona-jack.c > ASoC: arizona-jack: Move jack-detect variables to struct arizona_priv > ASoC: arizona-jack: Use arizona->dev for runtime-pm > ASoC: arizona-jack: convert into a helper library for codec drivers > ASoC: arizona-jack: Use snd_soc_jack to report jack events > ASoC: arizona-jack: Cleanup logging > ASoC: arizona: Make the wm5102, wm5110, wm8997 and wm8998 drivers use > the new jack library > ASoC: Intel: bytcr_wm5102: Add jack detect support Can't apply this patch ... > MAINTAINERS | 3 +- > drivers/extcon/Kconfig | 8 - > drivers/extcon/Makefile | 1 - > drivers/mfd/arizona-core.c | 20 - > sound/soc/codecs/Makefile | 2 +- > .../soc/codecs/arizona-jack.c | 577 +++++++----------- > sound/soc/codecs/arizona.h | 44 ++ > sound/soc/codecs/wm5102.c | 12 +- > sound/soc/codecs/wm5110.c | 12 +- > sound/soc/codecs/wm8997.c | 14 +- > sound/soc/codecs/wm8998.c | 9 + > sound/soc/intel/boards/bytcr_wm5102.c | 28 +- ... since this file doesn't exist? > 12 files changed, 325 insertions(+), 405 deletions(-) > rename drivers/extcon/extcon-arizona.c => sound/soc/codecs/arizona-jack.c (76%) >
Hi, On 2/4/21 12:05 PM, Lee Jones wrote: > On Sat, 23 Jan 2021, Hans de Goede wrote: > >> Hi all, >> >> Here is v4 of my series to rework the arizona codec jack-detect support >> to use the snd_soc_jack helpers instead of direct extcon reporting. >> >> This is done by reworking the extcon driver into an arizona-jackdet >> library and then modifying the codec drivers to use that directly, >> replacing the old separate extcon child-devices and extcon-driver. >> >> This brings the arizona-codec jack-detect handling inline with how >> all other ASoC codec driver do this. This was developed and tested on >> a Lenovo Yoga Tablet 1051L with a WM5102 codec. >> >> There are various interdependencies between the patches in this >> series, so IMHO it would be best if this entire series would be merged >> through the MFD tree. >> >> Note this series applies on top of my "[PATCH v4 0/5] MFD/ASoC: Add >> support for Intel Bay Trail boards with WM5102 codec" series. >> >> Changes in v4: >> - Add sound/soc/codecs/arizona-jack.c to the WOLFSON MICROELECTRONICS DRIVERS >> MAINTAINERS section >> - Small codying style tweaks to the "ASoC: arizona-jack: Cleanup logging" patch >> >> Changes in v3: >> - Move the bugfix patches to earlier in the series so that they >> apply to drivers/extcon/extcon-arizona.c so that they can be >> cherry-picked into the stable series >> - Split runtime_pm_get -> runtime_pm_get_sync changes out into their >> own patch >> - Simply move drivers/extcon/extcon-arizona.c to >> sound/soc/codecs/arizona-jack.c instead of first adding arizona-jack.c >> as a copy and then later removing extcon-arizona.c >> - Some other small tweaks, see individual patch changelogs >> >> Regards, >> >> Hans >> >> >> Hans de Goede (13): >> mfd: arizona: Drop arizona-extcon cells >> extcon: arizona: Fix some issues when HPDET IRQ fires after the jack >> has been unplugged >> extcon: arizona: Fix various races on driver unbind >> extcon: arizona: Fix flags parameter to the gpiod_get("wlf,micd-pol") >> call >> extcon: arizona: Always use pm_runtime_get_sync() when we need the >> device to be awake >> ASoC/extcon: arizona: Move arizona jack code to >> sound/soc/codecs/arizona-jack.c >> ASoC: arizona-jack: Move jack-detect variables to struct arizona_priv >> ASoC: arizona-jack: Use arizona->dev for runtime-pm >> ASoC: arizona-jack: convert into a helper library for codec drivers >> ASoC: arizona-jack: Use snd_soc_jack to report jack events >> ASoC: arizona-jack: Cleanup logging >> ASoC: arizona: Make the wm5102, wm5110, wm8997 and wm8998 drivers use >> the new jack library > >> ASoC: Intel: bytcr_wm5102: Add jack detect support > > Can't apply this patch ... > >> MAINTAINERS | 3 +- >> drivers/extcon/Kconfig | 8 - >> drivers/extcon/Makefile | 1 - >> drivers/mfd/arizona-core.c | 20 - >> sound/soc/codecs/Makefile | 2 +- >> .../soc/codecs/arizona-jack.c | 577 +++++++----------- >> sound/soc/codecs/arizona.h | 44 ++ >> sound/soc/codecs/wm5102.c | 12 +- >> sound/soc/codecs/wm5110.c | 12 +- >> sound/soc/codecs/wm8997.c | 14 +- >> sound/soc/codecs/wm8998.c | 9 + >> sound/soc/intel/boards/bytcr_wm5102.c | 28 +- > > ... since this file doesn't exist? As mentioned this is a follow-up series on top of the: "[PATCH v4 0/5] MFD/ASoC: Add support for Intel Bay Trail boards with WM5102 codec" Series, that series adds that file. Regards, Hans p.s. Do you want a resend of this one, with the new *-bys added too ?
On Thu, 04 Feb 2021, Hans de Goede wrote: > Hi, > > On 2/4/21 12:05 PM, Lee Jones wrote: > > On Sat, 23 Jan 2021, Hans de Goede wrote: > > > >> Hi all, > >> > >> Here is v4 of my series to rework the arizona codec jack-detect support > >> to use the snd_soc_jack helpers instead of direct extcon reporting. > >> > >> This is done by reworking the extcon driver into an arizona-jackdet > >> library and then modifying the codec drivers to use that directly, > >> replacing the old separate extcon child-devices and extcon-driver. > >> > >> This brings the arizona-codec jack-detect handling inline with how > >> all other ASoC codec driver do this. This was developed and tested on > >> a Lenovo Yoga Tablet 1051L with a WM5102 codec. > >> > >> There are various interdependencies between the patches in this > >> series, so IMHO it would be best if this entire series would be merged > >> through the MFD tree. > >> > >> Note this series applies on top of my "[PATCH v4 0/5] MFD/ASoC: Add > >> support for Intel Bay Trail boards with WM5102 codec" series. > >> > >> Changes in v4: > >> - Add sound/soc/codecs/arizona-jack.c to the WOLFSON MICROELECTRONICS DRIVERS > >> MAINTAINERS section > >> - Small codying style tweaks to the "ASoC: arizona-jack: Cleanup logging" patch > >> > >> Changes in v3: > >> - Move the bugfix patches to earlier in the series so that they > >> apply to drivers/extcon/extcon-arizona.c so that they can be > >> cherry-picked into the stable series > >> - Split runtime_pm_get -> runtime_pm_get_sync changes out into their > >> own patch > >> - Simply move drivers/extcon/extcon-arizona.c to > >> sound/soc/codecs/arizona-jack.c instead of first adding arizona-jack.c > >> as a copy and then later removing extcon-arizona.c > >> - Some other small tweaks, see individual patch changelogs > >> > >> Regards, > >> > >> Hans > >> > >> > >> Hans de Goede (13): > >> mfd: arizona: Drop arizona-extcon cells > >> extcon: arizona: Fix some issues when HPDET IRQ fires after the jack > >> has been unplugged > >> extcon: arizona: Fix various races on driver unbind > >> extcon: arizona: Fix flags parameter to the gpiod_get("wlf,micd-pol") > >> call > >> extcon: arizona: Always use pm_runtime_get_sync() when we need the > >> device to be awake > >> ASoC/extcon: arizona: Move arizona jack code to > >> sound/soc/codecs/arizona-jack.c > >> ASoC: arizona-jack: Move jack-detect variables to struct arizona_priv > >> ASoC: arizona-jack: Use arizona->dev for runtime-pm > >> ASoC: arizona-jack: convert into a helper library for codec drivers > >> ASoC: arizona-jack: Use snd_soc_jack to report jack events > >> ASoC: arizona-jack: Cleanup logging > >> ASoC: arizona: Make the wm5102, wm5110, wm8997 and wm8998 drivers use > >> the new jack library > > > >> ASoC: Intel: bytcr_wm5102: Add jack detect support > > > > Can't apply this patch ... > > > >> MAINTAINERS | 3 +- > >> drivers/extcon/Kconfig | 8 - > >> drivers/extcon/Makefile | 1 - > >> drivers/mfd/arizona-core.c | 20 - > >> sound/soc/codecs/Makefile | 2 +- > >> .../soc/codecs/arizona-jack.c | 577 +++++++----------- > >> sound/soc/codecs/arizona.h | 44 ++ > >> sound/soc/codecs/wm5102.c | 12 +- > >> sound/soc/codecs/wm5110.c | 12 +- > >> sound/soc/codecs/wm8997.c | 14 +- > >> sound/soc/codecs/wm8998.c | 9 + > >> sound/soc/intel/boards/bytcr_wm5102.c | 28 +- > > > > ... since this file doesn't exist? > > As mentioned this is a follow-up series on top of the: > > "[PATCH v4 0/5] MFD/ASoC: Add support for Intel Bay Trail boards with WM5102 codec" > > Series, that series adds that file. Okay, that makes sense. Thanks. > Regards, > > Hans > > p.s. > > Do you want a resend of this one, with the new *-bys added too ? Only this one please. I'll try to take the other one through now.