lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 28 Mar 2012 18:39:08 +0900
From:	MyungJoo Ham <myungjoo.ham@...il.com>
To:	Arnd Bergmann <arnd@...db.de>, LKML <linux-kernel@...r.kernel.org>
Cc:	NeilBrown <neilb@...e.de>, Randy Dunlap <rdunlap@...otime.net>,
	Mike Lockwood <lockwood@...roid.com>,
	Arve Hjønnevag <arve@...roid.com>,
	Kyungmin Park <kyungmin.park@...sung.com>,
	gregkh@...uxfoundation.org,
	Linus Walleij <linus.walleij@...aro.org>,
	Dmitry Torokhov <dmitry.torokhov@...il.com>,
	Morten CHRISTIANSEN <morten.christiansen@...ricsson.com>,
	Mark Brown <broonie@...nsource.wolfsonmicro.com>,
	John Stultz <john.stultz@...aro.org>,
	Joerg Roedel <joerg.roedel@....com>, myungjoo.ham@...il.com,
	cw00.choi@...sung.com
Subject: Re: [PATCH v7 0/6] Introduce External Connector Class (extcon)

Dear Arnd,

Could you please consider the EXTCON patchset for the current merge window?

If pulling from a branch is more convinient; please consider using:

A. EXTCON patchset without the RFC patch removing staging/android/switch class
or
B. EXTCON patchset with the RFC patch removing staging/android/switch class.

--------------------
PULL REQUEST for A
--------------------
The following changes since commit b01543dfe67bb1d191998e90d20534dc354de059:

  Linux 3.3-rc4 (2012-02-18 15:53:33 -0800)

