• MyungJoo Ham's avatar
    Extcon (external connector): import Android's switch class and modify. · de55d871
    MyungJoo Ham authored
    External connector class (extcon) is based on and an extension of
    Android kernel's switch class located at linux/drivers/switch/.
    
    This patch provides the before-extension switch class moved to the
    location where the extcon will be located (linux/drivers/extcon/) and
    updates to handle class properly.
    
    The before-extension class, switch class of Android kernel, commits
    imported are:
    
    switch: switch class and GPIO drivers. (splitted)
    Author: Mike Lockwood <lockwood@android.com>
    
    switch: Use device_create instead of device_create_drvdata.
    Author: Arve Hjønnevåg <arve@android.com>
    
    In this patch, upon the commits of Android kernel, we have added:
    - Relocated and renamed for extcon.
    - Comments, module name, and author information are updated
    - Code clean for successing patches
    - Bugfix: enabling write access without write functions
    - Class/device/sysfs create/remove handling
    - Added comments about uevents
    - Format changes for extcon_dev_register() to have a parent dev.
    Signed-off-by: default avatarMyungJoo Ham <myungjoo.ham@samsung.com>
    Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
    Reviewed-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    
    --
    Changes from v7
    - Compiler error fixed when it is compiled as a module.
    - Removed out-of-date Kconfig entry
    
    Changes from v6
    - Updated comment/strings
    - Revised "Android-compatible" mode.
       * Automatically activated if CONFIG_ANDROID && !CONFIG_ANDROID_SWITCH
       * Creates /sys/class/switch/*, which is a copy of /sys/class/extcon/*
    
    Changes from v5
    - Split the patch
    - Style fixes
    - "Android-compatible" mode is enabled by Kconfig option.
    
    Changes from v2
    - Updated name_show
    - Sysfs entries are handled by class itself.
    - Updated the method to add/remove devices for the class
    - Comments on uevent send
    - Able to become a module
    - Compatible with Android platform
    
    Changes from RFC
    - Renamed to extcon (external connector) from multistate switch
    - Added a seperated directory (drivers/extcon)
    - Added kerneldoc comments
    - Removed unused variables from extcon_gpio.c
    - Added ABI Documentation.
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    de55d871
extcon_class.c 6.3 KB