[RFC PATCH 0/3] introduce: Multistate Switch Class

From: MyungJoo Ham
Date: Wed Nov 23 2011 - 21:04:06 EST


For switch ports, which may have different types of cables
(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.

For 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.

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.

Donggeun Kim (1):
Multistate Switch Class: add notifier block

MyungJoo Ham (2):
Multistate Switch Class: import Android's switch class and modify.
Multistate Switch Class: support multiple states at a device.

drivers/Makefile | 1 +
drivers/misc/Kconfig | 21 +++
drivers/misc/Makefile | 2 +
drivers/misc/switch_class.c | 332 +++++++++++++++++++++++++++++++++++++++++++
drivers/misc/switch_gpio.c | 174 ++++++++++++++++++++++
include/linux/switch.h | 164 +++++++++++++++++++++
6 files changed, 694 insertions(+), 0 deletions(-)
create mode 100644 drivers/misc/switch_class.c
create mode 100644 drivers/misc/switch_gpio.c
create mode 100644 include/linux/switch.h

--
1.7.4.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/