• Chanwoo Choi's avatar
    extcon: Update the prototype of extcon_register_notifier() with enum extcon · 046050f6
    Chanwoo Choi authored
    Previously, extcon consumer driver used the extcon_register_interest()
    to register the notifier chain and then to receive the notifier event
    when external connector's state is changed. When registering the notifier chain
    for specific external connector with extcon_register_interest(), it used the
    the string name of external connector directly. There are potential problem
    because of unclear, non-standard and inconsequent cable name. Namely,
    it is not appropriate method to identify each external connector.
    
    So, this patch modify the prototype of extcon_register_notifier() by using
    the 'enum extcon' which are the unique id for each external connector
    instead of unclear string method.
    
    - Previously, the extcon consumer driver used the extcon_register_interest()
    with 'cable_name' to point out the specific external connector. Also. it used
    the un-needed structure (struct extcon_specific_cable_nb).
    : int extcon_register_interest(struct extcon_specific_cable_nb *obj,
    			     const char *extcon_name, const char *cable_name,
    			     struct notifier_block *nb)
    
    - Newly, the updated extcon_register_notifier() would definitely support
    the same feature to detech the changed state of external connector without
    any specific structure (struct extcon_specific_cable_nb).
    : int extcon_register_notifier(struct extcon_dev *edev, enum extcon id,
    			     struct notifier_block *nb)
    
    This patch support the both extcon_register_interest() and new extcon_register_
    notifier(). But the extcon_{register|unregister}_interest() will be deprecated
    because extcon core would support the notifier event for extcon consumer driver
    with only updated extcon_register_notifier() and 'extcon_specific_cable_nb'
    will be removed if there are no extcon consumer driver with legacy
    extcon_{register|unregister}_interest().
    Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
    Reviewed-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
    046050f6
extcon.c 28.9 KB