are available in the git repository at:
  git://git.infradead.org/users/kmpark/linux-samsung extcon-for-next-2
 (http://git.infradead.org/users/kmpark/linux-samsung/shortlog/refs/heads/extcon-for-next-2)

Donggeun Kim (1):
      Extcon: support notification based on the state changes.

MyungJoo Ham (5):
      Extcon (external connector): import Android's switch class and modify.
      Extcon: support generic GPIO extcon driver
      Extcon: support multiple states at a device.
      Extcon: support mutually exclusive relation between cables.
      Documentation/extcon: porting guide for Android kernel switch driver.

 Documentation/ABI/testing/sysfs-class-extcon      |   97 +++
 Documentation/extcon/porting-android-switch-class |  124 +++
 drivers/Kconfig                                   |    2 +
 drivers/Makefile                                  |    1 +
 drivers/extcon/Kconfig                            |   35 +
 drivers/extcon/Makefile                           |    6 +
 drivers/extcon/extcon_class.c                     |  822 +++++++++++++++++++++
 drivers/extcon/extcon_gpio.c                      |  175 +++++
 include/linux/extcon.h                            |  322 ++++++++
 include/linux/extcon/extcon_gpio.h                |   52 ++
 10 files changed, 1636 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-class-extcon
 create mode 100644 Documentation/extcon/porting-android-switch-class
 create mode 100644 drivers/extcon/Kconfig
 create mode 100644 drivers/extcon/Makefile
 create mode 100644 drivers/extcon/extcon_class.c
 create mode 100644 drivers/extcon/extcon_gpio.c
 create mode 100644 include/linux/extcon.h
 create mode 100644 include/linux/extcon/extcon_gpio.h


--------------------
PULL REQUEST for B
--------------------
The following changes since commit b01543dfe67bb1d191998e90d20534dc354de059:

  Linux 3.3-rc4 (2012-02-18 15:53:33 -0800)

are available in the git repository at:
  git://git.infradead.org/users/kmpark/linux-samsung extcon-for-next
  (http://git.infradead.org/users/kmpark/linux-samsung/shortlog/refs/heads/extcon-for-next)

Donggeun Kim (1):
      Extcon: support notification based on the state changes.

MyungJoo Ham (6):
      Extcon (external connector): import Android's switch class and modify.
      Extcon: support generic GPIO extcon driver
      Extcon: support multiple states at a device.
      Extcon: support mutually exclusive relation between cables.
      Documentation/extcon: porting guide for Android kernel switch driver.
      Remove "switch" class in drivers/staging/android/switch

 Documentation/ABI/testing/sysfs-class-extcon      |   97 +++
 Documentation/extcon/porting-android-switch-class |  124 +++
 drivers/Kconfig                                   |    2 +
 drivers/Makefile                                  |    1 +
 drivers/extcon/Kconfig                            |   35 +
 drivers/extcon/Makefile                           |    6 +
 drivers/extcon/extcon_class.c                     |  822 +++++++++++++++++++++
 drivers/extcon/extcon_gpio.c                      |  175 +++++
 drivers/staging/android/Kconfig                   |    2 -
 drivers/staging/android/Makefile                  |    1 -
 drivers/staging/android/switch/Kconfig            |   11 -
 drivers/staging/android/switch/Makefile           |    4 -
 drivers/staging/android/switch/switch.h           |   53 --
 drivers/staging/android/switch/switch_class.c     |  174 -----
 drivers/staging/android/switch/switch_gpio.c      |  172 -----
 include/linux/extcon.h                            |  322 ++++++++
 include/linux/extcon/extcon_gpio.h                |   52 ++
 17 files changed, 1636 insertions(+), 417 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-class-extcon
 create mode 100644 Documentation/extcon/porting-android-switch-class
 create mode 100644 drivers/extcon/Kconfig
 create mode 100644 drivers/extcon/Makefile
 create mode 100644 drivers/extcon/extcon_class.c
 create mode 100644 drivers/extcon/extcon_gpio.c
 delete mode 100644 drivers/staging/android/switch/Kconfig
 delete mode 100644 drivers/staging/android/switch/Makefile
 delete mode 100644 drivers/staging/android/switch/switch.h
 delete mode 100644 drivers/staging/android/switch/switch_class.c
 delete mode 100644 drivers/staging/android/switch/switch_gpio.c
 create mode 100644 include/linux/extcon.h
 create mode 100644 include/linux/extcon/extcon_gpio.h



On Fri, Mar 23, 2012 at 5:52 PM, MyungJoo Ham <myungjoo.ham@...sung.com> wrote:
> For external connectors, which may have different types of cables attached
> (USB, TA, HDMI, Analog A/V, and others), we often have seperated device
> drivers that detect the state changes at the port and device drivers that
> do something according to the state changes.
>
> An example is a 4-pin (or more pins?) analog audio connector
> (usually referred as "3.5-pi" jacks). It can be implemented with the 5/5
> patch, "adc-jack", supplied with information about IRQ, a method to get
> ADC values, and ADC value ranges. With a 4-pin 3.5-pi port and adc-jack
> driver with proper ADC configurations, the following modes may be
> detected: "standard mono cable", "standard stereo cable",
> "standard stereo + remote cable", "standard stereo + mic + remote cable",
> "standard stereo + different-spec mic + remote cable", and such.
> Note that for 4-pin cables with mic and remote, there are multiple
> standards (at least Samsung and Apple use different configurations for
> those 4-pin earphones although the pins looks exactly same.)
> and they often can be distinguished with ADC values.
>
> Although we may have simply given different "cable id" for "stereo" and
> "stereo + mic". However, for those userspace processes or other device
> drivers that are interested only in "stereo" part of possible combinations,
> having seperated mode/id for "stereo" and "mic" is more desirable.
> For example, if we do not have multistate capabilities, those who want
> to know "stereo" is attached or not should monitor everything:
> "standard stereo cable", "standard stereo + remove cable",
> "standard stereo + mic + remote cable", and others. However, with
> multistate capabilities, they only need to monitor the bit associated
> with "standard stero".
>
> For another example, when MAX8997-MUIC detects a Charger cable insertion,
> another device driver (such as MAX8903 charger, MAX8997 charger, Charger
> Manager, or board file) needs to set charger current limit accordingly
> and when MAX8997-MUIC detects a HDMI cable insertion, multimedia device
> drivers need to do some operations accordingly.
>
>
> This patchset supports the usage of notifier for passing such information
> between device drivers.
>
> Another issue is that at a single switch port, there might be multiple
> and heterogeneous cables attached at the same time. Besides the state
> (Attached or Detached) of each cable may alter independently. Such extcon
> devices that support simultaneous mult-cable attachment include, bot not
> limited to, docks, cradles, and 30-pin-like ports (like that of NURI board
> in linux/arch/arm/mach-exynos, which resembles Samsung Galaxy Tab series).
> For example, the 30-pin port of NURI board may be used to connect analog
> audio cables, analog video cable, and a USB or a charger. Because such
> cables coonnect part of the 30 pins to external devices/cables, the
> possible combinations of external devices/cables vary significantly and
> users may fabricate their own design; e.g., an 30-pin adaptor connecting
> USB, AC-DC adaptor, HDMI, analog audio, analog video, USB-host, SD-card,
> and so on.
>
> In order to address such issues, Android kernel's "Switch" class seems to
> be a good basis and we have implemented "Multistate Switch Class" based on
> it. The "Switch" class code of Android kernel is GPL as well.
>
>
> Though there can be synchronization delay (up to 12hours), you can see
> the extcon-for-next branch at
> http://git.infradead.org/users/kmpark/linux-samsung/shortlog/refs/heads/extcon-for-next
>
> Along with the 6 patches (1/6 ... 6/6), there is one additional RFC patch
> that suggests to remove drivers/staging/android/switch.
>
> Summary of changes from v6 patchset
> - Added documentation, "porting guide for Android switch device drivers"
> - Usage of class_compat to create /sys/class/switch/* along with
> /sys/class/extcon/* if CONFIG_ANDROID is enabled. However, we cannot
> enable "switch" class_compat if CONFIG_ANDROID_SWITCH is enabled because
> we cannot create two classes with the same name.
>
> Summary of changes from v5 patchset
> - Excluded adc-jack from the "default" patchset. Adc-jack will be later
> added after Extcon is finalized.
> - Sysfs style updated
> - Bugfixes after using at Exynos4412 boards with userspace processes
> - Code stype updated
>
> Summary of changes from v4 patchset
> - Bugfixes after testing at Exynos4412 boards with userspace processes
> - Added adc-jack to support 3.5-pi jack and other ADC-based cable detection
> ports.
>
> Summary of changes from v3 patchset
> - Bugfixes after testing at Exynos4412 boards.
>
> Summary of changes from v2 patchset
> - Support to express mutually exclusive set of cables
> - Revised device/class/sysfs-entries add/removal methods
> - Added sysfs entries
> - Revised documentation and comments
> - Some bugfixes
> - Compatible with Android (for extcon devices with "use_class_name_switch" set)
>
> Summary of changes from RFC
> - ABI documentation added
> - Notifees may get notified for a state change of a specific cable, not
> every cable of the corresponding extcon.
> - Added kerneldoc comments
> - Moved to /drivers/extcon/
> - Added helper functions
> - Some bugfixes
>
> Donggeun Kim (1):
>  Extcon: support notification based on the state changes.
>
> MyungJoo Ham (5):
>  Extcon (external connector): import Android's switch class and
>    modify.
>  Extcon: support generic GPIO extcon driver
>  Extcon: support multiple states at a device.
>  Extcon: support mutually exclusive relation between cables.
>  Documentation/extcon: porting guide for Android kernel switch driver.
>
>  Documentation/ABI/testing/sysfs-class-extcon      |   97 +++
>  Documentation/extcon/porting-android-switch-class |  124 +++
>  drivers/Kconfig                                   |    2 +
>  drivers/Makefile                                  |    1 +
>  drivers/extcon/Kconfig                            |   35 +
>  drivers/extcon/Makefile                           |    6 +
>  drivers/extcon/extcon_class.c                     |  822 +++++++++++++++++++++
>  drivers/extcon/extcon_gpio.c                      |  175 +++++
>  include/linux/extcon.h                            |  322 ++++++++
>  include/linux/extcon/extcon_gpio.h                |   52 ++
>  10 files changed, 1636 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/ABI/testing/sysfs-class-extcon
>  create mode 100644 Documentation/extcon/porting-android-switch-class
>  create mode 100644 drivers/extcon/Kconfig
>  create mode 100644 drivers/extcon/Makefile
>  create mode 100644 drivers/extcon/extcon_class.c
>  create mode 100644 drivers/extcon/extcon_gpio.c
>  create mode 100644 include/linux/extcon.h
>  create mode 100644 include/linux/extcon/extcon_gpio.h
>
> --
> 1.7.4.1
>



-- 
MyungJoo Ham, Ph.D.
System S/W Lab, S/W Center, Samsung Electronics
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