A charger can support different types of charger sources (cables). It make sense to define a field to inform the power supply subsystem what kind of cable a charger driver supports. Since a bitmask would be the easy way to do define, it's good to have a enum which has the bitmask definition for each cable types
Signed-off-by: Jenny TC <jenny...@intel.com> --- include/linux/power_supply.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h index 7c06956..eea1709 100644 --- a/include/linux/power_supply.h +++ b/include/linux/power_supply.h @@ -163,6 +163,21 @@ enum power_supply_type { POWER_SUPPLY_TYPE_USB_ACA, /* Accessory Charger Adapters */ }; +enum power_supply_charger_cable_type { + POWER_SUPPLY_CHARGER_TYPE_NONE = 0, + POWER_SUPPLY_CHARGER_TYPE_USB_SDP = 1 << 0, + POWER_SUPPLY_CHARGER_TYPE_USB_DCP = 1 << 1, + POWER_SUPPLY_CHARGER_TYPE_USB_CDP = 1 << 2, + POWER_SUPPLY_CHARGER_TYPE_USB_ACA = 1 << 3, + POWER_SUPPLY_CHARGER_TYPE_AC = 1 << 4, +}; + +#define POWER_SUPPLY_CHARGER_TYPE_USB \ + (POWER_SUPPLY_CHARGER_TYPE_USB_SDP | \ + POWER_SUPPLY_CHARGER_TYPE_USB_DCP | \ + POWER_SUPPLY_CHARGER_TYPE_USB_CDP | \ + POWER_SUPPLY_CHARGER_TYPE_USB_ACA) + union power_supply_propval { int intval; const char *strval; @@ -175,6 +190,7 @@ struct power_supply { size_t num_properties; char **supplied_to; + unsigned long supported_cables; size_t num_supplicants; int (*get_property)(struct power_supply *psy, -- 1.7.9.5 -- 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/