extcon: Split out extcon header file for consumer and provider device
authorChanwoo Choi <cw00.choi@samsung.com>
Thu, 21 Sep 2017 03:11:24 +0000 (12:11 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Mon, 23 Oct 2017 05:07:58 +0000 (14:07 +0900)
commit176aa36012135d172394a928a03fb03dfecd83f9
tree77b630eb0c9c08a4c3aaedc1552f6b47e2bbaa62
parent2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e
extcon: Split out extcon header file for consumer and provider device

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: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Acked-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
27 files changed:
drivers/extcon/extcon-adc-jack.c
drivers/extcon/extcon-arizona.c
drivers/extcon/extcon-axp288.c
drivers/extcon/extcon-gpio.c
drivers/extcon/extcon-intel-cht-wc.c
drivers/extcon/extcon-intel-int3496.c
drivers/extcon/extcon-max14577.c
drivers/extcon/extcon-max3355.c
drivers/extcon/extcon-max77693.c
drivers/extcon/extcon-max77843.c
drivers/extcon/extcon-max8997.c
drivers/extcon/extcon-qcom-spmi-misc.c
drivers/extcon/extcon-rt8973a.c
drivers/extcon/extcon-sm5502.c
drivers/extcon/extcon-usb-gpio.c
drivers/extcon/extcon-usbc-cros-ec.c
drivers/extcon/extcon.h
drivers/phy/allwinner/phy-sun4i-usb.c
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
drivers/phy/renesas/phy-rcar-gen3-usb2.c
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
drivers/power/supply/qcom_smbb.c
drivers/usb/gadget/udc/renesas_usb3.c
drivers/usb/phy/phy-tahvo.c
include/linux/extcon-provider.h [new file with mode: 0644]
include/linux/extcon.h
include/linux/mfd/palmas.h