[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJ0PZbQTR=DD8E-YGUSwtAqNRXrdtf0yoKbPyAksZY6QtjiXgg@mail.gmail.com>
Date: Mon, 15 Oct 2012 23:53:48 +0900
From: MyungJoo Ham <myungjoo.ham@...sung.com>
To: "Tc, Jenny" <jenny.tc@...el.com>
Cc: "???" <cw00.choi@...sung.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] extcon : register for cable interest by cable name
On Thu, Oct 11, 2012 at 7:37 PM, Tc, Jenny <jenny.tc@...el.com> wrote:
>
>
>> Subject: Re: [PATCH] extcon : register for cable interest by cable name
>>
>> > There are some scnearios where a driver/framework needs to register
>> > interest for a particular cable without specifying the extcon device
>> > name. One such scenario is charger notifications. The platform will
>> > have charger cabel which will be bound to any extcon device. It's not
>> > mandatory for the charger driver to know which extcon device it should
>> > use. This patch enables the support for registering interest for a
>> > cable just by cable name wihtout specifying the extcon device name
>> >
>> > Signed-off-by: Jenny TC <jenny.tc@...el.com>
>> > ---
>> []
>> > +extern struct extcon_dev *register_interest_cable_byname
>> > + (struct extcon_specific_cable_nb *extcon_dev,
>> > + const char *cable_name, struct notifier_block *nb);
>>
>> What about allowing extcon_register_interest() to support the functionality?
>>
> register_interest_cable_byname internally uses extcon_register_interest function.
> If we want to use extcon_register_interest() in both scenarios, then we need to define
> two local functions
Then, you can use recursion. (calling recursively if the extcon_name
is NULL and when it calls recursively itself, extcon_name should not
be NULL)
>
> extcon_register_interest__ and register_interest_cable_byname.
>
> Then the code would be
>
> int extcon_register_interest(struct extcon_specific_cable_nb *obj,
> const char *extcon_name, const char *cable_name,
> struct notifier_block *nb) {
>
> if (extcon_name == NULL)
> return register_interest_cable_byname(obj,cable_name,nb);
> else
> return extcon_register_interest__(obj,extcon_name,cable_name,nb);
> }
>
> Is that fine?
>
>> I.e., allowing extcon_register_interest() to accept NULL extcon_name.
>>
>>
>> ps. anyway, usually, the "platforms" have the list of node paths, don't they?
>>
> My intention is to make it generic and less dependent on platform data. This way the same consumer
> driver can work on any platform without looking for extcon dev name in the platform data.
> For example a charger driver can work on any platform without knowing the extcon provider name for
> The charger cable.
>
>
>
--
MyungJoo Ham, Ph.D.
Mobile Software Platform Lab, DMC Business, Samsung Electronics
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists