tree df2537d5d727507e9ff6611587b787dc52278a50
parent 792e7e9e5d4358bc6157152b2c07b94eb9e261b0
author Chanwoo Choi <cw00.choi@samsung.com> 1469448919 +0900
committer Chanwoo Choi <cw00.choi@samsung.com> 1470622642 +0900

extcon: Add the support for the capability of each property

This patch adds the support of the property capability setting. This function
decides the supported properties of each external connector on extcon provider
driver.

Ths list of new extcon APIs to get/set the capability of property as following:
- int extcon_get_property_capability(struct extcon_dev *edev,
					unsigned int id, unsigned int prop);
- int extcon_set_property_capability(struct extcon_dev *edev,
					unsigned int id, unsigned int prop);

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Chris Zhong <zyw@rock-chips.com>
Tested-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
