2012-04-20 13:16:22 +08:00
|
|
|
What: /sys/class/extcon/.../
|
Extcon: support multiple states at a device.
One switch device (e.g., MUIC(MAX8997, MAX77686, ...), and some 30-pin
devices) may have multiple cables attached. For example, one
30-pin port may inhabit a USB cable, an HDMI cable, and a mic.
Thus, one switch device requires multiple state bits each representing
a type of cable.
For such purpose, we use the 32bit state variable; thus, up to 32
different type of cables may be defined for a switch device. The list of
possible cables is defined by the array of cable names in the switch_dev
struct given to the class.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
--
Changes from V7
- Bugfixed in _call_per_cable() (incorrect nb) (Chanwoo Choi)
- Compiler error in header for !CONFIG_EXTCON (Chanwoo Choi)
Changes from V5
- Sysfs style reformed: subdirectory per cable.
- Updated standard cable names
- Removed unnecessary printf
- Bugfixes after testing
Changes from V4
- Bugfixes after more testing at Exynos4412 boards with userspace
processses.
Changes from V3
- Bugfixes after more testing at Exynos4412 boards.
Changes from V2
- State can be stored by user
- Documentation updated
Changes from RFC
- Switch is renamed to extcon
- Added kerneldoc comments
- Added APIs to support "standard" cable names
- Added helper APIs to support notifier block registration with cable
name.
- Regrouped function list in the header file.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-20 13:16:25 +08:00
|
|
|
Date: February 2012
|
2012-04-20 13:16:22 +08:00
|
|
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
|
|
Description:
|
|
|
|
Provide a place in sysfs for the extcon objects.
|
|
|
|
This allows accessing extcon specific variables.
|
|
|
|
The name of extcon object denoted as ... is the name given
|
|
|
|
with extcon_dev_register.
|
|
|
|
|
Extcon: support multiple states at a device.
One switch device (e.g., MUIC(MAX8997, MAX77686, ...), and some 30-pin
devices) may have multiple cables attached. For example, one
30-pin port may inhabit a USB cable, an HDMI cable, and a mic.
Thus, one switch device requires multiple state bits each representing
a type of cable.
For such purpose, we use the 32bit state variable; thus, up to 32
different type of cables may be defined for a switch device. The list of
possible cables is defined by the array of cable names in the switch_dev
struct given to the class.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
--
Changes from V7
- Bugfixed in _call_per_cable() (incorrect nb) (Chanwoo Choi)
- Compiler error in header for !CONFIG_EXTCON (Chanwoo Choi)
Changes from V5
- Sysfs style reformed: subdirectory per cable.
- Updated standard cable names
- Removed unnecessary printf
- Bugfixes after testing
Changes from V4
- Bugfixes after more testing at Exynos4412 boards with userspace
processses.
Changes from V3
- Bugfixes after more testing at Exynos4412 boards.
Changes from V2
- State can be stored by user
- Documentation updated
Changes from RFC
- Switch is renamed to extcon
- Added kerneldoc comments
- Added APIs to support "standard" cable names
- Added helper APIs to support notifier block registration with cable
name.
- Regrouped function list in the header file.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-20 13:16:25 +08:00
|
|
|
One extcon device denotes a single external connector
|
|
|
|
port. An external connector may have multiple cables
|
|
|
|
attached simultaneously. Many of docks, cradles, and
|
|
|
|
accessory cables have such capability. For example,
|
|
|
|
the 30-pin port of Nuri board (/arch/arm/mach-exynos)
|
|
|
|
may have both HDMI and Charger attached, or analog audio,
|
|
|
|
video, and USB cables attached simulteneously.
|
|
|
|
|
2012-04-20 13:16:22 +08:00
|
|
|
What: /sys/class/extcon/.../name
|
Extcon: support multiple states at a device.
One switch device (e.g., MUIC(MAX8997, MAX77686, ...), and some 30-pin
devices) may have multiple cables attached. For example, one
30-pin port may inhabit a USB cable, an HDMI cable, and a mic.
Thus, one switch device requires multiple state bits each representing
a type of cable.
For such purpose, we use the 32bit state variable; thus, up to 32
different type of cables may be defined for a switch device. The list of
possible cables is defined by the array of cable names in the switch_dev
struct given to the class.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
--
Changes from V7
- Bugfixed in _call_per_cable() (incorrect nb) (Chanwoo Choi)
- Compiler error in header for !CONFIG_EXTCON (Chanwoo Choi)
Changes from V5
- Sysfs style reformed: subdirectory per cable.
- Updated standard cable names
- Removed unnecessary printf
- Bugfixes after testing
Changes from V4
- Bugfixes after more testing at Exynos4412 boards with userspace
processses.
Changes from V3
- Bugfixes after more testing at Exynos4412 boards.
Changes from V2
- State can be stored by user
- Documentation updated
Changes from RFC
- Switch is renamed to extcon
- Added kerneldoc comments
- Added APIs to support "standard" cable names
- Added helper APIs to support notifier block registration with cable
name.
- Regrouped function list in the header file.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-20 13:16:25 +08:00
|
|
|
Date: February 2012
|
2012-04-20 13:16:22 +08:00
|
|
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
|
|
Description:
|
|
|
|
The /sys/class/extcon/.../name shows the name of the extcon
|
|
|
|
object. If the extcon object has an optional callback
|
|
|
|
"show_name" defined, the callback will provide the name with
|
|
|
|
this sysfs node.
|
|
|
|
|
|
|
|
What: /sys/class/extcon/.../state
|
Extcon: support multiple states at a device.
One switch device (e.g., MUIC(MAX8997, MAX77686, ...), and some 30-pin
devices) may have multiple cables attached. For example, one
30-pin port may inhabit a USB cable, an HDMI cable, and a mic.
Thus, one switch device requires multiple state bits each representing
a type of cable.
For such purpose, we use the 32bit state variable; thus, up to 32
different type of cables may be defined for a switch device. The list of
possible cables is defined by the array of cable names in the switch_dev
struct given to the class.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
--
Changes from V7
- Bugfixed in _call_per_cable() (incorrect nb) (Chanwoo Choi)
- Compiler error in header for !CONFIG_EXTCON (Chanwoo Choi)
Changes from V5
- Sysfs style reformed: subdirectory per cable.
- Updated standard cable names
- Removed unnecessary printf
- Bugfixes after testing
Changes from V4
- Bugfixes after more testing at Exynos4412 boards with userspace
processses.
Changes from V3
- Bugfixes after more testing at Exynos4412 boards.
Changes from V2
- State can be stored by user
- Documentation updated
Changes from RFC
- Switch is renamed to extcon
- Added kerneldoc comments
- Added APIs to support "standard" cable names
- Added helper APIs to support notifier block registration with cable
name.
- Regrouped function list in the header file.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-20 13:16:25 +08:00
|
|
|
Date: February 2012
|
|
|
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
|
|
Description:
|
|
|
|
The /sys/class/extcon/.../state shows and stores the cable
|
|
|
|
attach/detach information of the corresponding extcon object.
|
|
|
|
If the extcon object has an optional callback "show_state"
|
|
|
|
defined, the showing function is overriden with the optional
|
|
|
|
callback.
|
|
|
|
|
|
|
|
If the default callback for showing function is used, the
|
|
|
|
format is like this:
|
|
|
|
# cat state
|
|
|
|
USB_OTG=1
|
|
|
|
HDMI=0
|
|
|
|
TA=1
|
|
|
|
EAR_JACK=0
|
|
|
|
#
|
|
|
|
In this example, the extcon device have USB_OTG and TA
|
|
|
|
cables attached and HDMI and EAR_JACK cables detached.
|
|
|
|
|
|
|
|
In order to update the state of an extcon device, enter a hex
|
|
|
|
state number starting with 0x.
|
|
|
|
echo 0xHEX > state
|
|
|
|
|
|
|
|
This updates the whole state of the extcon dev.
|
|
|
|
Inputs of all the methods are required to meet the
|
|
|
|
mutually_exclusive contidions if they exist.
|
|
|
|
|
|
|
|
It is recommended to use this "global" state interface if
|
|
|
|
you need to enter the value atomically. The later state
|
|
|
|
interface associated with each cable cannot update
|
|
|
|
multiple cable states of an extcon device simultaneously.
|
|
|
|
|
|
|
|
What: /sys/class/extcon/.../cable.x/name
|
|
|
|
Date: February 2012
|
|
|
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
|
|
Description:
|
|
|
|
The /sys/class/extcon/.../cable.x/name shows the name of cable
|
|
|
|
"x" (integer between 0 and 31) of an extcon device.
|
|
|
|
|
|
|
|
What: /sys/class/extcon/.../cable.x/state
|
|
|
|
Date: February 2012
|
2012-04-20 13:16:22 +08:00
|
|
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
|
|
Description:
|
Extcon: support multiple states at a device.
One switch device (e.g., MUIC(MAX8997, MAX77686, ...), and some 30-pin
devices) may have multiple cables attached. For example, one
30-pin port may inhabit a USB cable, an HDMI cable, and a mic.
Thus, one switch device requires multiple state bits each representing
a type of cable.
For such purpose, we use the 32bit state variable; thus, up to 32
different type of cables may be defined for a switch device. The list of
possible cables is defined by the array of cable names in the switch_dev
struct given to the class.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
--
Changes from V7
- Bugfixed in _call_per_cable() (incorrect nb) (Chanwoo Choi)
- Compiler error in header for !CONFIG_EXTCON (Chanwoo Choi)
Changes from V5
- Sysfs style reformed: subdirectory per cable.
- Updated standard cable names
- Removed unnecessary printf
- Bugfixes after testing
Changes from V4
- Bugfixes after more testing at Exynos4412 boards with userspace
processses.
Changes from V3
- Bugfixes after more testing at Exynos4412 boards.
Changes from V2
- State can be stored by user
- Documentation updated
Changes from RFC
- Switch is renamed to extcon
- Added kerneldoc comments
- Added APIs to support "standard" cable names
- Added helper APIs to support notifier block registration with cable
name.
- Regrouped function list in the header file.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-20 13:16:25 +08:00
|
|
|
The /sys/class/extcon/.../cable.x/name shows and stores the
|
|
|
|
state of cable "x" (integer between 0 and 31) of an extcon
|
|
|
|
device. The state value is either 0 (detached) or 1
|
|
|
|
(attached).
|