/* * Charging external connector * * When one SDP charger connector was reported, we should also report * the USB connector, which means EXTCON_CHG_USB_SDP should always * appear together with EXTCON_USB. The same as ACA charger connector, * EXTCON_CHG_USB_ACA would normally appear with EXTCON_USB_HOST. * * The EXTCON_CHG_USB_SLOW connector can provide at least 500mA of * current at 5V. The EXTCON_CHG_USB_FAST connector can provide at * least 1A of current at 5V.
*/ #define EXTCON_CHG_USB_SDP 5 /* Standard Downstream Port */ #define EXTCON_CHG_USB_DCP 6 /* Dedicated Charging Port */ #define EXTCON_CHG_USB_CDP 7 /* Charging Downstream Port */ #define EXTCON_CHG_USB_ACA 8 /* Accessory Charger Adapter */ #define EXTCON_CHG_USB_FAST 9 #define EXTCON_CHG_USB_SLOW 10 #define EXTCON_CHG_WPT 11 /* Wireless Power Transfer */ #define EXTCON_CHG_USB_PD 12 /* USB Power Delivery */
/* * Define the properties of supported external connectors. * * When adding the new extcon property, they *must* have * the type/value/default information. Also, you *have to* * modify the EXTCON_PROP_[type]_START/END definitions * which mean the range of the supported properties * for each extcon type. * * The naming style of property * : EXTCON_PROP_[type]_[property name] * * EXTCON_PROP_USB_[property name] : USB property * EXTCON_PROP_CHG_[property name] : Charger property * EXTCON_PROP_JACK_[property name] : Jack property * EXTCON_PROP_DISP_[property name] : Display property
*/
/* * Define the type of property's value. * * Define the property's value as union type. Because each property * would need the different data type to store it.
*/ union extcon_property_value { int intval; /* type : integer (intval) */
};
struct extcon_dev;
#if IS_ENABLED(CONFIG_EXTCON) /* * Following APIs get the connected state of each external connector. * The 'id' argument indicates the defined external connector.
*/ int extcon_get_state(struct extcon_dev *edev, unsignedint id);
/* * Following APIs get the property of each external connector. * The 'id' argument indicates the defined external connector * and the 'prop' indicates the extcon property. * * And extcon_get_property_capability() get the capability of the property * for each external connector. They are used to get the capability of the * property of each external connector based on the id and property.
*/ int extcon_get_property(struct extcon_dev *edev, unsignedint id, unsignedint prop, union extcon_property_value *prop_val); int extcon_get_property_capability(struct extcon_dev *edev, unsignedint id, unsignedint prop);
/* * Following APIs register the notifier block in order to detect * the change of both state and property value for each external connector. * * extcon_register_notifier(*edev, id, *nb) : Register a notifier block * for specific external connector of the extcon. * extcon_register_notifier_all(*edev, *nb) : Register a notifier block * for all supported external connectors of the extcon.
*/ int extcon_register_notifier(struct extcon_dev *edev, unsignedint id, struct notifier_block *nb); int extcon_unregister_notifier(struct extcon_dev *edev, unsignedint id, struct notifier_block *nb); int devm_extcon_register_notifier(struct device *dev, struct extcon_dev *edev, unsignedint id, struct notifier_block *nb); void devm_extcon_unregister_notifier(struct device *dev, struct extcon_dev *edev, unsignedint id, struct notifier_block *nb);
/* * Following APIs get the extcon_dev from devicetree or by through extcon name.
*/ struct extcon_dev *extcon_get_extcon_dev(constchar *extcon_name); struct extcon_dev *extcon_find_edev_by_node(struct device_node *node); struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, int index);
/* Following API get the name of extcon device. */ constchar *extcon_get_edev_name(struct extcon_dev *edev);
/* * Following structure and API are deprecated. EXTCON remains the function * definition to prevent the build break.
*/ struct extcon_specific_cable_nb { struct notifier_block *user_nb; int cable_index; struct extcon_dev *edev; unsignedlong previous_value;
}; #endif/* __LINUX_EXTCON_H__ */
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.