This patchset adds the components of the Media Oriented Systems Transport (MOST) driver to the kernel's driver staging area and adapts the build system accordingly. By including this driver Linux applications will be able to access a MOST network: The Automotive Information Backbone and the de-facto standard for high-bandwidth automotive multimedia networking. MOST defines the protocol, hardware and software layers necessary to allow for the efficient and low-cost transport of control, real-time and packet data using a single medium (physical layer). Media currently in use are fiber optics, unshielded twisted pair cables (UTP) and coax cables. MOST also supports various speed grades up to 150 Mbps. For more information on MOST, visit the MOST Cooperation website: www.mostcooperation.com. Cars continue to evolve into sophisticated consumer electronics platforms, increasing the demand for reliable and simple solutions to support audio, video and data communications. MOST can be used to connect multiple consumer devices via optical or electrical physical layers directly to one another or in a network configuration. As a synchronous network, MOST provides excellent Quality of Service and seamless connectivity for audio/video streaming. Therefore, the driver perfectly fits to the mission of Automotive Grade Linux to create open source software solutions for automotive applications. The driver consists basically of three layers. The hardware layer, the core layer and the application layer. The core layer consists of the core module only. This module handles the communication flow through all three layers, the configuration of the driver, the configuration interface representation in sysfs, and the buffer management. For each of the other two layers a selection of modules is provided. These modules can arbitrarily be combined to meet the needs of the desired system architecture. A module of the hardware layer is referred to as an HDM (hardware dependent module). Each module of this layer handles exactly one of the peripheral interfaces of a network interface controller (e.g. USB, MediaLB, I2C). A module of the application layer is referred to as an AIM (application interfacing module). The modules of this layer give access to MOST via one the following ways: character devices, ALSA, Networking or V4L2. To physically access MOST, an Intelligent Network Interface Controller (INIC) is needed. For more information on available controllers visit: www.microchip.com Christian Gromm (9): Staging: most: add MOST driver's core module Staging: most: add MOST driver's aim-cdev module Staging: most: add MOST driver's aim-network module Staging: most: add MOST driver's aim-sound module Staging: most: add MOST driver's aim-v4l2 module Staging: most: add MOST driver's hdm-dim2 module Staging: most: add MOST driver's hdm-i2c module Staging: most: add MOST driver's hdm-usb module Staging: most: add MOST driver's documentation drivers/staging/Kconfig | 2 + drivers/staging/Makefile | 1 + .../most/Documentation/ABI/sysfs-class-most.txt | 181 ++ .../staging/most/Documentation/driver_usage.txt | 180 ++ drivers/staging/most/Kconfig | 30 + drivers/staging/most/Makefile | 8 + drivers/staging/most/TODO | 8 + drivers/staging/most/aim-cdev/Kconfig | 12 + drivers/staging/most/aim-cdev/Makefile | 4 + drivers/staging/most/aim-cdev/cdev.c | 527 ++++++ drivers/staging/most/aim-network/Kconfig | 12 + drivers/staging/most/aim-network/Makefile | 4 + drivers/staging/most/aim-network/networking.c | 567 ++++++ drivers/staging/most/aim-network/networking.h | 23 + drivers/staging/most/aim-sound/Kconfig | 12 + drivers/staging/most/aim-sound/Makefile | 4 + drivers/staging/most/aim-sound/sound.c | 758 ++++++++ drivers/staging/most/aim-v4l2/Kconfig | 12 + drivers/staging/most/aim-v4l2/Makefile | 6 + drivers/staging/most/aim-v4l2/video.c | 634 +++++++ drivers/staging/most/hdm-dim2/Kconfig | 15 + drivers/staging/most/hdm-dim2/Makefile | 5 + drivers/staging/most/hdm-dim2/dim2_errors.h | 67 + drivers/staging/most/hdm-dim2/dim2_hal.c | 919 ++++++++++ drivers/staging/most/hdm-dim2/dim2_hal.h | 124 ++ drivers/staging/most/hdm-dim2/dim2_hdm.c | 964 ++++++++++ drivers/staging/most/hdm-dim2/dim2_hdm.h | 26 + drivers/staging/most/hdm-dim2/dim2_reg.h | 176 ++ drivers/staging/most/hdm-dim2/dim2_sysfs.c | 116 ++ drivers/staging/most/hdm-dim2/dim2_sysfs.h | 39 + drivers/staging/most/hdm-i2c/Kconfig | 12 + drivers/staging/most/hdm-i2c/Makefile | 3 + drivers/staging/most/hdm-i2c/hdm_i2c.c | 451 +++++ drivers/staging/most/hdm-usb/Kconfig | 14 + drivers/staging/most/hdm-usb/Makefile | 4 + drivers/staging/most/hdm-usb/hdm_usb.c | 1442 +++++++++++++++ drivers/staging/most/mostcore/Kconfig | 13 + drivers/staging/most/mostcore/Makefile | 3 + drivers/staging/most/mostcore/core.c | 1931 ++++++++++++++++++++ drivers/staging/most/mostcore/mostcore.h | 316 ++++ 40 files changed, 9625 insertions(+) create mode 100644 drivers/staging/most/Documentation/ABI/sysfs-class-most.txt create mode 100644 drivers/staging/most/Documentation/driver_usage.txt create mode 100644 drivers/staging/most/Kconfig create mode 100644 drivers/staging/most/Makefile create mode 100644 drivers/staging/most/TODO create mode 100644 drivers/staging/most/aim-cdev/Kconfig create mode 100644 drivers/staging/most/aim-cdev/Makefile create mode 100644 drivers/staging/most/aim-cdev/cdev.c create mode 100644 drivers/staging/most/aim-network/Kconfig create mode 100644 drivers/staging/most/aim-network/Makefile create mode 100644 drivers/staging/most/aim-network/networking.c create mode 100644 drivers/staging/most/aim-network/networking.h create mode 100644 drivers/staging/most/aim-sound/Kconfig create mode 100644 drivers/staging/most/aim-sound/Makefile create mode 100644 drivers/staging/most/aim-sound/sound.c create mode 100644 drivers/staging/most/aim-v4l2/Kconfig create mode 100644 drivers/staging/most/aim-v4l2/Makefile create mode 100644 drivers/staging/most/aim-v4l2/video.c create mode 100644 drivers/staging/most/hdm-dim2/Kconfig create mode 100644 drivers/staging/most/hdm-dim2/Makefile create mode 100644 drivers/staging/most/hdm-dim2/dim2_errors.h create mode 100644 drivers/staging/most/hdm-dim2/dim2_hal.c create mode 100644 drivers/staging/most/hdm-dim2/dim2_hal.h create mode 100644 drivers/staging/most/hdm-dim2/dim2_hdm.c create mode 100644 drivers/staging/most/hdm-dim2/dim2_hdm.h create mode 100644 drivers/staging/most/hdm-dim2/dim2_reg.h create mode 100644 drivers/staging/most/hdm-dim2/dim2_sysfs.c create mode 100644 drivers/staging/most/hdm-dim2/dim2_sysfs.h create mode 100644 drivers/staging/most/hdm-i2c/Kconfig create mode 100644 drivers/staging/most/hdm-i2c/Makefile create mode 100644 drivers/staging/most/hdm-i2c/hdm_i2c.c create mode 100644 drivers/staging/most/hdm-usb/Kconfig create mode 100644 drivers/staging/most/hdm-usb/Makefile create mode 100644 drivers/staging/most/hdm-usb/hdm_usb.c create mode 100644 drivers/staging/most/mostcore/Kconfig create mode 100644 drivers/staging/most/mostcore/Makefile create mode 100644 drivers/staging/most/mostcore/core.c create mode 100644 drivers/staging/most/mostcore/mostcore.h -- 1.7.9.5 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel