android_kernel_xiaomi_sm8350/drivers/staging/greybus
Johan Hovold b15d97d770 greybus: core: add module abstraction
Add Greybus module abstraction that will be used to implement controlled
module removal (eject) and represent module geometry.

Greybus module devices correspond to physical modules and have one or
more interfaces. Modules have an id that is identical to the id of their
primary interface, which in turn is the interface with lowest numbered
id. The module name is constructed from the bus and module id:

        <bus_id>-<module_id>

Interfaces, bundles, and control devices are consequently renamed as

        <bus_id>-<module_id>.<interface_id>
        <bus_id>-<module_id>.<interface_id>.<bundle_id>
        <bus_id>-<module_id>.<interface_id>.ctrl

As before, interface ids (and therefore in a sense now also module ids)
correspond to physical interface positions on the frame.

Modules have the following attributes:

        module_id
        num_interfaces

where module_id is the id of the module and num_interface the number of
interfaces the module has.

Note that until SVC module-size detection has been implemented, all
interfaces are considered to be part of 1x2 modules. Specifically, the
two interfaces of a 2x2 module will be presented as two 1x2 modules for
now.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
..
Documentation greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
scripts greybus: checkpatch.pl: Mark --no-tree as default option 2016-04-02 19:44:30 -07:00
tools greybus: loopback_test: handle SIGINT signal 2016-03-16 21:49:31 -07:00
.gitignore greybus: tools: Add tools directory to greybus repo and add loopback 2015-12-17 18:17:07 -08:00
arche_platform.h greybus: arche-ctrl: Don't expose driver internals to arche-platform driver 2016-04-23 09:37:21 +09:00
arche-apb-ctrl.c greybus: arche-ctrl: Don't expose driver internals to arche-platform driver 2016-04-23 09:37:21 +09:00
arche-platform.c greybus: arche-ctrl: Don't expose driver internals to arche-platform driver 2016-04-23 09:37:21 +09:00
audio_apbridgea.c greybus: audio: Split start and stop APBridgeA requests 2016-03-01 22:44:49 -08:00
audio_apbridgea.h greybus: audio: Split start and stop APBridgeA requests 2016-03-01 22:44:49 -08:00
audio_codec.c greybus: audio: acquire wakelock during active playback 2016-04-25 10:09:45 -07:00
audio_codec.h greybus: audio: Update device type based on widget types 2016-04-05 09:39:22 -04:00
audio_gb.c greybus: audio: Fix sparse warnings 2016-02-02 21:26:32 -08:00
audio_manager_module.c greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_manager_private.h greybus: audio: Add Audio Manager 2016-01-13 16:12:56 -08:00
audio_manager_sysfs.c greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_manager.c greybus: audio_manager: add missing header 2016-02-03 10:38:54 -08:00
audio_manager.h greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_module.c greybus: audio: Update device type based on widget types 2016-04-05 09:39:22 -04:00
audio_topology.c greybus: audio: Update device type based on widget types 2016-04-05 09:39:22 -04:00
bootrom.c greybus: bootrom: fix typo 2016-04-21 11:43:35 +09:00
bootrom.h greybus: firmware: Rename to bootrom protocol 2016-04-04 21:19:06 -07:00
bundle.c greybus: core: defer connection creation to driver probe 2016-01-21 22:45:09 -08:00
bundle.h greybus: interface: clean up device-id handling 2016-03-30 14:23:19 -07:00
camera.c greybus: camera-gb: Remove hardcode for CSI TX number of lanes 2016-04-21 11:19:28 +09:00
connection.c greybus: interface: clean up ES3-bootroom-quirk handling 2016-03-30 14:17:40 -07:00
connection.h greybus: connection: add functions to get/set private data 2016-03-22 16:47:28 -04:00
control.c greybus: control: return error pointer when failing to create control device 2016-04-21 10:09:03 +09:00
control.h greybus: interface: move vendor and product strings to control device 2016-04-21 10:09:03 +09:00
core.c greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
debugfs.c greybus: core: add device prefix to error messages 2016-02-11 21:44:17 -08:00
devices
es2.c greybus: es2: move ap_disconnect() below ap_probe() 2016-04-21 16:11:15 +09:00
gb-camera.h greybus: camera-gb: Extend the configure streams interface 2016-04-11 18:47:57 -07:00
gpbridge.c greybus: manifest: reserve the Bridged PHY class 2016-03-03 13:52:10 -08:00
gpbridge.h greybus: gpbridge.h: move protocol init/exit prototypes 2016-03-03 13:52:02 -08:00
gpio.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
greybus_id.h greybus: fix vendor and product matching 2015-11-21 17:15:35 -08:00
greybus_manifest.h greybus: firmware: Rename to bootrom protocol 2016-04-04 21:19:06 -07:00
greybus_protocols.h greybus: svc: add AP power measurements debugfs support 2016-04-21 10:50:56 +09:00
greybus_trace.h greybus: greybus_trace: Fix broken greybus ftrace 2016-03-22 00:31:31 -04:00
greybus.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
hd.c greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
hd.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
hid.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
i2c.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
interface.c greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
interface.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
kernel_ver.h greybus: power_supply: reverse version check for new psy API 2016-03-16 21:49:31 -07:00
legacy.c greybus: power_supply: convert to bundle driver 2016-02-15 14:53:43 -08:00
legacy.h greybus: legacy: add legacy-protocol bundle driver 2016-01-19 12:12:40 -08:00
LICENSE
light.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
loopback.c greybus: Ensure gb->mutex is held when adding timer 2016-03-16 21:49:31 -07:00
Makefile greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
manifest.c greybus: interface: move vendor and product strings to control device 2016-04-21 10:09:03 +09:00
manifest.h
module.c greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
module.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
operation.c greybus: operation: add support for short responses 2016-02-25 16:26:58 -08:00
operation.h greybus: operation: add support for short responses 2016-02-25 16:26:58 -08:00
power_supply.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
protocol.c greybus: connection: move legacy-protocol handling to legacy driver 2016-01-19 12:17:13 -08:00
protocol.h greybus: gpbridge.h: move protocol init/exit prototypes 2016-03-03 13:52:02 -08:00
pwm.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
raw.c greybus: raw: use hexadecimal notation for request types 2016-03-03 10:02:48 -08:00
README
sdio.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
spi.c greybus: spi: use timeout request send operation 2016-04-21 08:34:00 +09:00
svc_watchdog.c greybus: svc watchdog: Disable watchdog upon entering suspend 2016-04-15 14:42:53 -07:00
svc.c greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
svc.h greybus: svc: add AP power measurements debugfs support 2016-04-21 10:50:56 +09:00
uart.c greybus: uart: Update line coding settings only when needed 2016-04-21 10:33:47 +09:00
usb.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
vibrator.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00

Greybus kernel code

To build against the running kernel (odds are you don't want this):
	make

To build against a specific kernel source tree (odds are you want this):
	KERNELDIR=/home/some/random/place make

Any questions / concerns about this code base, please email:
	Greg Kroah-Hartman <greg@kroah.com>