Re: [PATCH 01/14] mfd: arizona: Add jack pointer to struct arizona

From: Hans de Goede
Date: Wed Dec 30 2020 - 06:06:27 EST


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
(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.

With that said I have no strong preference for putting it under
a new sound/soc/cirrus dir, if everyone is ok with putting it under
sound/soc/codecs then that works for me.

Regards,

Hans