From: Hans de Goede <hdegoede@redhat.com>
To: Richard Fitzgerald <rf@opensource.cirrus.com>,
Mark Brown <broonie@kernel.org>,
Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: Lee Jones <lee.jones@linaro.org>,
MyungJoo Ham <myungjoo.ham@samsung.com>,
Chanwoo Choi <cw00.choi@samsung.com>,
Cezary Rojewski <cezary.rojewski@intel.com>,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
Liam Girdwood <liam.r.girdwood@linux.intel.com>,
Jie Yang <yang.jie@linux.intel.com>,
patches@opensource.cirrus.com, linux-kernel@vger.kernel.org,
alsa-devel@alsa-project.org
Subject: Re: [PATCH 01/14] mfd: arizona: Add jack pointer to struct arizona
Date: Wed, 30 Dec 2020 13:01:52 +0100 [thread overview]
Message-ID: <f2c7d303-6137-4a02-a581-afd2ab6b1ca9@redhat.com> (raw)
In-Reply-To: <53504898-3062-fb9a-3e44-ac0a2ccc86e2@opensource.cirrus.com>
Hi,
On 12/30/20 12:23 PM, Richard Fitzgerald wrote:
> On 30/12/2020 11:04, Hans de Goede wrote:
>> Hi,
>>
>> On 12/29/20 5:51 PM, Richard Fitzgerald wrote:
>>>
>>>
>>> On 29/12/2020 15:40, Hans de Goede wrote:
>>>> Hi,
>>>>
>>>> On 12/29/20 4:15 PM, Mark Brown wrote:
>>>>> On Tue, Dec 29, 2020 at 03:06:35PM +0000, Charles Keepax wrote:
>>>>>
>>>>>> There is maybe more argument for porting the Arizona code across
>>>>>> anyways, since for a long time Android didn't properly support extcon
>>>>>> either. It supported the earlier out of tree switch stuff, extcon
>>>>>
>>>>> Completely moving the driver doesn't cause the same problems as the
>>>>> current proposal (unless it drops functionality I guess, there were
>>>>> issues with adding new detection types into the input layer but I can't
>>>>> remember if this hardware was impacted by that or not).
>>>>
>>>> The input-layer supports the following switches:
>>>>
>>>> SW_HEADPHONE_INSERT
>>>> SW_MICROPHONE_INSERT
>>>> SW_LINEOUT_INSERT
>>>> SW_JACK_PHYSICAL_INSERT
>>>>
>>>> Which is a 1:1 mapping with the cable-types currently exported by
>>>> extcon-arizona.c .
>>>>
>>>> I'm fine with fully moving extcon-arizona.c over to only using
>>>> sound/core/jack.c functionality and it no longer exporting an
>>>> extcon device.
>>>>
>>>> I guess we should move it out of drivers/extcon then though.
>>>> I suggest using: sound/soc/cirrus/arizona-jack-detect.c
>>>> Note that sound/soc/cirrus is a new dir here. Would that work
>>>> for you ?
>>>
>>> Shouldn't it be sound/soc/codecs/arizona-jack.c so that it is with all
>>> the other code for those codecs?
>>
>> The arizona codecs use the MFD framework and there is a separate
>> platform-device instantiated for the jack-detect functionality, so this
>
> That is because it is an extcon driver. It is a different subsystem to
> the other child drivers so has to be a separate child.
>
>> (mostly) a standalone platform-driver which has very little interaction
>> with the rest of the codec code.
>>
>> It is not a codec driver, or code shared between the codec drivers,
>> so putting it under sound/soc/codecs would be a bit weird.
>>
>
> In fact it is tied into the codec driver. The code in arizona.c that
> handles HP OUT has to synchronize with the jack detection to avoid one
> driver trashing the state of the other. But because they are currently
> separate drivers they have to communicate through hp_ena and
> hp_clamp in the parent mfd data. See arizona_hp_ev().
So what you are suggesting is to do something along these lines ? :
1. Drop the MFD instantiated arizona-extcon device
2. Move the extcon code to something more like a library
3. Have the various codec drivers call into the library
at various points
4. Have the library call snd_soc_card_jack_new,
snd_soc_jack_report, etc. ?
That works for me, but I would like to make sure we are all on
the same page here before spending time on coding this solution.
Regards,
Hans
next prev parent reply other threads:[~2020-12-30 12:03 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-27 21:12 [PATCH 00/14] MFD/extcon/ASoC: Add support for Intel Bay Trail boards with WM5102 codec Hans de Goede
2020-12-27 21:12 ` [PATCH 01/14] mfd: arizona: Add jack pointer to struct arizona Hans de Goede
2020-12-28 12:21 ` Mark Brown
2020-12-28 13:16 ` Hans de Goede
2020-12-28 16:28 ` Mark Brown
2020-12-29 13:06 ` Charles Keepax
2020-12-29 13:57 ` Hans de Goede
2020-12-29 15:06 ` Charles Keepax
2020-12-29 15:15 ` Mark Brown
2020-12-29 15:40 ` Hans de Goede
2020-12-29 16:51 ` Richard Fitzgerald
2020-12-30 11:04 ` Hans de Goede
2020-12-30 11:23 ` Richard Fitzgerald
2020-12-30 12:01 ` Hans de Goede [this message]
2020-12-30 13:16 ` Mark Brown
2020-12-29 16:43 ` Richard Fitzgerald
2020-12-29 15:08 ` Mark Brown
2020-12-29 15:33 ` Hans de Goede
2020-12-30 13:38 ` Mark Brown
2021-01-01 13:24 ` Hans de Goede
2020-12-27 21:12 ` [PATCH 02/14] mfd: arizona: Add MODULE_SOFTDEP("pre: arizona_ldo1") Hans de Goede
2020-12-29 11:40 ` Charles Keepax
2020-12-27 21:12 ` [PATCH 03/14] mfd: arizona: Add support for ACPI enumeration of WM5102 connected over SPI Hans de Goede
2020-12-28 14:14 ` Andy Shevchenko
2021-01-16 14:46 ` Hans de Goede
2020-12-27 21:12 ` [PATCH 04/14] mfd: arizona: Allow building arizona MFD-core as module Hans de Goede
2020-12-29 12:00 ` Charles Keepax
2021-01-11 19:12 ` Hans de Goede
2020-12-27 21:12 ` [PATCH 05/14] extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged Hans de Goede
2020-12-27 21:12 ` [PATCH 06/14] extcon: arizona: Fix various races on driver unbind Hans de Goede
2020-12-29 12:10 ` Charles Keepax
2020-12-27 21:12 ` [PATCH 07/14] extcon: arizona: Fix modalias Hans de Goede
2020-12-29 12:10 ` Charles Keepax
2020-12-27 21:12 ` [PATCH 08/14] extcon: arizona: Fix flags parameter to the gpiod_get("wlf,micd-pol") call Hans de Goede
2020-12-29 12:12 ` Charles Keepax
2020-12-27 21:12 ` [PATCH 09/14] extcon: arizona: Add arizona_set_extcon_state() helper Hans de Goede
2020-12-29 12:57 ` Charles Keepax
2020-12-27 21:12 ` [PATCH 10/14] extcon: arizona: Also report jack state through snd_soc_jack_report() Hans de Goede
2020-12-28 14:16 ` Andy Shevchenko
2020-12-27 21:12 ` [PATCH 11/14] extcon: arizona: Use ASoC jack input-device when available Hans de Goede
2020-12-27 21:12 ` [PATCH 12/14] ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() Hans de Goede
2021-01-11 17:52 ` Pierre-Louis Bossart
2020-12-27 21:12 ` [PATCH 13/14] ASoC: Intel: bytcr_wm5102: Add machine driver for BYT/WM5102 Hans de Goede
2020-12-29 13:58 ` Charles Keepax
2021-01-11 17:54 ` Pierre-Louis Bossart
2021-01-16 16:49 ` Hans de Goede
2020-12-27 21:12 ` [PATCH 14/14] ASoC: Intel: bytcr_wm5102: Add jack detect support Hans de Goede
2020-12-28 14:19 ` [PATCH 00/14] MFD/extcon/ASoC: Add support for Intel Bay Trail boards with WM5102 codec Andy Shevchenko
2021-01-11 18:54 ` Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f2c7d303-6137-4a02-a581-afd2ab6b1ca9@redhat.com \
--to=hdegoede@redhat.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=cezary.rojewski@intel.com \
--cc=ckeepax@opensource.cirrus.com \
--cc=cw00.choi@samsung.com \
--cc=lee.jones@linaro.org \
--cc=liam.r.girdwood@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=myungjoo.ham@samsung.com \
--cc=patches@opensource.cirrus.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=rf@opensource.cirrus.com \
--cc=yang.jie@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).