On Tue, Nov 20, 2012 at 09:14:41AM +0000, Tc, Jenny wrote: [...] > > For example, > > Firstly, the power_supply charging framework check state of charger cable > > whether attached or detached cable. Second, when power_supply charging > > framework receive the changed state of host system from 'Host system > > notifier', change charging current of charger cable. > > Not just SUSPEND, but we need to handle RESUME , UPDATE etc. Also this > doesn’t help us to > define a standard interface for the charger cable state/properties. IMHO it's > not right > to provide different interfaces for different cables. This doesn't help us to > standardize > the charger cable interface. > > This thread has been running for a quite long time. Unfortunately we couldn't > make an > agreement on the final solution. I would like to recap the overall > requirement and > would like to propose alternate solutions. The requirements is to > "Provide a generic interface for charger cable states and charger cable > properties" > > Even though extcon subsystem handles charger cable states, it's not enough to > handle > all kind of charger cable states. It can handle just 2 states > CONNECT/DISCONNECT. > But there are scenarios where we need to handle more than 2 states > (eg. USB SUSPEND/RESUME/UPDATE etc). Also extcon doesn't have any mechanism to > read cable properties in a generic way. Extcon charger-cable consumer driver > implementations (eg charger-manager), defines charger cable properties > statically (current in mA) > inside the consumer driver. This is not enough, since the charger cable > properties may change dynamically > > In existing form extcon cannot support different charger cable states and > their > properties in a generic way. Also we couldn't find a final solution on how to > modify the > extcon to support these requirements. From the whole discussion what I > conclude is > * extcon is not designed to support cable properties
The idea of using union seemed good to me, what happened to it? I mean, MyungJoo Ham wrote: | We may have: | enum extcon_cable_type { | EXTCON_CT_REGULATOR, | EXTCON_CT_PSY, | EXTCON_CT_CHARGER_CB, | ... | }; | and have the following included at struct extcon_cable: | union { | struct regulator *reg; | struct power_supply *psy; | struct charger_cable *charger_cb; | ... | } cable data; | enum extcon_cable_type cable_type; This sounds good to me... > * extcon is not designed to support any cable state other than > CONNECT/DISCONNECT Dunno for this one. Can we get these additional states via "properties" as described above? Thanks, Anton. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/