Re: [PATCH 1/4] ASoC: rockchip: add rockchip machine driver

From: Dylan Reid
Date: Wed May 13 2015 - 19:11:41 EST


On Wed, May 13, 2015 at 10:21 AM, Dylan Reid <dgreid@xxxxxxxxxxxx> wrote:
> On Wed, May 13, 2015 at 9:42 AM, Mark Brown <broonie@xxxxxxxxxx> wrote:
>> On Wed, May 13, 2015 at 09:23:01PM +0800, zhengxing wrote:
>>> On 2015å05æ13æ 03:22, Mark Brown wrote:
>>
>>> >Is it not possible to extend simple card to handle your use cases?
>>> >Given the very generic naming and the fact that things like jack
>>> >detection and so on should depend on the CODEC and board usually rather
>>> >than on the SoC it doesn't sound like this is Rockchip specific.
>>
>>> >This also looks like you're reimplementing some device model enumeration
>>> >stuff which probably shouldn't be happening but let's understand the
>>> >problem you're trying to solve here before going too far into the code.
>>
>>> Because we are trying to bring rt5650 in the project, so we intend to
>>> describe supported codecs with DTS via only a rockchip machine driver file,
>>> others remain pre-implement(like max98090 / rt5645 that vendor machine
>>> driver).
>>
>> I don't undertand what you're saying here, sorry - why is this not just
>> a case of writing multiple machine drivers?
>
> I don't understand this either. I'd think the best solution is
> simple-card, configured through DTS for each device.
>
>>
>>> I communicated with Dylan, and he told me that the jack detection is an
>>> issue in the simple-card, and suggested we are better to send them at
>>> present.
>>
>> But what are these issues?
>
> The issue I was referring to when I spoke with rock chip was the need
> to pass the jack simple-card creates to the headset chip or codec. We
> need a way to specify a device like a tsa227e or rt5650 to pass the
> jack to, which events are supported by the jack, and a generic API for
> passing the jack.

I'm having some trouble envisioning how to pass the jack to the
headset chip in a generic way. A callback could be added to
snd_soc_component_driver, or a snd_soc_headset_driver could be added.
The headset_drive would fit the ts3a227e well, but not the rt5645
which is also a full blown codec.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/