1. 08 3月, 2018 1 次提交
  2. 23 10月, 2017 1 次提交
    • C
      extcon: Split out extcon header file for consumer and provider device · 176aa360
      Chanwoo Choi 提交于
      The extcon has two type of extcon devices as following.
      - 'extcon provider deivce' adds new extcon device and detect the
         state/properties of external connector. Also, it notifies the
         state/properties to the extcon consumer device.
      - 'extcon consumer device' gets the change state/properties
         from extcon provider device.
      Prior to that, include/linux/extcon.h contains all exported API for
      both provider and consumer device driver. To clarify the meaning of
      header file and to remove the wrong use-case on consumer device,
      this patch separates into extcon.h and extcon-provider.h.
      
      [Description for include/linux/{extcon.h|extcon-provider.h}]
      - extcon.h includes the extcon API and data structure for extcon consumer
        device driver. This header file contains the following APIs:
        : Register/unregister the notifier to catch the change of extcon device
        : Get the extcon device instance
        : Get the extcon device name
        : Get the state of each external connector
        : Get the property value of each external connector
        : Get the property capability of each external connector
      
      - extcon-provider.h includes the extcon API and data structure for extcon
        provider device driver. This header file contains the following APIs:
        : Include 'include/linux/extcon.h'
        : Allocate the memory for extcon device instance
        : Register/unregister extcon device
        : Set the state of each external connector
        : Set the property value of each external connector
        : Set the property capability of each external connector
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      Acked-by: NSebastian Reichel <sebastian.reichel@collabora.co.uk>
      Acked-by: NChen-Yu Tsai <wens@csie.org>
      Acked-by: NCharles Keepax <ckeepax@opensource.cirrus.com>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Acked-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
      Acked-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Acked-by: NKishon Vijay Abraham I <kishon@ti.com>
      176aa360
  3. 16 8月, 2017 3 次提交
    • C
      extcon: Use tab instead of space for indentation · ab8a8fbe
      Chanwoo Choi 提交于
      The extcon header file defines the functions which used the mismatched
      indentation and used the space on some case. So, this patch clean-up
      the indentation in order to improve the readbility.
      
      And this patch changes the return value of extcon_get_extcon_dev()
      because of maintaing the same value with extcon_get_edev_by_phandle().
      Signed-off-by: NChanwoo Choi <cwchoi00@gmail.com>
      ab8a8fbe
    • C
      extcon: Correct description to improve the readability · 6ab6094f
      Chanwoo Choi 提交于
      The extcon files explains the detailed operation for functions and
      what is meaning of extcon structure. There are different explanation
      even if the same argument.
      
      So, it modifies the description for both functions and structures
      in order to improve the readability and guide the role of functions
      more well.
      
      Also, this patch fixes the mismatching license info as a GPL v2
      and removes the inactive author information.
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      6ab6094f
    • C
      extcon: Remove deprecated extcon_set/get_cable_state_() · 808ae8f3
      Chanwoo Choi 提交于
      The commit 575c2b86 ("extcon: Rename the extcon_set/get_state()
      to maintain the function naming pattern") renames the extcon function as
      following: But, the extcon just keeps the old API to prevent the build error.
      This patch removes the deprecatd extcon API.
      
      - extcon_get_cable_state_() -> extcon_get_state()
      - extcon_set_cable_state_() -> extcon_set_state_sync()
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      808ae8f3
  4. 04 4月, 2017 1 次提交
    • C
      extcon: Add new extcon_register_notifier_all() to monitor all external connectors · 815429b3
      Chanwoo Choi 提交于
      The extcon core already provides the extcon_register_notifier() function
      in order to register the notifier block which is used to monitor
      the state change for the specific external connector such as EXTCON_USB,
      EXTCON_USB_HOST and so on. The extcon consumer uses the this function.
      
      The extcon consumer might need to monitor the all supported external
      connectors from the extcon device. In this case, The extcon consumer
      should have each notifier_block structure for each external connector.
      
      This patch adds the new extcon_register_notifier_all() function
      that extcon consumer is able to monitor the state change of all
      supported external connectors by using only one notifier_block structure.
      
      - List of new added functions:
      int extcon_register_notifier_all(struct extcon_dev *edev,
      			struct notifier_block *nb);
      int extcon_unregister_notifier_all(struct extcon_dev *edev,
      			struct notifier_block *nb);
      int devm_extcon_register_notifier_all(struct device *dev,
      			struct extcon_dev *edev, struct notifier_block *nb);
      void devm_extcon_unregister_notifier_all(struct device *dev,
      			struct extcon_dev *edev, struct notifier_block *nb);
      Suggested-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      Tested-by: NHans de Goede <hdegoede@redhat.com>
      Acked-by: NHans de Goede <hdegoede@redhat.com>
      815429b3
  5. 09 1月, 2017 4 次提交
  6. 16 9月, 2016 1 次提交
    • K
      include: extcon: Fix compilation error caused because of incomplete merge · eeb7df27
      Kishon Vijay Abraham I 提交于
      Fix the following compilation error caused due to incomplete merge. This is
      observed if CONFIG_EXTCON is not set.
      
      In file included from ./include/linux/mfd/palmas.h:23:0,
                       from drivers/input/misc/palmas-pwrbutton.c:22:
      ./include/linux/extcon.h: In function ‘extcon_sync’:
      ./include/linux/extcon.h:361:1: error: expected declaration specifiers before ‘<<’ token
      ./include/linux/extcon.h:370:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
      ./include/linux/extcon.h:376:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘>>’ token
      ./include/linux/extcon.h:381:1: error: expected declaration specifiers before ‘<<’ token
      ./include/linux/extcon.h:390:1: error: expected declaration specifiers or ‘...’ before ‘==’ token
      ./include/linux/extcon.h:476:11: warning: ‘struct extcon_specific_cable_nb’ declared inside parameter list [enabled by default]
      ./include/linux/extcon.h:476:11: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
      ./include/linux/extcon.h:474:19: error: storage class specified for parameter ‘extcon_register_interest’
      ./include/linux/extcon.h:474:19: warning: parameter ‘extcon_register_interest’ declared ‘inline’ [enabled by default]
      ./include/linux/extcon.h:477:1: warning: ‘always_inline’ attribute ignored [-Wattributes]
      ./include/linux/extcon.h:474:19: error: ‘no_instrument_function’ attribute applies only to functions
      ./include/linux/extcon.h:477:1: error: expected ‘;’, ‘,’ or ‘)’ before ‘{’ token
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      eeb7df27
  7. 13 9月, 2016 1 次提交
  8. 10 9月, 2016 10 次提交
  9. 18 8月, 2016 1 次提交
  10. 08 8月, 2016 9 次提交
  11. 29 6月, 2016 1 次提交
  12. 27 6月, 2016 2 次提交
  13. 10 6月, 2016 1 次提交
    • C
      extcon: Remove the deprecated extcon functions · 830ae442
      Chanwoo Choi 提交于
      This patch removes the deprecated extcon functions using string type
      to identify the type of external connector. The Commit 2a9de9c0
      ("extcon: Use the unique id for external connector instead of string)
      uses the unique id to separate the type of external connector instead of
      string name.
      - extcon_register_interest()
      - extcon_unregister_interest()
      - extcon_set_cable_state()
      - extcon_get_cable_state()
      
      And, extcon_register_interest() finds the first extcon device to include the
      requested external connector from extcon client device and then register the
      notifier if extcon device argument is NULL. Instead, extcon_register_notifier()
      supports this feature.
      
      But, this patch remains the deprecatd function definition to prevent
      the build break.
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      830ae442
  14. 16 10月, 2015 1 次提交
    • C
      extcon: Modify the id and name of external connector · 11eecf91
      Chanwoo Choi 提交于
      This patch modifies the id and name of external connector with the
      additional prefix to clarify both attribute and meaning of external
      connector as following:
      - EXTCON_CHG_* mean the charger connector.
      - EXTCON_JACK_* mean the jack connector.
      - EXTCON_DISP_* mean the display port connector.
      
      Following table show the new name of external connector with old name:
      --------------------------------------------------
      Old extcon name         | New extcon name        |
      --------------------------------------------------
      EXTCON_TA               | EXTCON_CHG_USB_DCP     |
      EXTCON_CHARGE_DOWNSTREAM| EXTCON_CHG_USB_CDP     |
      EXTCON_FAST_CHARGER     | EXTCON_CHG_USB_FAST    |
      EXTCON_SLOW_CHARGER     | EXTCON_CHG_USB_SLOW    |
      --------------------------------------------------
      EXTCON_MICROPHONE       | EXTCON_JACK_MICROPHONE |
      EXTCON_HEADPHONE        | EXTCON_JACK_HEADPHONE  |
      EXTCON_LINE_IN          | EXTCON_JACK_LINE_IN    |
      EXTCON_LINE_OUT         | EXTCON_JACK_LINE_OUT   |
      EXTCON_VIDEO_IN         | EXTCON_JACK_VIDEO_IN   |
      EXTCON_VIDEO_OUT        | EXTCON_JACK_VIDEO_OUT  |
      EXTCON_SPDIF_IN         | EXTCON_JACK_SPDIF_IN   |
      EXTCON_SPDIF_OUT        | EXTCON_JACK_SPDIF_OUT  |
      --------------------------------------------------
      EXTCON_HMDI             | EXTCON_DISP_HDMI       |
      EXTCON_MHL              | EXTCON_DISP_MHL        |
      EXTCON_DVI              | EXTCON_DISP_DVI        |
      EXTCON_VGA              | EXTCON_DISP_VGA        |
      --------------------------------------------------
      
      And, when altering the name of USB charger connector, EXTCON refers to the
      "Battery Charging v1.2 Spec and Adopters Agreement"[1] to use the standard
      name of USB charging port as following. Following name of USB charging port
      are already used in power_supply subsystem. We chan check it on patch[2].
      - EXTCON_CHG_USB_SDP	/* Standard Downstream Port */
      - EXTCON_CHG_USB_DCP	/* Dedicated Charging Port */
      - EXTCON_CHG_USB_CDP	/* Charging Downstream Port */
      - EXTCON_CHG_USB_ACA	/* Accessory Charger Adapter */
      
      [1] www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip
      [2] commit 85efc8a1 ("power_supply: Add types for USB chargers")
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      [ckeepax: For the Arizona changes]
      Acked-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Reviewed-by: NRoger Quadros <rogerq@ti.com>
      11eecf91
  15. 10 8月, 2015 2 次提交
  16. 13 6月, 2015 1 次提交