Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <j.w.r.degoede@gmail.com>
To: Mark Brown <broonie@kernel.org>
Cc: Oder Chiou <oder_chiou@realtek.com>,
	devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
	Takashi Iwai <tiwai@suse.com>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	Carlo Caione <carlo@endlessm.com>,
	Bard Liao <bardliao@realtek.com>
Subject: Re: [PATCH v2 06/32] ASoC: rt5651: Configure jack-detect source through a device-property
Date: Sat, 3 Mar 2018 22:20:22 +0100	[thread overview]
Message-ID: <1f1dc2eb-b4d7-d9ce-960d-54fa7120bc6f@gmail.com> (raw)
In-Reply-To: <20180302174111.GA3482@sirena.org.uk>

Hi,

On 02-03-18 18:41, Mark Brown wrote:
> On Fri, Mar 02, 2018 at 01:58:53PM +0100, Hans de Goede wrote:
>> On 02-03-18 13:18, Mark Brown wrote:
> 
>>> What makes you claim that?  Any board with jack detection wired up will
>>> call that function.  Not all boards have that configured of course but
>>> there's absolutely nothing Intel specific about that interface.
> 
>> Right I'm not claiming the interface is Intel specific, what I'm trying
>> to say is that the need for some code outside of the codec driver
>> to create the jack means that adding jack-support to DT platforms
>> cannot be done through just adding DT properties (once this patch
>> is merged), it will still require platform code changes.
> 
> On DT the situation with generic drivers is much better than it is on
> ACPI so we're actually able to create jacks purely from DT with both the
> simple and graph cards.  This was what drove the creation of the generic
> jack operation rather than device specific function calls, Bard realized
> that the device specific calls were all very similar and adding the call
> allowed the generic cards to work with jacks.
> 
>>> No, that's really not a good idea.  Any jacks in the system are part of
>>> the system specific wiring, they're not something that's intrinsic to
>>> the CODEC.  Even with fairly basic setups you've got options like having
>>> a headset jack or separate microphone and headphone jacks.
> 
>> OK, so if doing the jack creation in the machine-driver / platform
>> code is by design and you want to keep things that way, then I
>> assume that what needs changing for v3 of this patch is:
> 
>> 1) Split the patch in separate codec + machine-drv patches
>> 2) Add comments to make the ordering requirements clear to
>> both the codec- and machine-driver.
> 
>> Correct?
> 
> Yes, I think so.

Actually I've come up with a nicer way to deal with the ordering issues
around setting the device-properties from the machine-driver.

If we attach the properties in the machine-driver *before* calling
snd_soc_register_card() and check them from the codec/component driver's
probe function (rather then from the i2c_driver.probe function), then
there is no need for a codec private apply_properties() function to
get the ordering right, since the codec/component driver's probe
function is called from snd_soc_register_card().

This still needs some comments in both the codec and machine driver
to make sure that future changes don't cause issues, but it gets rid
of the ugly apply_properties() function call from the machine-driver.

I'm currently preparing a v3 with this change + other requested changes.
I need to re-run a bunch of tests before posting, so I hope to post the
v3 series tomorrow.

Regards,

