Re: Re: [PATCH v5 5/5] Extcon: adc-jack driver to support 3.5 pi orsimliar devices

From: MyungJoo Ham
Date: Tue Feb 14 2012 - 02:00:50 EST


Mark Brown wrote:
> On Tue, Feb 14, 2012 at 11:22:14AM +0900, MyungJoo Ham wrote:
> > On Sat, Feb 11, 2012 at 1:25 AM, Mark Brown
> > <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > > On Fri, Feb 10, 2012 at 03:40:38PM +0900, MyungJoo Ham wrote:
> > >> External connector devices that decides connection information based on
> > >> ADC values may use adc-jack device driver. The user simply needs to
> > >> provide a table of adc range and connection states. Then, extcon
> > >> framework will automatically notify others.
>
> > > This really should be done in terms of the IIO in-kernel framework.
>
> > The ADC part may be done in IIO. However, the intention of this device
> > driver is to provide extcon interface to any ADC drivers, not
> > providing an ADC device driver. If we are going to implement this in
>
> Right, exactly.
>
> > the ADC driver in IIO, we will need to write the given code in every
> > ADC driver used for analog ports.
>
> No, that's not what I'm suggesting - what I'm suggesting is that rather
> than having a callback for implementing the ADC read functionality this
> should work as an in-kernel IIO driver so it'll just automatically work
> with any ADC without needing code to hook things up. Unless I've not
> understood your comment fully.

Ok. Do you mean that we should give struct iio_dev * and struct iio_chan_spec * instead of a callback?
I thought there was no standard framework for ADC (the reason why this is a simple callback); however, may I regard iio/adc as the standard for ADC? (I see some ADC device drivers in HWMON)

Do I need to make this driver as an iio device driver in order to do this? I guess including iio.h would be enough anyway.


>
> > >> + /* Check the length of array and set num_cables */
> > >> + for (i = 0; data->edev.supported_cable[i]; i++)
> > >> + ;
> > >> + if (i == 0 || i > SUPPORTED_CABLE_MAX) {
>
> > > Can we not avoid the hard limit?
>
> > Without that limit, we won't be able to easily express binary cable
> > status (u32) with the extcon framework. At least, we will need to
> > forget about setting the status with u32 values.
>
> > Anyway, I can remove the checking SUPPORT_CABLE_MAX part at probe.
>
> It might be clearer to make the limit more obviously associated with
> the bitmask - it looks like it's an array thing the way the code is
> written but a limit due to using a bitmask seems reasonable.
>
>

Ah.. I'll add a comment or update the error message associated.


Cheers!
MyungJoo.

N떑꿩ìr¸›y鉉싕b²XФ푤vØ^–)頻{.nÇ+돴¥Š{±묎çzX㎍썳變}©옽Æ zÚ&j:+v돣¾«묎çzZ+€Ê+zf"·hš닱~넮녬iÿ鎬z¹®wⅱ¸?솳鈺Ú&¢)刪f뷌^j푹y§m끷@A«a뛴ÿ 0띠h®å’i