Hans

  reply	other threads:[~2018-03-03 21:20 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-25 10:46 [PATCH v2 00/32] ASoC: rt5651: jack-detect fixes and improvements Hans de Goede
2018-02-25 10:46 ` [PATCH v2 01/32] ASoC: rt5651: Remove unused rt5651_platform_data Hans de Goede
2018-02-25 10:46 ` [PATCH v2 02/32] ASoC: rt5651: Move all jack-detect initialization to rt5651_set_jack_detect Hans de Goede
2018-03-01 18:06   ` Applied "ASoC: rt5651: Move all jack-detect initialization to rt5651_set_jack_detect" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 03/32] ASoC: rt5651: Move 2 functions higher up in rt5651.c Hans de Goede
2018-03-01 18:06   ` Applied "ASoC: rt5651: Move 2 functions higher up in rt5651.c" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 04/32] ASoC: rt5651: Use standard component set_jack callback Hans de Goede
2018-02-25 10:46 ` [PATCH v2 05/32] ASoC: rt5651: Add rt5651_apply_properties() helper function Hans de Goede
2018-03-01 18:06   ` Applied "ASoC: rt5651: Add rt5651_apply_properties() helper function" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 06/32] ASoC: rt5651: Configure jack-detect source through a device-property Hans de Goede
2018-03-01 19:30   ` Mark Brown
2018-03-01 22:35     ` Hans de Goede
2018-03-02  9:32       ` Hans de Goede
2018-03-02 12:18         ` Mark Brown
2018-03-02 12:58           ` Hans de Goede
2018-03-02 17:41             ` Mark Brown
2018-03-03 21:20               ` Hans de Goede [this message]
2018-03-02 22:17             ` Rob Herring
2018-02-25 10:46 ` [PATCH v2 07/32] ASoC: rt5651: Remove is_sys_clk_from_pll() Hans de Goede
2018-03-01 19:26   ` Applied "ASoC: rt5651: Remove is_sys_clk_from_pll()" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 08/32] ASoC: rt5651: Fix bias_level confusion Hans de Goede
2018-03-01 19:26   ` Applied "ASoC: rt5651: Fix bias_level confusion" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 09/32] ASoC: rt5651: Do not modify the LDO voltage control bits from set_bias_level() Hans de Goede
2018-03-01 19:26   ` Applied "ASoC: rt5651: Do not modify the LDO voltage control bits from set_bias_level()" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 10/32] ASoC: rt5651: Do not modify jd and PLL power bits from set_bias_level() Hans de Goede
2018-03-01 19:26   ` Applied "ASoC: rt5651: Do not modify jd and PLL power bits from set_bias_level()" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 11/32] ASoC: rt5651: Remove programming of PWR regs before force_bias_level() call Hans de Goede
2018-03-01 19:26   ` Applied "ASoC: rt5651: Remove programming of PWR regs before force_bias_level() call" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 12/32] ASoC: rt5651: Only configure LDO voltage once at boot Hans de Goede
2018-03-01 19:26   ` Applied "ASoC: rt5651: Only configure LDO voltage once at boot" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 13/32] ASoC: rt5651: Remove "JD Power" dapm supply Hans de Goede
2018-03-01 19:25   ` Applied "ASoC: rt5651: Remove "JD Power" dapm supply" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 14/32] ASoC: rt5651: Enable LDO and micbias1 supplies for jack-type detection Hans de Goede
2018-02-25 10:46 ` [PATCH v2 15/32] ASoC: rt5651: Only configure OVCD once at set_jack time Hans de Goede
2018-03-01 19:25   ` Applied "ASoC: rt5651: Only configure OVCD once at set_jack time" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 16/32] ASoC: rt5651: Always keep OVCD enabled Hans de Goede
2018-03-01 19:25   ` Applied "ASoC: rt5651: Always keep OVCD enabled" to the asoc tree Mark Brown
2018-02-25 10:46 ` [PATCH v2 17/32] ASoC: rt5651: Allow specifying over-current thresholds through device-properties Hans de Goede
2018-03-02 22:18   ` Rob Herring
2018-02-25 10:46 ` [PATCH v2 18/32] ASoC: rt5651: Enable sticky mode for OVCD Hans de Goede
2018-03-07 14:14   ` Applied "ASoC: rt5651: Enable sticky mode for OVCD" to the asoc tree Mark Brown
2018-02-25 10:47 ` [PATCH v2 19/32] ASoC: rt5651: Enable Platform Clock during jack-type detect Hans de Goede
2018-03-07 14:13   ` Applied "ASoC: rt5651: Enable Platform Clock during jack-type detect" to the asoc tree Mark Brown
2018-02-25 10:47 ` [PATCH v2 20/32] ASoC: rt5651: Add rt5651_jack_inserted() helper Hans de Goede
2018-03-07 14:13   ` Applied "ASoC: rt5651: Add rt5651_jack_inserted() helper" to the asoc tree Mark Brown
2018-02-25 10:47 ` [PATCH v2 21/32] ASoC: rt5651: Rewrite jack-type detection Hans de Goede
2018-02-25 10:47 ` [PATCH v2 22/32] ASoC: Intel: bytcr_rt5651: Actually honor the DMIC_EN quirk if specified Hans de Goede
2018-02-25 10:47 ` [PATCH v2 23/32] ASoC: Intel: bytcr_rt5651: Only create jack if we have a jack-detect source Hans de Goede
2018-02-25 10:47 ` [PATCH v2 24/32] ASoC: Intel: bytcr_rt5651: Add quirk micbias OVCD configuration Hans de Goede
2018-02-25 10:47 ` [PATCH v2 25/32] ASoC: Intel: bytcr_rt5651: Configure PLL1 before using it Hans de Goede
2018-03-07 14:22   ` Applied "ASoC: Intel: bytcr_rt5651: Configure PLL1 before using it" to the asoc tree Mark Brown
2018-02-25 10:47 ` [PATCH v2 26/32] ASoC: Intel: bytcr_rt5651: Drop snd_soc_dai_set_bclk_ratio() call Hans de Goede
2018-03-07 14:22   ` Applied "ASoC: Intel: bytcr_rt5651: Drop snd_soc_dai_set_bclk_ratio() call" to the asoc tree Mark Brown
2018-02-25 10:47 ` [PATCH v2 27/32] ASoC: Intel: bytcr_rt5651: Rename IN3_MAP to IN1_HS_IN3_MAP Hans de Goede
2018-03-07 14:22   ` Applied "ASoC: Intel: bytcr_rt5651: Rename IN3_MAP to IN1_HS_IN3_MAP" to the asoc tree Mark Brown
2018-02-25 10:47 ` [PATCH v2 28/32] ASoC: Intel: bytcr_rt5651: Add new IN2_HS_IN3 input map and a quirk using it Hans de Goede
2018-03-07 14:21   ` Applied "ASoC: Intel: bytcr_rt5651: Add new IN2_HS_IN3 input map and a quirk using it" to the asoc tree Mark Brown
2018-02-25 10:47 ` [PATCH v2 29/32] ASoC: Intel: bytcr_rt5651: Add support for Bay Trail CR / SSP0 using boards Hans de Goede
2018-02-25 10:47 ` [PATCH v2 30/32] ASoC: Intel: bytcr_rt5651: Add quirk for the VIOS LTH17 laptop Hans de Goede
2018-03-07 14:21   ` Applied "ASoC: Intel: bytcr_rt5651: Add quirk for the VIOS LTH17 laptop" to the asoc tree Mark Brown
2018-02-25 10:47 ` [PATCH v2 31/32] ASoC: Intel: bytcr_rt5651: Change defaults to enable jack-detect, analog mics Hans de Goede
2018-03-07 14:21   ` Applied "ASoC: Intel: bytcr_rt5651: Change defaults to enable jack-detect, analog mics" to the asoc tree Mark Brown
2018-02-25 10:47 ` [PATCH v2 32/32] ASoC: Intel: bytcr_rt5651: Select RCCLK on init() Hans de Goede
2018-03-07 14:21   ` Applied "ASoC: Intel: bytcr_rt5651: Select RCCLK on init()" to the asoc tree Mark Brown
2018-02-25 10:58 ` [PATCH v2 00/32] ASoC: rt5651: jack-detect fixes and improvements 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=1f1dc2eb-b4d7-d9ce-960d-54fa7120bc6f@gmail.com \
    --to=j.w.r.degoede@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=bardliao@realtek.com \
    --cc=broonie@kernel.org \
    --cc=carlo@endlessm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=oder_chiou@realtek.com \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=tiwai@suse.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