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 for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 14 Sep 2016 12:09:49 +0200
From:   Greg KH <gregkh@...uxfoundation.org>
To:     Arnd Bergmann <arnd@...db.de>, linux-kernel@...r.kernel.org
Cc:     Johan Hovold <johan@...oldconsulting.com>,
        Rui Miguel Silva <rmfrfs@...il.com>,
        Laurent Pinchart <laurent.pinchart@...asonboard.com>,
        Sandeep Patil <sspatil@...gle.com>,
        Matt Porter <mporter@...nel.crashing.org>,
        John Stultz <john.stultz@...aro.org>,
        Rob Herring <robh@...nel.org>,
        Viresh Kumar <viresh.kumar@...aro.org>,
        Alex Elder <elder@...aro.org>, David Lin <dtwlin@...gle.com>,
        Bryan O'Donoghue <pure.logic@...us-software.ie>,
        Vaibhav Agarwal <vaibhav.agarwal@...aro.org>,
        Mark Greer <mgreer@...malcreek.com>
Subject: [GIT PULL] Greybus driver subsystem for 4.9-rc1

"'tis but a scratch" - The Black Knight

Hi all,

As many of you know, I, and lots of other developers, have been working
on a new application level protocol for the Unipro hardware transport
called "Greybus".  It has shown up in numerous demos from Google for the
Ara Phone platform, and an older version of the codebase is currently
shipping in a phone from Motorola any-day-now.  There is a
semi-up-to-date version of the protocol specification available at:
	https://github.com/projectara/greybus-spec
A newer version should be available soon, matching the code
implementation here, as soon as I work through a few final details with
some lawyers on the wording of the license.

Many other software packages to help out with greybus devices are on
that github project page (manfest generator, emulator, firmware
examples, etc.), if people are interested.

Given that it's never a good idea to keep subsystems out of the mainline
kernel, I've put together this pull request that adds the greybus driver
layer to drivers/greybus/.  Because this was 2 1/2 years of work, with
many many developers contributing, I didn't want to flatten all of their
effort into a few small patches, as that wouldn't be very fair.  So I've
built a git tree with all of the changes going back to the first commit,
and merged it into the kernel tree, just like btrfs was merged into the
kernel.

The protocol design, and implementation, was a group effort, and it would
not have turned out well at all without the contributions of all of
these talented developers.

I'll send out a follow-up set of "simple" patches that just add the
files to the kernel tree, to give people an idea of the code involved.
Overall, it's a tiny stand-alone driver subsystem, only 37k lines, that
implements a protocol which allows for "generic" cameras, audio devices,
and other class type devices, as well as a bridged "physical" layer
protocol to talk to serial, spi, uart, pwm, gpio, i2c, and even USB host
controllers.  Included here is a USB bridge host controller driver that
interacts with a USB device that converts USB data to Unipro data,
allowing any system to talk to a Unipro platform (no special SoC
interface required.)

Unless people point out some major problems with this, I'd like to get
it merged into 4.9-rc1.

The shortlog and diffstat can be seen below.

If anyone has any questions about this, please let us know.

thanks,

greg k-h

---------------

The following changes since commit c6935931c1894ff857616ff8549b61236a19148f:

  Linux 4.8-rc5 (2016-09-04 14:31:46 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/ greybus

for you to fetch changes up to f86bfc90a401681838866b5f6826d86cc4c7010c:

  greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h (2016-09-09 13:27:19 +0200)

----------------------------------------------------------------
Akash Choudhari (1):
      greybus: Revert "Added a sysfs entry to power down the SVC"

Alex Elder (345):
      greybus: uart-gb: improve minor device number error checking
      greybus: uart-gb: a few minor bug fixes
      greybus: switch to the term "manifest"
      greybus: define struct greybus_manifest
      greybus: call put_device() on error
      greybus: interpret descriptor type properly
      greybus: validate descriptor sizes
      greybus: fix manifest parsing size bug
      greybus: simple fixes
      greybus: rename struct greybus_device
      greybus: quick fix for sysfs serial number
      greybus: get rid of a weird idiom
      greybus: embed workqueue structure in struct gbuf
      greybus: encapsulate URB status checking
      greybus: some more renames
      greybus: update a few header file comments
      greybus: fix document version number
      greybus: fix the guard in "greybus_manifest.h"
      greybus: descriptor type is 1 byte
      greybus: fix version check
      greybus: reorder greybus_svc_in() arguments
      greybus: kill struct gmod_cport
      greybus: clarify device vs module
      greybus: descriptor type updates
      greybus: isolate greybus module code
      greybus: define greybus interface abstraction
      greybus: define greybus function abstraction
      greybus: introduce a connection abstraction
      greybus: introduce an operation abstraction
      greybus: start improving manifest parsing
      greybus: manifest interface descriptor parsing
      greybus: manifest cport descriptor parsing
      greybus: kill off old manifest code
      greybus: fix connection header declarations
      greybus: October 1 updates
      greybus: create host device cport id map
      greybus: allocate connection host cport id
      greybus: get rid of functions now...
      greybus: record connection protocol
      greybus: fix some hasty bugs
      greybus: fix greybus_class_type symbol names
      greybus: use ida for cport id allocation
      greybus: fix module setup
      greybus: gbuf: have caller set actual_length
      greybus: specify type when creating an operation
      greybus: add a connection->private field
      greybus: define gb_connection_err()
      greybus: fix two misnamed functions
      greybus: bury some dead code
      greybus: add bg_hd_connection_find()
      greybus: look up connection for recevied messages
      greybus: allocate gbufs using the connection
      greybus: use alloc_gbuf_data() for both directions
      greybus: kill __alloc_gbuf()
      greybus: get rid of gbuf->hdpriv
      greybus: don't assume subdevs are valid
      greybus: unlock gbuf mutex on free
      greybus: unlock hd mutex on free
      greybus: don't restrict input buffer size
      greybus: zero all data buffers
      greybus: drop hd arg from submit_gbuf method
      greybus: stop init_subdevs stuff
      greybus: add response buffer to an operation
      greybus: add gb_operation_find()
      greybus: let operation layer examine incoming data
      greybus: move receive handling to operation layer
      greybus: add device initialization
      greybus: kill off gbuf work queue
      greybus: kill old cport handlers
      greybus: add i2c driver
      greybus: initial operations-based GPIO driver
      greybus: add write retry support for i2c
      greybus: update gbuf status for completion handlers
      greybus: report gbuf errors
      greybus: properly drop device reference
      greybus: create a slab cache for operations
      greybus: drop gb_* device fields from gb_module
      greybus: remove cports and strings from gb_module
      greybus: move ap_disconnect()
      greybus: leverage ap_disconnect() in ap_probe()
      greybus: fix op_cycle logic
      greybus: stash power supply pointer in connection
      greybus: improve module cleanup code
      greybus: time out operation requests
      greybus: define operation_cancel()
      greybus: define connection state
      greybus: make svc_set_route_send() public
      greybus: only initialize interfaces when up
      greybus: set route before sending packets
      greybus: update AP id service message
      greybus: fix repeated input errors
      greybus: gpio: kill gpio_controller->gpio
      greybus: embed the i2c adapter struct
      greybus: begin abstracting connection operations
      greybus: drop the cport id on error
      greybus: use protocol_id for numeric values
      greybus: introduce protocol abstraction
      greybus: fix a bug in gb_operation_gbuf_complete()
      greybus: drop a redundant assignment
      greybus: make _gb_protocol_find() static
      greybus: control printing message
      greybus: improve some error messages
      greybus: identify protocol by id *and* version
      greybus: count rather than list protocol users
      greybus: order the protocols list
      greybus: register preallocated protocols
      greybus: move methods into protocol
      greybus: add an incoming request receive method
      greybus: kill test_sink.c
      greybus: kill old cport handler code
      greybus: get rid of gbuf->actual_length
      greybus: record gbuf->operation
      greybus: remove gbuf->context
      greybus: get rid of greybus_gbuf_finished()
      greybus: move gb_operation_gbuf_complete()
      greybus: kill gbuf->complete
      greybus: don't assume PAGE_SIZE for URB size
      greybus: fix request timeout bug
      greybus: move timeout out of gb_operation_insert()
      greybus: simplify pending operations tracking
      greybus: op_cycle doesn't need to be atomic
      greybus: pass operation type on request receive
      greybus: move operation timeout teardown
      greybus: delete some lines in "greybus.h"
      greybus: kill gb_operation_gbuf_complete()
      greybus: clean up gb_connection_operation_recv()
      greybus: reference count operations
      greybus: record a gbuf's destination CPort id
      greybus: use gbuf's destination cport id
      greybus: record the host device in a gbuf
      greybus: use a simple list of hd connections
      greybus: get rid of cport_id_map_lock
      greybus: kill greybus_{get,put}_gbuf()
      greybus: kill gbuf->kref
      greybus: move the definition of struct gbuf
      greybus: define struct gb_message
      greybus: start using struct gb_message
      greybus: move gbuf initialization to caller
      greybus: use null gbuf->transfer_buffer
      greybus: embed gbufs into operation message structure
      greybus: kill the gbuf slab cache
      greybus: kill off the last of gbuf.c
      greybus: fix an allocation flag bug
      greybus: prepend cport byte for all gbufs
      greybus: improve data buffer alignment
      greybus: fill in destination data at send time
      greybus: allocate space without gbufs
      greybus: free space without gbufs
      greybus: cancel buffers via magic cookie
      greybus: stash hd as context for all URBs
      greybus: send buffers without gbufs
      greybus: rework message initialization
      greybus: send messages, not gbufs
      greybus: cancel messages, not gbufs
      greybus: rework receve handling
      greybus: kill the last gbuf remnants
      greybus: stop storing hd in message
      greybus: stop storing dest_cport_id in message
      greybus: pass gfp_flags for message allocation
      greybus: explicitly mark cookies as opaque
      greybus: tidy up svc_in_callback() and cport_in_callback()
      greybus: get rid of message status
      greybus: use "operation_id" for certain values
      greybus: refactor gb_connection_recv()
      greybus: fix battery_operation()
      greybus: fix uart request_operation()
      greybus: fix vibrator request_operation()
      greybus: get rid of uart request_operation()
      greybus: distinguish incoming from outgoing requests
      greybus: send operation result in response message header
      greybus: define gb_operation_status_map()
      greybus: remove status from all responses
      greybus: drop a now-empty structure
      greybus: fix a timeout race
      greybus: complete overflow responses
      greybus: have greybus allocate its own buffers
      greybus: rename message buffer fields
      greybus: dynamically allocate requests and responses
      greybus: embed message buffer into message structure
      greybus: define greybus_data_sent()
      greybus: rename greybus_cport_in()
      greybus: use errno for operation result
      greybus: abandon incoming requests for now
      greybus: handle data send errors in workqueue
      greybus: add a reference to pending operations
      greybus: minor tweak in gb_connection_recv_response()
      greybus: cancel operation on timeout
      greybus: cancel whole operation on interrupt
      greybus: kill gb_operation_wait()
      greybus: rework synchronous operation completion
      greybus: encapsulate operation result access
      greybus: first operation error prevails
      greybus: use special operation result valus
      greybus: fix some error codes
      greybus: enforce receive buffer size
      greybus: update operation result atomically
      greybus: ignore a null cookie when canceling buffer
      greybus: protect cookie with a mutex
      greybus: use outgoing flag when creating operation
      greybus: enforce max representable message size
      greybus: define -EILSEQ to mean implementation error
      greybus: renumber operation result values
      greybus: drop gfp_mask from gb_message_send()
      greybus: always drop reference in gb_operation_work()
      greybus: move copy of incoming request data
      greybus: short message is OK for errors
      greybus: pass result in gb_connection_recv_response()
      greybus: enforce non-zero operation type requirement
      greybus: use operation type 0 to signal incoming data
      greybus: introduce gb_operation_message_init()
      greybus: enforce a buffer headroom maximum size
      greybus: create a slab cache for simple messages
      greybus: set result in gb_operation_response_send()
      greybus: activate incoming request handling
      greybus: introduce gb_operation_errno_map()
      greybus: send operation response messages
      greybus: use little-endian in PWM requests
      greybus: fix a bug in gb_operation_sync()
      greybus: define the invalid operation type symbolically
      greybus: don't use 0 as an operation id
      greybus: get rid of pending operations list
      greybus: make op_cycle atomic (again)
      greybus: introduce gb_operation_request_send_sync()
      greybus: fix an error message
      greybus: set up connection->private properly
      greybus: don't let i2c code assume non-null payload pointer
      greybus: only record message payload size
      greybus: use null pointer for empty payload
      greybus: record type in operation structure
      greybus: define GB_OP_NONEXISTENT
      greybus: ENODEV can be an expected error too
      greybus: switch cport id used for sends
      greybus: add Linaro copyrights
      greybus: clean up some small messes
      greybus: get rid of {conceal,reveal}_urb()
      greybus: manifest: use size_t for a size variable
      greybus: es1: test apb1_log_task safely
      greybus: es2: test apb1_log_task safely
      greybus: reduce the ranting
      greybus: bundle: use kstrdup() for state file
      greybus: battery: free struct on error in caller
      greybus: battery: use feature tag rather than kernel version
      greybus: eliminate extra response flag definitions
      greybus: loopback: fix the type attribute check
      greybus: loopback: return the right error value
      greybus: loopback: fix an incorrect comment
      greybus: loopback: symbolically define max wait time
      greybus: loopback: define loopback functions symbolically
      greybus: loopback: support module-initiated requests
      greybus: endo: rename gb_svc
      greybus: endo: pass endo_id to gb_endo_create()
      greybus: core: return error code when creating endo
      greybus: core: return error code when creating host device
      greybus: include "gpbridge.h" from "greybus.h"
      greybus: rename "gpbridge.h"
      greybus: endo: encapsulate computing the max interface id
      greybus: endo: rework some attributes
      greybus: endo: record AP interface id
      greybus: core: don't set up endo until host device is initialized
      greybus: add copyright statements
      greybus: update copyrights
      greybus: introduce SVC protocol
      greybus: greybus_protocols: fix guard tag
      greybus: add documentation for Endo sysfs files
      greybus: update sysfs documentation files
      greybus: endo: drop redundant prefixes from sysfs basenames
      greybus: endo: delete "0xXXXX" portion in sysfs "endo" directory
      greybus: svc: driver is basic to Greybus (not GP Bridge)
      greybus: connection: make gb_connection_hd_find() private
      greybus: uart: properly interpret receive data size
      greybus: core: rename greybus_deregister()
      greybus: manifest: clean up a few pr_err() calls
      greybus: drop some unnecessary headers
      greybus: tag core init and exit functions
      greybus: endo: define endo_init() and endo_exit()
      greybus: endo: clean up id assignment code
      greybus: manifest: really minor cleanups
      greybus: manifest: use bundle's embedded interface pointer
      greybus: manifest: rework cport parsing
      greybus: manifest: rework bundle parsing
      greybus: bundle: check for duplicate bundle ids
      greybus: connection: check for duplicate cport ids
      greybus: connection: remove extra kfree() call
      greybus: connection: drop unneeded gb_protocol_put() calls
      greybus: connection: un-abstract host cport id allocation
      greybus: manifest: clean up properly when parsing cports
      greybus: bundle: refactor gb_bundle_find()
      greybus: bundle: fix gb_bundle_destroy()
      greybus: manifest: clean up properly when parsing bundles
      greybus: introduce cport_id_valid()
      greybus: esX: encapsulate packing cport id into header
      greybus: rename HOST_DEV_CPORT_ID_MAX
      greybus: reserve host cport id 0
      greybus: esX: use one byte to encode cport ids in header
      greybus: interface: declare gb_interface_destroy()
      greybus: looback: fix two typos
      greybus: loopback: drop unneeded casts for void pointers
      greybus: loopback: use U64_MAX for initialization
      greybus: loopback: use u32 for stats update
      greybus: loopback: record 32-bit min and max
      greybus: loopback: use a 32-bit count
      greybus: loopback: error is an unsigned attribute
      greybus: loopback: all read-only attributes are unsigned
      greybus: loopback: use separate attribute macro for average
      greybus: loopback: compute average stats on demand only
      greybus: loopback: fix connection cleanup paths
      greybus: kernel_ver.h: define U32_MAX and U64_MAX
      greybus: db3-platform: fix code that fetches reset GPIO
      greybus: db3-platform: fix some typos
      greybus: db3-platform: get rid of redundant gpio tests
      greybus: es2: rename es2 data structures
      greybus: es2: move APB log task into the es2_ap_dev struct
      greybus: es2: move logging fifo into es2 struct
      greybus: es2: move logging dentries into es2 struct
      greybus: es2: don't assume just one AP bridge
      greybus: connection: verify disabled when destroyed
      greybus: add operation traces
      greybus: tracing: define events using macros
      greybus: tracing: eliminate "location" comments
      greybus: tracing: refine comments
      greybus: tracing: fix a bad tracepoint
      greybus: tracing: fix hd traces
      greybus: tracing: add module traces
      greybus: tracing: define interface traces
      greybus: report right error value
      greybus: fix unbalanced mutex
      greybus: eliminate unneeded null check
      greybus: fix pointless null check
      greybus: use PTR_ERR_OR_ZERO()
      greybus: drop a bogus semicolon
      greybus: tracing: fix "make check" warnings
      greybus: define BUNDLE_ID_NONE
      greybus: tracing: fix host device num_cports
      greybus: tracing: reorder trace definitions
      greybus: tracing: fix module num_interfaces
      greybus: tracing: assign "parent" id first
      greybus: tracing: add interface mode_switch
      greybus: tracing: define bundle traces
      greybus: tracing: define connection traces
      greybus: tracing: add timing traces
      greybus: tracing: fix message traces
      greybus: don't key on an enumerated constant
      greybus: tracing: drop "greybus" prefix
      greybus: get rid of a compile warning
      greybus: use memdup_user()

Alexandre Bailon (29):
      greybus: i2c-gb: fix bad message size in gb_i2c
      greybus: protocol.c: fix a kernel panic caused by __gb_protocol_register
      greybus: gpio.c: fix a bad irq number
      greybus: Export greybus debugfs folder
      greybus: Dump log from APB1
      greybus: Add loopback protocol
      greybus: es1.c: Don't use magic value for USB control request
      greybus: es2.c: Don't use magic value for USB control request
      greybus: es2.c: create dedicated struct for cport_in and cport_out
      greybus: es2.c: Increase the number of bulk endpoints
      greybus: es2.c: add a control request for endpoints mapping
      greybus: es1/es2: set transfer flag to send a zero-length packet
      greybus: Greybus driver: add a new callbacks to driver
      greybus: es2: update the bulk_ep_set value accepted by map_to_cpor_ep()
      greybus: es2: rename misnamed variables and methods
      greybus: es2: change (un)map methods to static
      greybus: es2: add some documentation about endpoints mapping
      greybus: loopback: fix invalid response size
      greybus: gb_loopback: Fix throughput calculations
      greybus: loopback: Fix calculations error for ping transfers
      greybus: loopback: Fix incoherency in calculations in the case of error
      greybus: loopback: Fix throughput calculations
      greybus: loopback: Fix averaging
      greybus: loopback: Fix warning on 32-bit build
      greybus: loopback: round closest the sixth decimal
      greybus: loopback: Fix broken synchonous test
      greybus: loopback: Fix broken loopback min values
      greybus: es2: Add a new bulk in endpoint for APBridgeA RPC
      greybus: es2: Implement APBridgeA RPC (ARPC)

Ann Chen (2):
      greybus: vibrator: integrate runtime pm
      greybus: Add workqueue to handle vibrator timeout

Axel Haslam (24):
      greybus: greybus/loopback: remove mask attribute
      greybus: greybus/loopback: register a struct device.
      greybus: loopback_test: make output to csv file a parameter option
      greybus: loopback_test: Decrease the max number of devices
      greybus: greybus/loopback: Add reserved fields to transfer request
      greybus: Notify user space only when the test finished.
      greybus: Loopback_test: use poll instead of inotify
      greybus: loopback_test: Use timeout argument
      greybus: loopback_test: handle SIGINT signal
      greybus: uart: Update line coding settings only when needed
      greybus: uart fix missing negation on DTR setting
      greybus: Fix loopback app after rename to gpphy
      greybus: uart: Handle CRTSCTS flag in termios
      greybus: uart: Implement dtr_rts callback.
      greybus: uart: Use a fifo to send data to the modules
      greybus: uart: Add credits based tracking for transmit path
      greybus: uart: Implement flush_buffer
      greybus: uart: wait for credits on shutdown
      greybus: uart: Add runtime pm support
      greybus: gpio: Add runtime_pm suppourt
      greybus: pwm: Add runtime_pm support
      greybus: spi: Add runtime_pm support
      greybus: loopback: add runtime pm support
      greybus: gbphy: fix compile error with CONFIG_PM_RUNTIME disabled

Bartosz Golaszewski (4):
      greybus: loopback: allocate a response even for a 0-byte request
      greybus: legacy: fix a null pointer dereference
      greybus: audio_manager: add missing header
      greybus: pm: add error handling to bundle activation

Bill Pemberton (3):
      greybus: gb-vibrator: remove useless if in timeout_store()
      greybus: Add FIXME warnings for possible NULL dereferences
      greybus: gpio-gb: remove checks for negative offset variable

Bryan O'Donoghue (132):
      greybus: Support building greybus on host PC
      greybus: uart: Move UART protocol structs/defines to greybus_protocols.h
      greybus: uart: Tidy naming convention to more closely match spec
      greybus: uart: Reduce UART count from 255 to 16
      greybus: uart: Update uart.c to register tty ports
      greybus: uart: send_data should return size or error
      greybus: uart: kmalloc for send_data once only
      greybus: uart: Add gb_uart_request_recv for receiving async UART data
      greybus: uart: Remove magic numbers make struct gb_tty variable names consistent
      greybus: uart: Latch modem control signals for tciomget
      greybus: greybus/uart: Fix sparse warning
      greybus: greybus/uart: Relocate UART parity/overrun/framing/break signals
      greybus: greybus/uart: Add support for UART error signals
      greybus: greybus/uart: Update UART to reflect field size changes
      greybus: greybus/loopback: Move loopback operation definitions
      greybus: greybus/loopback: remove magic number in state-machine
      greybus: greybus/loopback: remove spurious pr_err in sysfs store
      greybus: greybus/loopback: make loopback type input equivalent to protocol type
      greybus: greybus/loopback: add sink to loopback protocol
      greybus: greybus/loopback: truncate maximum loop data to link size
      greybus: greybus/loopback: update throughput metrics to improve granularity
      greybus: greybus/loopback: fix broken tabs in greybus_protocols.h
      greybus: greybus/loopback: fix 64bit printf format error
      greybus: greybus/uart: fix typo in defintion
      greybus: greybus/manifest: reserve control connection cport/bundle ids
      greybus: greybus/manifest: convert pr_err to dev_err
      greybus: greybus/loopback: timestamp seeding should not drop metrics
      greybus: greybus/loopback: update loopback operation description comment
      greybus: greybus/loopback: run operations a set number of times
      greybus: greybus/loopback: add commentary to sysfs variables
      greybus: greybus/loopback: rename frequency to requests
      greybus: greybus/loopback: convert loopback wake/sleep to a waitqueue
      greybus: greybus/loopback: remove redundant timestamping
      greybus: greybus/loopback: make loopback code thread safe
      greybus: greybus/loopback: provide interface to read all latency data-points
      greybus: greybus/loopback: warn user if kfifo cannot log all data
      greybus: greybus/connection: fix jump label on device_add failure
      greybus: greybus/connection: add a timestamp kfifo to track connection handoff
      greybus: greybus/es-drivers: add outbound timestamp to connection
      greybus: greybus/loopback: functionally decompose calculation of turn-around times
      greybus: greybus/loopback: handle timestamp roll-over
      greybus: greybus/interface: change typo replicable => replaceable
      greybus: greybus/loopback: add ability to graph greybus latency
      greybus: greybus/loopback: convert sample report interface to debugfs
      greybus: greybus/loopback: support synchronized tests over multiple cports
      greybus: greybus/loopback: add gb_loopback_nsec_to_usec_latency
      greybus: greybus/loopback: functionally decompose gb_loopback_calc_latency
      greybus: greybus/loopback: graph round-trip time for all threads
      greybus: greybus/loopback: add bitmask of connections to include in test
      greybus: greybus/loopback: initialized ms_wait negate warning
      greybus: greybus/loopback: remove checkpatch error causing macro
      greybus: greybus/loopback: add module level sys/debug fs data points
      greybus: greybus/loopback: fix typo in comment
      greybus: greybus/loopback: make sure to list_del on connection_exit
      greybus: greybus/loopback: ensure count decrement happens before sysfs_remove_groups
      greybus: greybus/loopback: hold a coarse lock while init/exit run
      greybus: greybus/loopback: exit kfree after mutex release
      greybus: greybus/loopback: ensure debugfs entires are cleaned up on exit
      greybus: greybus/loopback: ensure sysfs entries are cleaned up on exit
      greybus: greybus/loopback: convert pr_info to dev_err
      greybus: greybus/loopback: add response len to loopback protocol
      greybus: greybus/loopback: sort list of connections for masking purposes
      greybus: greybus/loopback: add gb_loopback_operation_sync
      greybus: greybus/loopback: use dev_name to populate sysfsname
      greybus: greybus/tracepoints: add tracepoint definitions
      greybus: greybus/operation, core: hook tracepoints into message opertions
      greybus: greybus/loopback: drop dependency on internal timestamps
      greybus: greybus/tracepoints: add tracepoints for host_device tx/rx
      greybus: greybus/es1, es2: hook tracepoints to hardware send/recv operations
      greybus: greybus/loopback: move sysfs entries to /sys/bus/greybus/devices/endo0
      greybus: greybus/loopback: masked out threads should sleep
      greybus: greybus/loopback: drop redundant endo0 string from debugfs entry name
      greybus: greybus/loopback: remove module specific identifier from debugfs name
      greybus: greybus/loopback: add reserved fields to track firmware latencies
      greybus: greybus/es1,es2: add USB vendor command to timestamp
      greybus: greybus/connection: add latency tag enable/disable callbacks
      greybus: greybus/loopback: send command to APBridge to tag throughput
      greybus: greybus/loopback: add tracker variables to hold firmware timestamps
      greybus: greybus/loopback: capture and present firmware supplied latencies
      greybus: greybus/manifest: fix the placement of arguments to pr_err
      greybus: greybus/audio-pcm: fix use of variable unitialized
      greybus: greybus/loopback: Relax locking during loopback operations
      greybus: greybus/loopback: Move latency_ts initialization to transfer routine
      greybus: greybus/loopback: Drop unused timeval variables
      greybus: greybus/loopback: drop bus aggregate calculation
      greybus: greybus/loopback: Convert cross-thread mutex to spinlock while relaxing connect locks
      greybus: greybus/loopback: Add asynchronous bi-directional support
      greybus: greybus/loopback: Convert thread delay to microseconds
      greybus: greybus/loopback: Ensure we reset stats once and once only
      greybus: greybus/loopback: Drop NULL check on container_of pointer
      greybus: greybus/loopback: Retrun -ENOMEM if operation allocation fails
      greybus: greybus/loopback: Wait for all async operations to complete on exit
      greybus: greybus/loopback: Add asynchronous backoff
      greybus: svc: Change GB_SVC_TYPE_LINK_CONFIG to 0x10
      greybus: greybus/timesync: Add Control and SVC TimeSync command/response data definitions
      greybus: greybus/timesync: Add Control and SVC protocol TimeSync operation definitions
      greybus: greybus/control: Add TimeSync control commands
      greybus: Ensure gb->mutex is held when adding timer
      greybus: Fixup __u64, __u32 to __le64, __le32 in timesync declarations
      greybus: greybus_trace.h: Fix dodgy indentation
      greybus: greybus_protocols.h Add SVC_TIMESYNC_WAKE_PINS_ACQUIRE/RELEASE
      greybus: greybus_protocols.h Add SVC_TIMESYNC_PING
      greybus: arche-platform: Rework platform/wd-line state transition logic
      greybus: svc: Add TimeSync SVC commands
      greybus: control: Add TimeSync get-last-event logic
      greybus: control: Drop unused parameter from timesync_authoritative
      greybus: hd: Add TimeSync APBridge commands
      greybus: interface: Extract and store Interface feature byte
      greybus: es2.c: Declare local __le64 not u64
      greybus: Fix unbalanced irq_enable() backtrace
      greybus: timesync: Add timesync core driver
      greybus: timesync: Bind TimeSync into Greybus
      greybus: tracepoints: Add standard Linux tracepoint for TimeSync event
      greybus: timesync: Add gb_timesync_frame_time_to_timespec()
      greybus: timesync: Add debugfs entry to display frame-ping in ktime
      greybus: uart: Fix minor number leak
      greybus: timesync: Do 64 bit divisions in a 32 friendly way
      greybus: timesync: Do not hold mutex on cancel_delayed_work_sync
      greybus: timesync: Fix transitions to the INACTIVE state
      greybus: timesync: Rework timesync removal serialization logic
      greybus: timesync: Enforce TimeSync locks as subordinate to Interface locks
      greybus: timesync: Initialize the timesync ping fields to zero
      greybus: timesync: Make printout consitent with other greybus messages
      greybus: timesync/pm: Make synchronous call to restore FrameTime
      greybus: greybus_protocols.h/es2: Ensure __le32 is used not u32
      greybus: greybus_protocols.h: convert __u32 to __le32
      greybus: timesync: Bugfix ping should not result in -EAGAIN
      greybus: timesync: reduce initial startup time
      greybus: timesync: probe shouldn't complete until FrameTime sync does
      greybus: timesync: Implement a retry mechanism
      greybus: timesync: Ensure parallel synchronous calls succeed
      greybus: timesync: Printout strobe count on sync failure

David Lin (40):
      greybus: arche-platform: fix incorrect gpio variable type
      greybus: greybus_trace: Fix broken greybus ftrace
      greybus: svc: add Interface power measurements support
      greybus: arche-platform: Power-off unipro subsystem upon suspend
      greybus: svc watchdog: Disable watchdog upon entering suspend
      greybus: es2: Fix apb_log null pointer exception
      greybus: svc: add AP power measurements debugfs support
      greybus: svc: clean up gb_svc struct for pwrmon
      greybus: svc: free pwrmon_rails memory upon exit
      greybus: operation: fix an inconsistent indent
      greybus: legacy: remove legacy driver support
      greybus: legacy: remove protocol.o from the makefile
      greybus: svc: pwrmon: validate svc protocol op status when getting rail names
      greybus: audio: remove the unnecessary return statement
      greybus: control: add bundle suspend and resume preparations
      greybus: control: add bundle deactivate and activate operation
      greybus: control: add interface suspend prepare operation
      greybus: control: add interface deactivate prepare operation
      greybus: control: add interface hibernate abort operation
      greybus: svc: add interface resume operation
      greybus: svc: add power mode call for link hibernation
      greybus: interface: implement unipro link hibernate call
      greybus: control: add connection suspend and resume calls
      greybus: interface: send deactivate prepare when interface is disabled
      greybus: bundle: add activate and deactivate
      greybus: interface: add runtime pm support
      greybus: bundle: add runtime pm support
      greybus: audio: add runtime pm support
      greybus: camera: add runtime pm support
      greybus: gbphy: add gbphy runtime pm support
      greybus: i2c: add runtime pm support
      greybus: hd: arche-platform: implement greybus shutdown
      greybus: timesync: do not print frametime by default
      greybus: operation: print id when synchronous operation timeout
      greybus: svc_watchdog: Add sysfs file to change the behavior of bite
      greybus: audio: add runtime pm to enumerated control and DAPM widget
      greybus: interface: delete control device upon enable failure
      greybus: svc_watchdog: use schedule_delayed_work helper
      greybus: interface: fix timesync registration sequencing
      greybus: light: fix incorrect led attribute files allocation

Dinko Mironov (1):
      greybus: audio: Fix incorrect counting of 'ida'

Eli Sennesh (5):
      greybus: firmware and svc: detect the difference between ES2 and ES3 chips
      greybus: firmware/bootrom: debug output from bootrom protocol
      greybus: operation: rate-limit dev_err printing on the receive path
      greybus: update UniPro Set Interface Power Mode operation to match spec
      greybus: update UniPro Set Interface Power Mode operation to match spec

Evgeniy Borisov (6):
      greybus: camera-gb: Extend the configure streams interface
      greybus: camera-gb: Remove hardcode for CSI TX number of lanes
      greybus: camera-gb: Add description of interface header
      greybus: camera-gb: Extend gb camera module structure
      greybus: camera-gb: Implement camera module reference counting as subject.
      greybus: camera: Add RAW data format

Fabien Parent (15):
      greybus: es2: rename misnamed CPORT_MAX into CPORT_COUNT
      greybus: add num_cports field to greybus hd
      greybus: es2: dynamically allocate array for cport <-> ep mapping
      greybus: es2: get cport count from apb1 usb device
      greybus: es{1,2}: remove control endpoint field
      greybus: connection: fail to bind if connection init fails
      greybus: es{1,2}: remove obselete define
      greybus: es2: implement cport reset control request
      greybus: connection: destroy connection on failing to bind it
      greybus: connection: add api to {en,dis}able unipro fct flow
      greybus: apba: add fct flow usb control requests
      greybus: es2: implement the fct flow control requests
      greybus: connection: {en,dis}able fct flow in connection management
      greybus: camera: disable E2EFC on CSI connection
      greybus: connection: remove CDSI1 hack

Georgi Dobrev (2):
      greybus: Added a sysfs entry to power down the SVC
      greybus: greybus-driver: Add intf_oops operation

Gjorgji Rosikopulos (11):
      greybus: camera: HACK: Export GB camera interface
      greybus: camera: HACK: Register gb camera to the HOST camera
      greybus: camera: Fix backword compatibility in configure streams
      greybus: camera: Add support for configure streams flag in gb interface
      greybus: camera: Update configure stream based on new interface
      greybus: camera: add semiplanar and planar formats
      greybus: camera: Improve module registration mechanism
      greybus: camera: Use pointer for gb camera module ops
      greybus: camera: Add metadata format
      greybus: camera: Add debug data format
      greybus: camera: Rename debug and metadata mbus formats

Greg KH (8):
      greybus: battery: update for 4.1 power supply api changes
      greybus: gb-audio: fix build warning
      greybus: gb-audio: fix build breakage on 4.1-rc1
      greybus: es2: comment out unused functions
      greybus: audio_codec: Don't be tricky with the driver model
      greybus: add bundle class to the bundle uevent
      greybus: svc: double the ping delay timeout
      greybus: camera: only build module against msm kernel

Greg Kroah-Hartman (376):
      greybus: Initial commit
      greybus: Import most recent greybus code to new repo.
      greybus: README and .gitignore updates
      greybus: update README with info on how to build and contact me.
      greybus: i2c-gb: actually add the i2c adapter properly...
      greybus: greybus.h: tiny coding style cleanups
      greybus: Greybus SD/MMC host driver
      greybus: add framework for 'struct gbuf'
      greybus: gpio driver
      greybus: gpio-gb.c: it now builds properly
      greybus: uart framework added, doesn't build
      greybus: uart-gb: more work on tty functions
      greybus: more uart work
      greybus: uart-gb: now builds, more framework added
      greybus: start moving the function types into the greybus core
      greybus: static module_init/exit functions
      greybus: hook up sdio, gpio, and tty into the greybus core.
      greybus: i2c: tie to the proper place on the greybus_device
      greybus: i2c: use same naming convention everywhere
      greybus: gpio: tie into gb core properly
      greybus: sdio: tie into gb core properly
      greybus: uart: tie into gb core properly
      greybus: initial framework for ES1 usb AP driver
      greybus: can't use devm anymore, we aren't tieing into the driver model lifecycle :(
      greybus: actually get the devm() change to build...
      greybus: first framework for the es1 ap controller
      greybus: es1-ap-usb: more init framework added.
      greybus: register the bus with the driver core and add framework for debugfs files.
      greybus: ap message loop added.
      greybus: structures added
      greybus: more structure definitions added
      greybus: split svc msg out into separate header file
      greybus: greybus_desc.h created
      greybus: header file s/u8/__u8/g
      greybus: greybus.h: tiny movement around
      greybus: more changes due to name changes in the greybus document
      greybus: s/greybus_device_id/greybus_module_id/g
      greybus: get field names right for descriptors
      greybus: turn off warnings for es1-ap-usb.c to make it easier to build for now...
      greybus: export gb_new_ap_msg so that the es1 module can use it
      greybus: start parsing descriptor structures
      greybus: start parsing descriptor fields
      greybus: sysfs attributes for functions and more driver core integration.
      greybus: serial number attribute added
      greybus: module id attributes
      greybus: greybus_string()
      greybus: split sysfs functions out to separate file.
      greybus: minor checkpatch cleanups
      greybus: add proper packing to all greybus message types
      greybus: uart-gb: remove unneeded THIS_MODULE setting
      greybus: add es1_ap_desc.c to describe the ES1 USB device descriptors
      greybus: host controller additions
      greybus: more hd work
      greybus: first cut at parsing svc messages sent to the AP
      greybus: add battery module
      greybus: battery FIXME added
      greybus: minor whitespace cleanups to make checkpatch.pl happy
      greybus: es1_ap_desc.c: updated ES1 USB device descriptor
      greybus: es1: finialized USB device structure
      greybus: es1: forgot to free our urb on disconnect
      greybus: pass appropriate type to create function
      greybus: fix endian issue in sysfs.c
      greybus: Fix build errors on older kernels.
      greybus: Merge branch 'master' of github.com:gregkh/greybus
      greybus: AP: move a bunch of svc message handling logic into ap.c
      greybus: es1: add the start of cport urb handling.
      greybus: es1: allocate cport out urbs properly
      greybus: es1: handle cport data in and out
      greybus: ap: convert to workqueue from thread
      greybus: ap: cleanup of process ap message loop
      greybus: Makefile: add 'check' option to run sparse with endian checks enabled
      greybus: es1 endpoint descriptor: minor fixes to get the config right
      greybus: tty driver fixes to get init working properly
      greybus: uart-gb: let the core dynamically allocate the major number
      greybus: core: verify major/minor number of greybus protocol
      greybus: es1: functionally complete
      greybus: devices: endpoint description of device
      greybus: gbuf recieve path work, not done, dinner time...
      greybus: gbuf: cport in buffer stream logic
      greybus: add test_sink driver
      greybus: fix hd init sequence of setting up parent and driver pointers properly
      greybus: es1: set buffer sizes for messages based on email discussions
      greybus: gbuf: implement submission logic
      greybus: gbuf: clean up logic of who owns what "part" of the gbuf
      greybus: svc_msg.h: add data for hotplug message
      greybus: greybus.h: add function prototype for add/remove a module
      greybus: core.c: create empty functions to keep linking working for hotplug/remove
      greybus: ap: start validating the message better
      greybus: ap: validate the rest of the svc message buffer sizes
      greybus: core: hook up the hotplug message
      greybus: fix up coding style issue I caused with the last patch...
      greybus: es1: no BUG_ON() code, report an error and recover.
      greybus: operation: fix endian issue in the operation message header size field.
      greybus: manifest: some minor sparse warning fixups.
      greybus: manifest.c: minor sparse cleanup
      greybus: connection: properly lock idr
      greybus: greybus.h: remove transfer_flags
      greybus: greybus_id.h: checkpatch cleanup
      greybus: svc_msg.h: add bsd license to file so that firmware can use it.
      greybus: greybus_manifest.h: add BSD license so that firmware can share it.
      greybus: greybus_manifest.h: fix up class protocol numbers to match the spec.
      greybus: gpio-gb: allow it to build properly for all current kernel versions.
      greybus: battery-gb: provide accessors for a few more functions
      greybus: battery: some hooking up to the greybus core
      greybus: add LED protocol numbers
      greybus: battery-gb: Add battery communication with the module
      greybus: Merge branch 'gregkh_work' into master
      greybus: battery-gb.c: fix memory leak found by Viresh
      greybus: battery-gb: Allow kernel values to get out of sync with greybus spec
      greybus: module: fix double free of module
      greybus: hook up greybus to the driver model
      greybus: module: enable all sysfs attributes
      greybus: i2c: point to the proper parent device
      greybus: module: don't create duplicate module ids
      greybus: operation: fix some sparse warnings
      greybus: gpio-gb: fix some endian sparse warnings that were real.
      greybus: gbuf: implement gbuf_kill_gbuf()
      greybus: core: check for valid hcd callbacks
      greybus: core: make greybus_kill_gbuf not return a value
      greybus: operation: make the timeout a per-operation thing, not per-connection
      greybus: uart-gb: convert over to the connection interface
      greybus: uart-gb: remove global init functions
      greybus: FIXME/XXX removals: We have proper reference counting now
      greybus: module: remove unneeded XXX comment about module id values
      greybus: kernel_ver.h: add ATTRIBUTE_GROUPS() macro for older kernels
      greybus: uart-gb: mark some functions static
      greybus: battery-gb: remove some #if 0 code
      greybus: sdio-gb: convert to the connection interface.
      greybus: Merge branch 'master' into driver_model_rework
      greybus:  #if 0 cleanups
      greybus: Remove id_table usages
      greybus: es1-ap-usb: document the lack of callback for the outgoing bulk urbs
      greybus: connection: fix up error patch logic in gb_connection_create()
      greybus: Revert "manifest: improve print message"
      greybus: Revert "manifest: remove extra loop for finding module descriptor"
      greybus: skeleton for future uevents.
      greybus: Greybus UART connection driver
      greybus: uart: handle NULL size requests in request_operation()
      greybus: greybus_manifest.h: update with full list of protocols
      greybus: vibrator-gb: add vibrator driver
      greybus: vibrator-gb: fixes based on Marti's review comments.
      greybus: vibrator-gb: proper allocate minor numbers
      greybus: Merge branch 'master' into vibrator-gb
      greybus: vibrator-gb: fix up api changes
      greybus: Merge branch 'master' into vibrator-gb
      greybus: vibrator-gb.c: fix up incorrect comment
      greybus: uart-gb: handle throttle/unthrottle properly
      greybus: uart-gb: fix up typo from previous patch moving the status variable around.
      greybus: pwm-gb.c: fix up missing { } for else
      greybus: add -Wall to the build flags
      greybus: operation: create gb_operation_sync for sending "simple" messages
      greybus: battery-gb: convert to use gb_operation_sync
      greybus: vibrator-gb: convert to use gb_operation_sync
      greybus: uart-gb: convert to use gb_operation_sync
      greybus: gpio-gb: convert to use gb_operation_sync
      greybus: i2c-gb: convert to use gb_operation_sync
      greybus: pwm-gb: convert to use gb_operation_sync
      greybus: uart-gb: clean up send_line_coding
      greybus: usb-gb: import a "buildable" version of the usb-gb.c driver
      greybus: operation: fix up sparse warning
      greybus: battery-gb.c: add new functions from Greybus spec document.
      greybus: greybus_manifest.h: add FIXME for version
      greybus: uart-gb.c: don't include module.h
      greybus: module versions: remove them
      greybus: module: remove obsolete gb_tty pointer
      greybus: interface_block: rename module.[c|h] to interface_block.[c|h]
      greybus: interface_block: s/gb_module/gb_interface_block/
      greybus: interface_block: rename the sysfs files to not have 'module' in them
      greybus: sysfs documentation: Document the greybus interface block sysfs files.
      greybus: interface_block: move sysfs files into the interface_block.c file
      greybus: connection: document the sysfs files
      greybus: interface: document sysfs files
      greybus: driver matching: Greybus drivers bind to interface blocks, not modules
      greybus: bundle: rename interface.[c|h] to bundle.[c|h]
      greybus: es1-ap-usb: don't protest when getting -EPROTO USB errors
      greybus: bundle: s/gb_interface/gb_bundle/g
      greybus: interface_block.c: rename the "interfaces" list "bundles"
      greybus: rename interface_block.[c|h] -> interface.[c|h]
      greybus: interface: s/gb_interface_block/gb_interface/g
      greybus: interface: rename greybus_interface_block_id to greybus_interface_id
      greybus: interface.h: remove unused #defines
      greybus: greybus_id.h: minor typo fixes
      greybus: interface: we really are creating/destroying interfaces not modules.
      greybus: greybus_host_device: rename modules -> interfaces
      greybus: interface: rename gb_modules_lock -> gb_interfaces_lock
      greybus: add module support
      greybus: interface: remove global manifest_descs list
      greybus: protocol: switch gb_protocol_register() to return an int
      greybus: export needed symbols for protocols
      greybus: protocol: split binding of prototcols to connections out of init
      greybus: i2c-gb: split out into a stand-alone kernel module.
      greybus: bundle: create GB_DEVICE_ID_BAD
      greybus: protocol: add a module owner to a protocol
      greybus: vibrator-gb: move vibrator protocol to a stand-alone module.
      greybus: battery-gb: move the battery protocol out to a stand-alone module
      greybus: gpb: Create a "GP Bridge" kernel module
      greybus: i2c-gb: move i2c protocol into the gpbridge driver
      greybus: module: get rid of global list of modules
      greybus: protocol: name protocols.
      greybus: protocol: fix oops when no protocol is assigned
      greybus: sysfs: put a \n at the end of all sysfs files
      greybus: Makefile: provide install target
      greybus: rename gpbridge.ko to gb-phy.ko
      greybus: rename vibrator-gb.ko to gb-vibrator.ko
      greybus: rename battery-gb.c to gb-battery.c
      greybus: rename es1-ap-usb.ko to gb-es1.ko
      greybus: Move the es1_ap_desc.c file to Documentation directory
      greybus: es1: no need to assign a variable we return directly
      greybus: es2: add ES2 Greybus Host driver
      greybus: Revert "protocol.c: fix a kernel panic caused by __gb_protocol_register"
      greybus: Revert "protocol: dedup protocol find code"
      greybus: ap.c: our workqueue should be ordered
      greybus: es1.c: wait until the last possible minute to start the svc messages
      greybus: es2: fix USB id to not be the same as ES1
      greybus: es1: fix build warning for apb1_log_enable_write
      greybus: es1: fix tiny whitespace issues
      greybus: es1: use <linux/uaccess.h> and not <asm/uaccess.h>
      greybus: es1: no need to check for NULL on debugfs_remove()
      greybus: es1: struct file_operations needs to be const
      greybus: es1: decimal modes are not what are wanted for debugfs
      greybus: es1: move debugfs function to use kstrotoint_from_user()
      greybus: es1: fix checkpatch warning about blank lines needed
      greybus: es1: separate usb_log enable/disable logic into different functions
      greybus: es1: allow the debug log to be stopped
      greybus: Merge branch 'es1-fixes' into master
      greybus: debugfs: we shouldn't care if debugfs is working or not
      greybus: es2: sync up with recent es1.c changes
      greybus: loopback: fix build breakage about SZ_4K
      greybus: loopback: use the attribute groups, not group
      greybus: kernel_ver.h: add sysfs_create_groups() and sysfs_remove_groups()
      greybus: Documentation/sysfs: add a proposed sysfs tree for greybus
      greybus: module.c: add attributes
      greybus: endo: add endo structures and logic
      greybus: endo: hook up endos into the device tree
      greybus: Documentation/sysfs-bus-greybus: update kernel version and date
      greybus: Documentation/sysfs-bus-greybus: document the endo and SVC
      greybus: Documentation/sysfs-bus-greybus: document module sysfs files
      greybus: gpbridge.h: whitespace cleanups
      greybus: gpbridge.h: remove BIT() define
      greybus: bundle: add state sysfs file
      greybus: MODULE_LICENSE cleanup
      greybus: kernel_ver.h: fix leading space coding style issues
      greybus: kernel_ver.h: add a ' ' character to KERNEL_VERSION()
      greybus: kernel_ver.h: add a blank line after a variable definition
      greybus: protocol.h: macros should not have a trailing ';'
      greybus: protocol.h: fix up long lines in define_get_version()
      greybus: audio: fix some sparse static warnings
      greybus: audio: fix a bunch of endian issues
      greybus: vibrator: convert idr to be an ida
      greybus: connection: remove lock around ida_simple_* functions
      greybus: raw: add raw greybus kernel driver
      greybus: Merge branch 'master' of github.com:gregkh/greybus
      greybus: Merge branch 'master' of github.com:gregkh/greybus
      greybus: es?: decrease buffer size to 2k
      greybus: remove __init from .h files
      greybus: Merge branch alex into Alexandre
      greybus: Revert "greybus: reserve host cport id 0"
      greybus: Revert "examples: add manifest file for sdio"
      greybus: properly cleanup ida and idr structures when shutting down
      greybus: connection: prevent oops for protocol_id sysfs file
      greybus: loopback: add poll support to the iteration_count sysfs file
      greybus: es1: remove svc endpoint message handling
      greybus: es2: remove svc endpoint message handling
      greybus: greybus.h: remove greybus_svc_in()
      greybus: remove submit_svc from the host driver
      greybus: interface: make gb_interface_destroy() static
      greybus: core: clean up ida memory for host controller
      greybus: svc: revert svc changes to keep things working for a while.
      greybus: es1: remove svc endpoint message handling
      greybus: es2: remove svc endpoint message handling
      greybus: greybus.h: remove greybus_svc_in()
      greybus: remove submit_svc from the host driver
      greybus: interface: make gb_interface_destroy() static
      greybus: Merge branch 'master' into svc to keep it up to date.
      greybus: Revert "connection: remove special check for svc cport id"
      greybus: Merge branch 'master' into svc
      greybus: Merge branch 'master' into svc
      greybus: Merge branch 'master' into svc
      greybus: Merge branch 'master' into branch 'svc'.
      greybus: Merge branch 'master' into branch 'svc'.
      greybus: gpio: handle api change in generic_handle_irq_desc()
      greybus: vibrator: use the bundle struct device instead of the connector
      greybus: uart: use the bundle struct device instead of the connector
      greybus: spi: use the bundle struct device instead of the connector
      greybus: hid: use the bundle struct device instead of the connector
      greybus: audio: use the bundle struct device instead of the connector
      greybus: firmware: use the bundle struct device instead of the connector
      greybus: gpio: use the bundle struct device instead of the connector
      greybus: i2c: use the bundle struct device instead of the connector
      greybus: pwm: use the bundle struct device instead of the connector
      greybus: light : use the bundle struct device instead of the connector
      greybus: sdio: use the bundle struct device instead of the connector
      greybus: usb: use the bundle struct device instead of the connector
      greybus: operation: use the bundle struct device instead of the connector
      greybus: control: use the bundle struct device instead of the connector
      greybus: raw: use the bundle struct device instead of the connector
      greybus: connection: remove 'struct device' from 'struct gb_connection'
      greybus: connection: use the bundle struct device instead of the connector
      greybus: loopback: use the bundle struct device instead of the connector
      greybus: greybus_trace: use the bundle struct device instead of the connector
      greybus: protocol: use the bundle struct device instead of the connector
      greybus: bundle.h: add a private field to struct gb_bundle
      greybus: core: remove uevent handling for gb_connection
      greybus: svc: don't trust any struct devices
      greybus: es2: use official USB vendor/device id
      greybus: hid: hid should not be part of the bridged-phy driver.
      greybus: Camera: remove f_dentry usage
      greybus: tools: Add tools directory to greybus repo and add loopback
      greybus: loopback_test: fix warning about signed/unsigned comparison
      greybus: loopback_test: null terminate the dict structure
      greybus: tools: don't always build them.
      greybus: arche-platform: merge arche-apb-ctrl and arche-platform
      greybus: host: provide "generic" apbridge output calls
      greybus: APBridge: move APBridge request protocol to a common .h file
      greybus: uevent: add GREYBUS_ID to uevent
      greybus: Makefile: fix up build test for gb-audio-codec.ko
      greybus: Revert "camera: Fix backword compatibility in configure streams"
      greybus: firmware: log the name of the firmware being requested
      greybus: svc: add ping command
      greybus: lsgb: add lsgb shell script
      greybus: lsgb: Minor tweaks
      greybus: svc: add a "watchdog" to check the network health
      greybus: svc: return proper error code on watchdog create error
      greybus: svc watchdog: allow it to be enabled/disabled from userspace
      greybus: audio_manager: use an 'ida' for the module id
      greybus: lsgb: remove it, it's in the gb-utils repo
      greybus: fix sparse warning in manifest.c
      greybus: only build arche platform driver if usb3613 is enabled
      greybus: Revert "gb_loopback: Fix throughput calculations"
      greybus: uart: properly calculate max buffer size
      greybus: gpio: use bundle device for error messages
      greybus: gpio: handle api changes for 4.5 kernel release
      greybus: expose full 32 bits of vid/pid to userspace
      greybus: gpbridge.h: move protocol init/exit prototypes
      greybus: manifest: reserve the Bridged PHY class
      greybus: properly annotate struct gb_control_timesync_enable_request
      greybus: connection: add functions to get/set private data
      greybus: convert drivers to use connection->private set/get
      greybus: trivial: add checkpatch.pl to the tree
      greybus: scripts: create subdir for checkpatch and spelling.txt
      greybus: gpbridge: implement gpbridge "bus" logic
      greybus: UART: convert to a gpbridge driver
      greybus: PWM: convert to a gpbridge driver
      greybus: I2C: convert to a gpbridge driver
      greybus: GPIO: convert to a gpbridge driver
      greybus: SDIO: convert to a gpbridge driver
      greybus: SPI: convert to a gpbridge driver
      greybus: USB: convert to a gpbridge driver
      greybus: make greybus_gpbdev_type static
      greybus: kernel_ver.h: provide pwm_is_enabled()
      greybus: Revert "greybus: don't use spin_lock_irq()"
      greybus: move all firmware prefix strings to one place
      greybus: fix up copyright dates on arpc.h
      greybus: Revert "svc: drop all symbol exports"
      greybus: es2: remove #if 0 code
      greybus: es2: remove struct cport_to_ep
      greybus: es2: remove bulk_out array
      greybus: es2: remove bulk_in array
      greybus: es2: remove unneeded BULK_* #defines
      greybus: es2: No need to check before freeing an urb
      greybus: es2: fix up usb probe error messages
      Merge greybus driver tree into 4.8-rc5
      greybus: Add drivers/greybus to the build
      greybus: remove local checkpatch.pl copy
      greybus: kernel_ver.h: remove lots of stuff
      greybus: Documentation: remove sysfs tree
      greybus: remove README and LICENSE
      greybus: remove .gitignore file
      greybus: move the sysfs documentation to Documentation/ABI/testing
      greybus: remove old es1 endpoint description
      greybus: hid: remove KERNEL_VERSION checks
      greybus: vibrator: remove KERNEL_VERSION checks
      greybus: gpio: remove KERNEL_VERSION checks
      greybus: spi: remove KERNEL_VERSION checks
      greybus: sdio: fix min() type check
      greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h

Jackson Chang (1):
      greybus: SDIO: Add runtime pm support

Jacopo Mondi (17):
      greybus: camera: Add support for flags to stream_configure
      greybus: camera: Stream config change unipro speed
      greybus: camera: Reset link speed on failed config
      greybus: camera: Add missing return value
      greybus: camera: Add CSI configuration parameters
      greybus: camera: Rename clock_mode to flags
      greybus: camera: Register capabilities operation
      greybus: camera: Early update num_streams and flags
      greybus: camera: Fix number of configured streams
      greybus: camera: Fix size of configure_streams(0)
      greybus: camera: Add bpp to Greybus Format description
      greybus: camera: Add wrapper for sync operation with flags
      greybus: camera: Update Configure Streams Response
      greybus: camera: Configure APB-A with new params
      greybus: camera: Update CSI config parameters
      greybus: camera: Remove reference to ara subdevice
      greybus: camera: Remove support for legacy modules

Jeffrey Carlyle (8):
      greybus: Revert "bootrom: Implement timeouts to detect Module failures"
      greybus: svc: implement svc_intf_{vsys,refclk,unipro}_{enable,disable} operations
      greybus: svc: implement svc_intf_activate
      greybus: svc: support status in svc_intf_activate response
      greybus: interface: retry enumeration of UniPro-only modules
      greybus: Revert "update UniPro Set Interface Power Mode operation to match spec"
      greybus: svc: implement connection_quiescing call
      greybus: connection: switch to using spin_lock_irqsave/spin_lock_irqrestore excluisvely

Joel Porquet (2):
      greybus: add support for the log protocol
      greybus: firmware.h: rename TFTF firmware filenames

Johan Hovold (547):
      greybus: connection: fix non-atomic allocations under spin lock
      greybus: bundle: fix sleep-while-atomic in gb_bundle_destroy
      greybus: gpio: fix memory leaks at init and exit
      greybus: operation: fix locking issues
      greybus: connection: fix locking in gb_hd_connection_find
      greybus: pwm: fix memory leak in error path
      greybus: vibrator: fix memory leak in error path
      greybus: connection: fix oops after failed init
      greybus: gpio: fix set-debounce request alignment
      greybus: pwm: fix config-request alignment
      greybus: uart: remove packed-attribute from line-coding struct
      greybus: usb: silence compiler warning
      greybus: ap: fix svc handshake protocol check
      greybus: ap: fix typo in comment
      greybus: ap: clean up svc link management error path
      greybus: connection: replace custom error function with dev_err
      greybus: operation: use dev_err in gb_operation_sync
      greybus: operation: remove unnecessary cast
      greybus: gpio: fix truncated debounce times
      greybus: gpio: remove incorrect todo comments
      greybus: gpio: remove redundant argument verification
      greybus: gpio: remove overly defensive argument verification
      greybus: gpio: remove unnecessary explicit cast
      greybus: gpio: make gb_gpio_controller pointer naming consistent
      greybus: gpio: fix error handling
      greybus: gpio: use dev_err and dev_warn
      greybus: gpio: clean up line-state allocation
      greybus: gpio: refuse to set value of input pins
      greybus: gpio: add error messages to callbacks not propagating errors
      greybus: operation: fix missing symbol exports
      greybus: operation: fix typo in comment
      greybus: operation: fix callback handling and documentation
      greybus: operation: fix use-after-free when sending responses
      greybus: operation: fix memory leak in request_send error path
      greybus: operation: fix use-after-free and infinite loop on unhandled requests
      greybus: operation: fix null-deref on operation cancel
      greybus: operation: fix null-deref on operation destroy
      greybus: operation: fix incoming request payload size
      greybus: operation: replace pr_err with dev_err
      greybus: operation: make incomplete-message errors more informative
      greybus: gpio: fix null-deref on short irq requests
      greybus: gpio: fix null-deref on unexpected irq requests
      greybus: gpio: fix missing response on request errors
      greybus: hid: replace pr_err with dev_err
      greybus: hid: fix success response being sent on errors
      greybus: hid: fix null-deref on short report requests
      greybus: hid: fix missing input verification of report events
      greybus: hid: fix missing response on request errors
      greybus: operation: refactor response handling
      greybus: es1: drop unnecessary casts
      greybus: es1: fix DMA-buffer on stack
      greybus: es1: fix buffer-size limit
      greybus: es2: sync up with recent es1 changes
      greybus: operation: fix unaligned memory accesses in receive path
      greybus: remove obsolete buffer-alignment requirement
      greybus: operation: move message-header definition to header file
      greybus: pass messages to host drivers
      greybus: operation: fix potential message corruption
      greybus: operation: add explicit padding to message header
      greybus: es1: fix transfer-buffer alignment
      greybus: es2: sync up with recent es1 changes
      greybus: drop host-driver buffer headroom
      greybus: loopback: fix 64-bit divisions
      greybus: remove unnecessary greybus.h includes
      greybus: remove unused prototypes from header
      greybus: fix host-device buffer constraints
      greybus: operation: allow maximum-sized messages
      greybus: core: add lower-limit for host-device buffers
      greybus: operation: add helper to retrieve max payload size
      greybus: gpbridge: fix section mismatches
      greybus: operation: add support for incoming unidirectional operations
      greybus: gpio: fix debugfs output
      greybus: gpio: remove unused irq-ack operation
      greybus: gpio: don't call irq-flow handler directly
      greybus: gpio: use irq-domain lookups
      greybus: gpio: rename irq mask and unmask callbacks
      greybus: gpio: fix atomic sleep when using interrupts
      greybus: gpio: fix interrupt protocol
      greybus: gpio: update operation types
      greybus: gpio: remove unused debounce define
      greybus: gpio: add irq-type defines
      greybus: esx: fix null-deref on hotplug events
      greybus: operation/esx: fix message-cancellation lifetime bugs
      greybus: operation: allow atomic operation allocations
      greybus: operation: allow atomic request submissions
      greybus: operation: make response helper static
      greybus: operation: fix cancellation use-after-free
      greybus: operation: add incoming-operation flag
      greybus: operation: add unidirectional-operation flag
      greybus: operation: remove obsolete operation-field comments
      greybus: operation: drop redundant oom message
      greybus: operation: allocate response before setting result
      greybus: operation: fix cancellation of responses
      greybus: operation: fix operation-destroy race
      greybus: operation: fix use-after-free in response receive path
      greybus: operation: fix outgoing-response corruption
      greybus: operation: fix incoming-response corruption
      greybus: operation: fix another cancellation use-after-free
      greybus: operation: clean up create-incoming error path
      greybus: operation: add active counter
      greybus: operation: make cancellation synchronous
      greybus: operation: complete operations on cancellation
      greybus: operation: clean up operation work function
      greybus: operation: suppress response submission on connection tear down
      greybus: connection: add connection-state locking
      greybus: operation: fix connection tear down
      greybus: connection: fix protocol tear-down race
      greybus: operation: fix operation look-up race
      greybus: operation: fix response-cancellation race
      greybus: operation: split incoming and outgoing cancellation
      greybus: operation: allow drivers to define custom timeouts
      greybus: operation: add gb_operation_sync_timeout helper
      greybus: kernel_ver: add list_last_entry for old kernels
      greybus: operation: fix atomic response allocation
      greybus: operation: fix atomic message submission
      greybus: operation: fix operation ordering
      greybus: operation: clean up greybus_message_sent
      greybus: connection: fix connection initialisation
      greybus: connection: clean up connection creation
      greybus: connection: clean up creation error paths
      greybus: operation: use per-connection work queues
      greybus: operation: add completion work queue
      greybus: usb: clean up driver
      greybus: usb: renumber operation types
      greybus: usb: fix hcd allocation, deregistration and deallocation
      greybus: usb: fix hc_driver fields
      greybus: usb: implement hub_control callback
      greybus: usb: disable protocol driver
      greybus: greybus_protocols: fix typo in comment
      greybus: svc: fix message packing
      greybus: uart: fix message packing
      greybus: sdio: fix message packing
      greybus: greybus_protocols: use only type attributes for message packing
      greybus: firmware: fix potential stack corruption
      greybus: endo: fix endo-id allocation flag
      greybus: svc: fix device-id allocation flag
      greybus: svc: fix hot-plug-state allocation flag
      greybus: interface: fix potential attribute-buffer overflow
      greybus: pwm: replace pr_err with dev_err
      greybus: core: fix hd-creation error path
      greybus: es1: fix build-time cport constraint
      greybus: fix cport-id defines
      greybus: vibrator: fix tear-down race
      greybus: sdio: fix tear-down use-after-free
      greybus: sdio: fix work-queue leak and use-after-free
      greybus: svc: fix ida memory leak
      greybus: svc: fix version response
      greybus: greybus_protocols: add missing version-request definition
      greybus: connection: clean up svc-connection creation
      greybus: connection: clean up init error paths
      greybus: connection: clean up control-disconnected helper
      greybus: connection: add control-connected helper
      greybus: connection: add protocol-version helper
      greybus: hd: add optional cport enable and disable callbacks
      greybus: hd: remove connection-create/destroy callbacks
      greybus: es1/2: fix use-after-free in completion callback
      greybus: operation: remove gb_operation_destroy
      greybus: es1/es2: clean up error messages
      greybus: connection: replace pr_err with dev_err
      greybus: operation: drop OOM-response FIXME
      greybus: operation: clean up error messages
      greybus: protocol: warn on bad deregistration
      greybus: protocol: warn on protocol put errors
      greybus: protocol: make version debug message more informative
      greybus: vibrator: add missing protocol-register error handling
      greybus: protocol: make protocol-lookup error message more informative
      greybus: connection: remove duplicate protocol lookup error message
      greybus: build: add pwm to config options to enable
      greybus: gpio: handle set_irq_flags api change
      greybus: endo: fix use-after-free in error path
      greybus: endo: fix device-id allocation
      greybus: connection: remove unused time-stamp defines
      greybus: control: remove unused request handler
      greybus: es2: update obsolete bridge-device comments
      greybus: remove unused host-device id
      greybus: remove unused connection device type
      greybus: connection: use bundle device for bundle error messages
      greybus: connection: fix potential null-deref in hd_cport_enable
      greybus: connection: fix potential null-deref in connection create
      greybus: connection: fix potential null-deref when binding protocol
      greybus: connection: kill gb_hd_connections_exit
      greybus: endo: fix ida memory leak
      greybus: remove obsolete comment
      greybus: create host-device compilation unit
      greybus: hd: rename host-device structure
      greybus: hd: rename host-driver structure
      greybus: hd: use common prefix for exported functions
      greybus: es2: fix use-after-free at disconnect
      greybus: es2: fix endpoint requirement check
      greybus: es2: separate urb allocation and submission
      greybus: es1: separate urb allocation and submission
      greybus: es2: separate stopping and deallocating urbs
      greybus: es1: separate stopping and deallocating urbs
      greybus: es2: fix debugfs dentry leak
      greybus: es1: fix debugfs dentry leak
      greybus: es2: add more structure to probe error handling
      greybus: es1: add more structure to probe error handling
      greybus: hd: fix host-device life time issues
      greybus: es2: clean up es2 destructor
      greybus: loopback: fix layer violation
      greybus: battery: fix class-device parent
      greybus: light: fix class-device parent
      greybus: interface: fix potential use-after-free at remove
      greybus: interface: fix obsolete comment
      greybus: use decimal notation for interface and cport ids
      greybus: svc: use bit-macro for cport flags
      greybus: firmware: fix information leak
      greybus: firmware: break long lines
      greybus: svc: fix missing version-request sanity checks
      greybus: fix bundle-id match macros
      greybus: remove unique-id matching
      greybus: interface: remove unique id
      greybus: fix vendor and product matching
      greybus: move id-matching back to core
      greybus: add class matching macro
      greybus: connection: fix cport-id range
      greybus: hd: fix cport-count check
      greybus: Documentation/sysfs: update the example sysfs tree
      greybus: Documentation/sysfs-bus-greybus: update the bus ABI documentation
      greybus: interface: rename vendor and product attributes
      greybus: interface: remove device_id attribute
      greybus: interface: add interface_id attribute
      greybus: bundle: rename class attribute
      greybus: bundle: use hexadecimal notation for class attribute
      greybus: bundle: add bundle_id attribute
      greybus: hd: make host device a device
      greybus: connection: drop parent parameter from connection create
      greybus: interface: make interfaces children of host devices
      greybus: bundle: rename bundle devices
      greybus: svc: make svc a device
      greybus: svc: clean up svc initialisation
      greybus: svc: register svc device at hello
      greybus: svc: move endo id and ap interface id to svc
      greybus: interface: kill gb_create_bundle_connection
      greybus: connection: clean up connection-creation interface
      greybus: connection: fix potential null-deref on create
      greybus: connection: kill GB_PROTOCOL_SKIP_SVC_CONNECTION
      greybus: connection: add name field
      greybus: connection: handle static connections
      greybus: operation: handle static connections
      greybus: protocol: handle static connections
      greybus: hd: fix svc-connection handling
      greybus: svc: clean up log messages
      greybus: loopback: remove endo reference
      greybus: kill the endo
      greybus: connection: handle bundle-less connections in svc helpers
      greybus: control: do not assume a control bundle
      greybus: connection: unconditionally enable connections
      greybus: manifest: refactor cport-descriptor release
      greybus: interface: drop the control bundle
      greybus: Documentation/sysfs: rename interface and bundle attributes
      greybus: svc: clean up hotplug/unplug request handlers
      greybus: svc: clean up deferred hotplug handler
      greybus: svc: clean up interface-remove helper
      greybus: svc: generalise deferred request handling
      greybus: svc: defer processing of hot-unplug requests
      greybus: svc: fix racy hotplug handling
      greybus: svc: flush workqueue at connection exit
      greybus: core: add bus id to uevents
      greybus: core: add interface id to interface and bundle uevents
      greybus: core: add bundle id to bundle uevents
      greybus: svc: add missing boot-status error message
      greybus: bundle: remove obsolete function prototype
      greybus: bundle: kill gb_bundle_bind_protocols
      greybus: connection: fail on missing protocol
      greybus: connection: bind protocol at init
      greybus: connection: unbind protocol at exit
      greybus: connection: separate connection creation and enabling
      greybus: hd: initialise device last
      greybus: hd: make svc-connection life time coincide with host-device
      greybus: svc: create svc along with host device
      greybus: use decimal notation for interfaces, bundles and cports
      greybus: interface: remove defensive WARN_ON
      greybus: bundle: kill the bundle lock
      greybus: bundle: use dev_err for bundle-creation errors
      greybus: bundle: separate connection disabling and destruction
      greybus: bundle: separate bundle creation and registration
      greybus: interface: separate manifest parsing from bundle registration
      greybus: interface: fix interface-registration race
      greybus: interface: clean up error messages
      greybus: es2: demote dynamic-urb error message
      greybus: interface: clean up control-connection handling
      greybus: interface: fix hot-unplug control-connection timeouts
      greybus: svc: drop copy-pasted function header
      greybus: es2: clean up csi-config request
      greybus: camera: fix memory leak in configure-streams error path
      greybus: camera: fix memory leak in capture-request handler
      greybus: camera: destroy data connection on link-config errors
      greybus: core: add drvdata accessors
      greybus: core: fix greybus driver registration
      greybus: core: fix greybus device matching
      greybus: connection: fix version-request error handling
      greybus: power_supply: fix lock imbalance in init error path
      greybus: connection: fix connection-state handling
      greybus: connection: refactor connection enable and disable
      greybus: legacy: add legacy-protocol bundle driver
      greybus: connection: rename legacy init and exit functions
      greybus: connection: remove disable from destructor
      greybus: connection: add per-connection request handlers
      greybus: connection: always cancel operations on connection disable
      greybus: connection: clean up operation cancellation on disable
      greybus: connection: disable operations on enable errors
      greybus: connection: make connection enable/disable thread safe
      greybus: connection: add unidirectional enabled state
      greybus: connection: add helper to disable incoming operations
      greybus: core: disable incoming operations pre disconnect
      greybus: core: add defensive connection disable post disconnect
      greybus: firmware: remove skip-disconnected flag
      greybus: connection: remove skip-connected legacy protocol flags
      greybus: greybus_protocols: remove control-protocol version
      greybus: control: drop legacy-protocol dependency
      greybus: svc: drop legacy-protocol dependency
      greybus: connection: move legacy-protocol handling to legacy driver
      greybus: legacy: use protocol pointer to determine state
      greybus: core: disable bundle connections on hot-unplug
      greybus: svc: store protocol version
      greybus: connection: remove broken protocol-version handling
      greybus: control: add bundle-version operation
      greybus: connection: remove WARN_ON from destroy
      greybus: connection: destroy workqueue at unregister
      greybus: connection: drop the connection_mutex
      greybus: connection: fix lookup race
      greybus: connection: serialise connection creation
      greybus: connection: make cport lookup thread-safe
      greybus: legacy: add private driver data
      greybus: core: defer connection creation to driver probe
      greybus: manifest: check for duplicate CPort descriptors when parsing
      greybus: connection: drop protocol parameter from static interface
      greybus: connection: add helper to create control connections
      greybus: connection: drop the legacy protocol-id parameter
      greybus: connection: simplify connection-creation interface
      greybus: connection: rename connection-create interface
      greybus: connection: return error-valued pointer on creation errors
      greybus: legacy: refactor legacy-connection handling
      greybus: legacy: add initialized flag
      greybus: connection: remove legacy protocol id from core
      greybus: legacy: look up protocol at connection creation
      greybus: connection: set request handlers at creation
      greybus: hid: clean up init error paths
      greybus: hid: convert to bundle driver
      greybus: vibrator: convert to bundle driver
      greybus: firmware: abort if AP_READY fails
      greybus: hd: fix host-device-removal race
      greybus: legacy: remove unimplemented classes from id table
      greybus: firmware: convert to bundle driver
      greybus: manifest: add interface-device prefix to messages
      greybus: core: add device prefix to error messages
      greybus: i2c: add bundle-device prefix to error messages
      greybus: loopback: add missing pr_fmt
      greybus: spi: add bundle-device prefix to error messages
      greybus: bundle: remove private data field
      greybus: raw: fix memory leak on disconnect
      greybus: es2: fix cport-count error handling
      greybus: Documentation: remove svc unique_id attribute
      greybus: uart: add max-payload sanity check
      greybus: uart: add missing serial-state sanity check
      greybus: uart: fix incomplete receive-data sanity checks
      greybus: Documentation/sysfs: add module devices
      greybus: Documentation/sysfs: move module 1-4 to position 5
      greybus: Documentation/sysfs: make 1-5 a 2x2 module
      greybus: operation: add temporary pointer to response handler
      greybus: operation: add support for short responses
      greybus: loopback: fix double error count
      greybus: raw: use hexadecimal notation for request types
      greybus: connection: add connection-flag interface
      greybus: svc: clean up CPortFlags handling
      greybus: connection: generalise CPortFlags handling
      greybus: connection: add CSD connection flag
      greybus: hd: rename CPort-features callbacks
      greybus: greybus_manifest: remove unused AP class and protocol
      greybus: greybus_manifest: remove unused SVC class
      greybus: interface: remove unused function prototype
      greybus: interface: remove unused drvdata helpers
      greybus: interface: add comment about early control-connection disable
      greybus: svc: refactor interface-route creation
      greybus: svc: refactor interface-route destruction
      greybus: interface: separate initialisation and registration
      greybus: interface: free bundles on initialisation errors
      greybus: svc: always register interfaces at hotplug
      greybus: interface: disable control connection on initialisation errors
      greybus: interface: remove useless spinlock
      greybus: interface: move interface-removal helper
      greybus: interface: rename initialisation function
      greybus: interface: separate disabling from removal
      greybus: svc: unexport eject helper
      greybus: svc: print an error message on failed eject attempts
      greybus: greybus_protocols: remove svc-eject timeout define
      greybus: core: fix two container-of macros
      greybus: greybus_protocols: align DME-attribute values
      greybus: svc: remove bogus interface-reset helper
      greybus: greybus_protocols: remove bogus comment about svc bundle
      greybus: svc: indent CPort flag defines properly
      greybus: interface: move boot-status clearing to interface enable
      greybus: interface: fix es2 boot-status mask
      greybus: interface: clean up and rename init-status helper
      greybus: interface: clean up ES3-bootroom-quirk handling
      greybus: interface: move route creation to interface activation
      greybus: interface: deactivate interface on enumeration failure
      greybus: interface: clean up device-id handling
      greybus: greybus_protocols: rename NULL DME selector index
      greybus: interface: read DME attributes at activation
      greybus: interface: add ES2 init-status quirk flag
      greybus: interface: clean up ES2 VID/PID hack
      greybus: interface: clean up DME attribute handling
      greybus: interface: add Ara serial-number support
      greybus: manifest: fix illegal free in error path
      greybus: Documentation: move the interface power attributes
      greybus: Documentation/sysfs: remove interface unique_id attribute
      greybus: Documentation/sysfs: rename the svc eject attribute
      greybus: Documentation/sysfs: add example control devices
      greybus: interface: disable interface on registration failures
      greybus: control: move timesync-operation functions
      greybus: core: make the control object be a device
      greybus: interface: register control device at hotplug
      greybus: interface: move vendor and product strings to control device
      greybus: control: return error pointer when failing to create control device
      greybus: interface: reduce control-device lifetime
      greybus: svc: make sure to deactivate all interfaces on disconnect
      greybus: svc: keep interfaces registered during mode switch
      greybus: svc: remove interface-remove helper
      greybus: svc: keep error messages uniform
      greybus: svc: fix pwrmon return value
      greybus: svc: fix function-parameter indentation
      greybus: svc: use a common prefix for debugfs functions
      greybus: Documentation/sysfs: add entry for control device
      greybus: Documentation/sysfs: sort entries alphabetically
      greybus: svc: refactor interface re-enable
      greybus: core: add module abstraction
      greybus: module: implement controlled module removal
      greybus: interface: add active state flag
      greybus: svc: add stub functions for v_sys, refclk and unipro
      greybus: svc: add stub interface-activate function
      greybus: interface: implement interface activation and power down
      greybus: svc: implement module inserted and removed operations
      greybus: svc: implement interface mailbox event
      greybus: interface: fix broken UniPro flow control
      greybus: interface: remove unused prototype
      greybus: fix outdated kernel-doc comment
      greybus: operation: update gb_operation_request_send() documentation
      greybus: operation: add support for initiating unidirectional operations
      greybus: operation: add helper functions for unidirectional operations
      greybus: control: implement mode-switch operation
      greybus: loopback: remove unsupported version request
      greybus: svc: define the version request
      greybus: operation: fix definition of the invalid type
      greybus: interface: fix type in enable error message
      greybus: interface: remove unused interface-version quirk
      greybus: connection: add no-flow-control connection flag
      greybus: connection: add offloaded connection flag
      greybus: connection: add helper for creating offloaded connection
      greybus: audio: mark the data connection as offloaded
      greybus: hd: move CPort allocation to host-device code
      greybus: es2: fix probe error handling
      greybus: es2: clean up CDSI CPort reservation
      greybus: hd: generalise cport allocation
      greybus: es2: clean up cport-reset handling
      greybus: es2: add support for CDSI1 allocation
      greybus: connection: add camera-data connected workaround
      greybus: camera: fix data-connection handling
      greybus: operation: fix broken activation logic
      greybus: svc: fix another pwrmon return value
      greybus: audio_apbridgea: fix two return values
      greybus: svc: use EREMOTEIO for remote errors
      greybus: interface: fix svc-resource error messages
      greybus: remove redundant latency-tag sanity checks
      greybus: core: avoid I/O to disconnected interfaces
      greybus: interface: clean up bootrom quirk handling
      greybus: interface: avoid I/O to bootrom during removal
      greybus: connection: add control connection flag
      greybus: control: implement disconnecting operation
      greybus: svc: add stub connection-quiescing operation
      greybus: connection: log cport-enable error messages
      greybus: es2: reset cports at disable
      greybus: connection: rename an error label
      greybus: connection: move CPort Buffer configuration out of svc helpers
      greybus: connection: remove unused invalid state
      greybus: operation: clean up early connection-state check
      greybus: operation: restructure activation state handling
      greybus: operation: add helper for creating core operations
      greybus: connection: implement proper connection closure
      greybus: connection: add flush host-device callback
      greybus: kernel_ver: backport reinit_completion to pre-3.13
      greybus: control: add error message to mode-switch helper
      greybus: interface: implement generic mode-switch functionality
      greybus: svc: remove deprecated hotplug operations
      greybus: fix tracepoint-related whitespace issues
      greybus: hd: fix gb_hd_release tracepoint
      greybus: fix forced disable of offloaded connections
      greybus: hd: add flag argument to cport_enable callback
      greybus: connection: prevent drivers from specifying core flags
      greybus: connection: add support for high-priority connections
      greybus: es2: add support for greybus cport flags
      greybus: Revert "connection: switch to using spin_lock_irqsave/spin_lock_irqrestore excluisvely"
      greybus: Revert "greybus: gb_connections_lock: don't use spin_lock_irq()"
      greybus: Revert "greybus: es2.c: don't use spin_lock_irq()"
      greybus: Revert "greybus: uart: don't use spin_lock_irq()"
      greybus: es2: fix arpc return value
      greybus: es2: fix arpc response lookups
      greybus: connection: drop the svc quiescing operation
      greybus: interface: add interface-type attribute
      greybus: interface: partition attribute group
      greybus: interface: make attributes type dependent
      greybus: interface: amend interface registration message
      greybus: module: suppress activation error message for dummy interfaces
      greybus: interface: use an enum for interface type
      greybus: interface: do not read DME during reactivation
      greybus: interface: clean up ES3 activation-retry hack
      greybus: interface: make sure type is invariant during reactivation
      greybus: interface: prevent reactivation during removal
      greybus: interface: fix power_state documentation
      greybus: interface: hibernate UniPro link in activation error path
      greybus: interface: fix interface_id attribute group
      greybus: control: suppress bundle_activate() for bootrom
      greybus: operation: fix broken response error messages
      greybus: operation: fix broken response tracepoint
      greybus: operation: clean up request handler
      greybus: Documentation/sysfs: replace Ara references
      greybus: replace Ara references
      greybus: es2: fix arpc response-allocation error handling
      greybus: es2: fix arpc error message
      greybus: es2: fix arpc active-list corruption
      greybus: remove unused protocol-version messages
      greybus: control: remove some braces
      greybus: connection: fix offloaded-connection ping cport id
      greybus: es2: clean up ARPC symbol names
      greybus: es2: always set result value
      greybus: es2: allow ARPC result to be ignored
      greybus: es2: add define for ARPC CPort requests
      greybus: es2: rename USB vendor-request timeout define
      greybus: greybus_protocols: fix apba vendor-request comment
      greybus: es2: fix USB vendor-request prefixes
      greybus: arpc: move arpc definitions to their own header
      greybus: hd/es2: add cport_connected callback and ARPC
      greybus: hd/es2: add cport_quiesce callback and ARPC
      greybus: hd/es2: add cport_clear callback and ARPC
      greybus: hd: add cport_shutdown callback
      greybus: control: make disconnecting a core operation
      greybus: es2: fix memory leak in probe error path
      greybus: svc: drop all symbol exports
      greybus: svc: drop unnecessary symbol exports
      greybus: es2: implement flush callback
      greybus: es2: implement shutdown callback
      greybus: connection: implement new connection handling
      greybus: hd/es2: remove obsolete callbacks
      greybus: es2: remove obsolete cport-reset ARPC
      greybus: svc: fix timeout indentation
      greybus: greybus_protocols: remove svc key-event type

John Stultz (4):
      greybus: Changes required for integrating into the Android build
      greybus: build: Add -fno-pic for 32bit arm as well
      greybus: Move briged phy structure definitions into gpbridge.h
      greybus: gb-audio: Add integrated greybus audio driver

Kris Huang (3):
      greybus: lights: Add runtime pm support
      greybus: lights: enable multi color LED support
      greybus: lights: Control runtime pm suspend/resume on AP side

Laurent Pinchart (25):
      greybus: es2: Reserve CPorts 16 and 17
      greybus: Add camera protocol definition
      greybus: Add driver for the camera class protocol
      greybus: camera: Fix endian conversion issues
      greybus: svc: Add support for the link config operation
      greybus: camera: Configure link speed for the data connection
      greybus: es2: Add support for CSI transmitter configuration
      greybus: camera: Configure the bridge CSI transmitter
      greybus: camera: Set link power mode to HS-G2 with 2 lanes
      greybus: camera: Fix remaining endian conversion issues
      greybus: es2: Fix endian conversion issues
      greybus: es2: Don't use stack memory as USB request data
      greybus: camera: Raise the CSI-2 bandwidth
      greybus: svc: Replace link config hack with standard operation
      greybus: camera: Return the result flags from the configure_streams response
      greybus: camera: Factorize link power mode configuration code into a function
      greybus: camera: Clean up when AP link power mode configuration failed
      greybus: camera: Set power mode after configuring streams
      greybus: camera: Don't configure CSI TX in test only mode
      greybus: camera: Implement the capabilities operation
      greybus: camera: Convert to bundle driver
      greybus: camera: Clean up on stream configuration failure
      greybus: camera: Fix data connection setup
      greybus: camera: Create and destroy data connection on demand
      greybus: camera: Hardcode the APB-A CSI-2 TX parameters

Mark A. Greer (11):
      greybus: gb-audio: Set clock edges to match rt5647 codec requirements
      greybus: gb-audio: Allocate space for 20 configurations
      greybus: gb-audio: Clean up codec name generation
      greybus: gb-audio: Fix DAI formats and master/slave settings
      greybus: gb-audio: cpu_dai.fmt does not exist in v4.1
      greybus: gb-audio: Add I2C device for rt5647 codec
      greybus: gb-audio: Remove useless comment
      greybus: gb-audio: Activate TX CPort in PCM workqueue
      greybus: gb-audio: Activate TX connection Bundle CPort ID
      greybus: gb-audio: Set I2S Configuration according to ASOC requests
      greybus: gb-audio: Set samples per message during init

Mark Greer (16):
      greybus: Initial I2S definitions
      greybus: gb-audio: Reset sample count when CPort deactivated
      greybus: gb-audio: Ensure i2c adapter struct exists before using
      greybus: audio: Remove I2S Bridged-PHY Protcol based audio driver
      greybus: i2s: Remove deprecated I2S Bridged-PHY Protocol
      greybus: audio: Allocate protocol and class values
      greybus: audio: Use underscore in file name
      greybus: audio: Add Audio Device Class Protocol definitions
      greybus: audio: Add Greybus Audio Device Class Protocol helper routines
      greybus: audio: Add direct audio streaming control for APBridgeA
      greybus: audio: Register CPorts for specific directions
      greybus: audio: Split start and stop APBridgeA requests
      greybus: audio: Use CSD instead of E2EFC for audio data connections
      greybus: audio: apbridgea: Remove GET_TX/RX_DELAY message types
      greybus: audio: Remove GET_TX/RX_DELAY message types
      greybus: audio: Fix incorrect direction value when enabling RX

Marti Bolivar (4):
      greybus: uart-gb.c: replace alloc_tty_driver with tty_alloc_driver
      greybus: uart-gb.c: dynamically allocate device numbers
      greybus: gb_hd_connection_find(): fix "not found" case
      greybus: remove obsolete SVC result codes

Matt Porter (33):
      greybus: update svc_msg_header fields and users to match spec
      greybus: move versioning from svc message header to handshake function
      greybus: update GREYBUS_VERSION_[MAJOR|MINOR] to match spec
      greybus: es1-ap-usb: fix svc control pipe flags
      greybus: initialize all fields in an SVC handshake message
      greybus: update descriptor module_id->module to match spec
      greybus: remove serial number descriptor to match spec
      greybus: remove unused function descriptor fields and change class->function_type
      greybus: update string descriptor length field to __u8 type to match spec
      greybus: update descriptor type enums to match renumbering in spec
      greybus: es1-ap-usb: adjust SVC buffer size to handle worst case
      greybus: remove additional unused fields from the cport descriptor
      greybus: fix error message on parse of cport descriptor size
      greybus: fix gb_add_module() by enabling the device_add()
      greybus: implement core module removal path
      greybus: fix manifest parsing problem with descriptor payload
      greybus: fix gb_manifest_parse() successful return path
      greybus: es1-ap-usb: handle -EPROTO in check_urb_status()
      greybus: gpio-gb: remove unused status field from struct gb_gpio_get_value_request
      greybus: gpio-gb: fix offset error checking and usage
      greybus: ap: add support for the AP Device ID unipro management function message
      greybus: module: add gb_module_find()
      greybus: interface: add gb_interface_find()
      greybus: ap: process the UniPro link up message
      greybus: svc: remove unneeded fields from the unipro set route message payload
      greybus: ap: add svc_set_route_send() command and use it on a link up event
      greybus: svc: remove the DDB function message support
      greybus: module: set device_id when initializing an interface
      greybus: connection: call connection_init hook after setting the handler
      greybus: add pwm protocol driver
      greybus: remove unused gb_connection_handler externs
      greybus: operation: add missing gb_operation_response_send() export
      greybus: gpio: add interrupt handling support

Michael Mogenson (2):
      greybus: remove gb_i2c_timeout_operation
      greybus: remove gb_i2c_retries_operation

Michael Scott (13):
      greybus: build: android: replace hard-coded build destination with variable
      greybus: build: android: add all greybus modules to the build
      greybus: build: android: Fix script which locates .ko files and moves them into ramdisk
      greybus: build: android: replace Linaro build specific logic with AOSP equivalents
      greybus: build: android: fix strip module build step
      greybus: build: remove Android makefile
      greybus: firmware: replace colons with underscore in firmware file request
      greybus: arche-platform: ensure wake-detect pin is deasserted
      greybus: arche-platform: bring SVC out of reset later in probe
      greybus: arche-platform: assert wake-detect to complete WAKE_OUT event
      greybus: arche-platform: reduce wait between WAKE_OUT checks
      greybus: interface: clear upper 16-bits of version_id and product_id
      greybus: adjust kernel version check for led_sysfs_is_disabled

Mitchell Tasman (1):
      greybus: svc: reconfig APBridgeA-Switch link to handle required load

Perry Hung (13):
      greybus: gb_operation: replace timeout workqueue
      greybus: gb_operation: drop operation refcount on cancel
      greybus: makefile: fix unused cflags
      greybus: battery: fix panic on operation error
      greybus: connection: silence warning on unbound protocols
      greybus: svc: add route create operation
      greybus: svc: create bidirectional routes on hotplug request
      greybus: svc: connection: ask SVC to create connections
      greybus: svc: add flags and traffic class parameter to connection create op
      greybus: svc: add route create operation
      greybus: svc: create bidirectional routes on hotplug request
      greybus: svc: connection: ask SVC to create connections
      greybus: svc: add flags and traffic class parameter to connection create op

Philip Yang (2):
      greybus: HID: Add runtime pm support
      greybus: power_supply: Add runtime pm support

Phong Tran (12):
      greybus: loopback: add more clean up when init connection fails
      greybus: svc: Fix endian of hotplug request data
      greybus: svc: use macro for init and exit protocol
      greybus: audio: Fix typo for macro I2S data version minor
      greybus: audio: Remove the MODULE_LICENSE()
      greybus: uart: Fix the memory leak in connection init
      greybus: endo: move endo id map declaration to endo.h
      greybus: uart: remove the redundant unregister chrdev
      greybus: uart: fix the clean up while uart initiates connection unsucessfully
      greybus: sdio: remove the redefine of sdio major and minor
      greybus: sdio: change the order of remove and free mmc host
      greybus: sdio: correct the usage of mmc request in work queues handler

Rob Herring (1):
      greybus: es2: fix driver name collision with es1

Rui Miguel Silva (90):
      greybus: es1: remove useless statement
      greybus: es1: release urb on error path
      greybus: protocol: dedup protocol find code
      greybus: manifest: be coherent with protocol name
      greybus: make: check kernel configuration options
      greybus: makefile: add MMC to the required option list
      greybus: sdio: extend sdio implementation
      greybus: sdio: fix defines for older kernels
      greybus: kernel_ver: add sg copy operations for kernel < 3.11
      greybus: examples: add manifest file for sdio
      greybus: sdio: split cmd_flags to there meaning
      greybus: sdio: rework of event handler
      greybus: sdio: fix return of get_cd and get_ro
      greybus: sdio: fix call to stop command if no data exist
      greybus: sdio: pass only data pointer to tranfer funtion
      greybus: sdio: check number of blocks in transfer
      greybus: sdio: add need poll to host caps
      greybus: sdio: fix transfer buffer handling and blocks counting
      greybus: makefile: add needed config options for lights
      greybus: lights: add lights implementation
      greybus: makefile: use POSIX functions for kernel cmp
      greybus: greybus_protocol: remove unused lights macros
      greybus: sdio: fix command type defines
      greybus: svc: fix endianness for svc message
      greybus: gpio: fix generic_handle_irq_desc api change
      greybus: sdio: add field to get_caps response
      greybus: sdio: fix card removable detection
      greybus: sdio: convert greybus ocr values to mmc ones
      greybus: sdio: clarify operator precedence
      greybus: sdio: send data block details at command request
      greybus: sdio: some cleanups in command function
      greybus: battery: move battery file to power_supply
      greybus: battery: move implementation to power_supply
      greybus: makefile: add power_supply config check
      greybus: power_supply: rework and operation changes
      greybus: manifest: fix bundle descriptor parse
      greybus: spi: add rdwr field to transfer descriptor
      greybus: spi: add master and device config operations
      greybus: spi: fix transfers bigger than greybus payload
      greybus: lights: add v4l2 flash operations
      greybus: lights: avoid channel torch double free
      greybus: lights: default value for v4l2 flash controls
      greybus: spi: move chipselect to one byte size
      greybus: spi: rename label to undo operation
      greybus: spi: validate spi master register
      greybus: spi: unregister master on device add fail
      greybus: spi: fix and cleanup spi devices handling
      greybus: camera: fix data types of operations
      greybus: power_supply: do not release failed supply alloc
      greybus: power_supply: fix unregister on error path
      greybus: power_supply: free supplies at release
      greybus: power_supply: fix error path at supplies setup
      greybus: power_supply: fix leak getting string properties
      greybus: power_supply: fix use after free of power supply
      greybus: power_supply: fix check for configured supply
      greybus: svc: add interface eject operation
      greybus: svc: add intf_eject attribute
      greybus: makefile: add requirement for CONFIG_INPUT
      greybus: kernel_ver: add handle for lights in 4.5
      greybus: lights: remove sync operation and work queue
      greybus: svc: add key event handling
      greybus: power_supply: rework get descriptors
      greybus: uart: fix double free of tty port
      greybus: spi: add device_type field to device config
      greybus: lights: remove unnecessary checks
      greybus: lights: remove has_flash on failure
      greybus: lights: fix check for configured lights
      greybus: lights: remove unnecessary check
      greybus: spi: fix message transfer over greybus
      greybus: spi: use timeout request send operation
      greybus: spi: rename rdwr field to xfer_flags
      greybus: spi: add inprogress bit to xfer_flags
      greybus: sdio: avoid extra memory operation at data transfer
      greybus: power_supply: change property values to integer
      greybus: power_supply: convert greybus properties to power supply properties
      greybus: power_supply: remove references to kernel header
      greybus: power_supply: add missing defines present in the specification
      greybus: sdio: convert vdd kernel values to greybus
      greybus: sdio: add switch voltage operation
      greybus: greybus_protocol: fix order of sdio get caps response
      greybus: sdio: increase maximum segment size
      greybus: power_supply: add callback to handle power supply changes
      greybus: power_supply: fix update interval check at request handler
      greybus: power_supply: invalidate cache at update request
      greybus: power_supply: fix name setting location
      greybus: light: remove KERNEL_VERSION checks
      greybus: sdio: remove KERNEL_VERSION checks
      greybus: power_supply: remove KERNEL_VERSION checks
      greybus: makefile: fix dependency of spi to spilib
      greybus: Kconfig: enable possibility to select light driver

Ryan Lim (3):
      greybus: loopback_test: Cancel only the tests running on selected devices
      greybus: loopback_test: Fix -z argument bug
      greybus: loopback_test: Add -f argument to cancel all tests

Sachin Pandhare (1):
      greybus: manifest: simplify descriptor address calculation

Sandeep Patil (12):
      greybus: power_supply: reverse version check for new psy API
      greybus: hd: add bus_id attribute
      greybus: Documentation/sysfs: add entry for host device bus_id
      greybus: Documentation/sysfs: fix sysfs paths
      greybus: greybus/core: add MODULE uevent var for all control devices
      greybus: gpbridge: add gpbridge device type
      greybus: gpbridge: make gpbridge device ids start with 1
      greybus: gpbridge: add uevent vars for gpbridge devices
      greybus: arche-platform: Fix the MODULE_LICENSE to match with header
      greybus: gpbridge: rename 'gpbridge' to 'gbphy' everywhere
      greybus: svc: remove input device handling in SVC protocol
      greybus: es2: use a single bulk ep pair for all greybus data

Svetlin Ankov (1):
      greybus: audio: Add Audio Manager

Vaibhav Agarwal (72):
      greybus: Audio: Add skeleton code for GB virtual codec driver
      greybus: audio: Build audio module conditionally
      greybus: audio: Use greybus connection device for codec registration
      greybus: audio: Add topology parser for GB codec
      greybus: audio: Add GB Audio class protocol functionality in GB codec DAI ops
      greybus: audio: Report uevent on GB codec module insertion/removal
      greybus: audio: cleanup unnecessary dev_err messages
      greybus: audio: Cleanup GB protocol connections in case of abrupt codec removal
      greybus: audio: Enable codec module detection on different slots
      greybus: audio_codec: update codec_name as per driver->name
      greybus: audio: codec driver cleanup
      greybus: audio: use variable 'is_connected' to maintain module state
      greybus: audio: Enable support for multiple codec modules
      greybus: audio: schedule workqueue to perform codec cleanup on module removal
      greybus: audio: return success for stop trigger if device removed
      greybus: audio: Use single codec driver registration
      greybus: audio: Add module specific driver
      greybus: audio: fix to resolve multiple audio module playback issue
      greybus: audio: Fix widget pointer update during control parsing
      greybus: audio: Added jack support to audio module
      greybus: audio: Add I2S_RX path related settings
      greybus: audio_manager: Split device type into i/p & o/p devices
      greybus: audio: Update device type based on widget types
      greybus: audio: acquire wakelock during active playback
      greybus: audio: acquire wakelock during active playback
      greybus: audio: Changes in response to ASoC cleanup
      greybus: audio: Reorder gb_deactivate sequence to avoid protocol error
      greybus: audio: Rename widget_type to jack_attrubute
      greybus: audio: Identify jack type based on attributes reported
      greybus: audio:gb_manager: Use proper locking around kobject_xxx
      greybus: audio: Cleanup GB Audio bundle driver.
      greybus: audio: Remove redundant lock protection & is_connected field
      greybus: audio: Reorganize sequence in GB audio bundle & codec driver
      greybus: audio: Reduce codec->lock granularity
      greybus: audio: Use standard API to set connections' private data
      greybus: audio: gb_manager: Use valid argument while removing ida allocated id.
      greybus: audio: Fix memory leak
      greybus: hd: Add API to release reserved CPorts
      greybus: es2: Release reserved cports CDSI0 and CDSI1
      greybus: audio: Report warning in case module is already removed
      greybus: audio: Report DISCONNECT event after resource cleanup.
      greybus: audio: Ratelimit err messages
      greybus: Use mute_stream callback to initiate GB data xfer
      greybus: Remove apbridgea_shutdown_xx sequence if already done
      greybus: audio: Ratelimit err messages in bundle, topology driver
      greybus: audio: topology: Add helper API to map controlid with widget name
      greybus: added warning message in case of missing widget
      greybus: audio: topology: Use csize while computing next_ptr in parser
      greybus: audio: topology: Enable enumerated control support
      greybus: audio: Fix incorrect codec state modification
      greybus: audio: Maintain proper codec state during shutdown sequence.
      greybus: audio: Avoid using ARA keyword
      greybus: audio: Remove un-necessary goto statement
      greybus: audio: Enable audio path based on control switch state only
      greybus: audio: Split helper APIs based on stream direction
      greybus: audio: Update dai_driver table with appropriate fields
      greybus: audio: Update parameters for gbaudio_module_update API
      greybus: audio: Use AIF widget to enable path between module & APB
      greybus: audio: Add id to identify data connection
      greybus: audio: Find data connection based on id
      greybus: Remove unused field from data_connection
      greybus: audio: Update pm runtime support in dai_ops callback
      greybus: audio: Maintain runtime stream params for each DAI
      greybus: audio: Maintain module stream state for each data connection
      greybus: audio: Report jack removal along with module removal
      greybus: audio: Add check for invalid index while mapping control
      greybus: Use valid control pointer while freeing memory
      greybus: audio: Remove unnecessary num_jack field from module_info
      greybus: audio: Added jack_type support in topology struct
      greybus: audio: Fetch jack_mask, button_mask from module's topology data
      greybus: audio: Report jack events conditionally
      greybus: audio: Avoid reporting spurious button events

Vaibhav Hiremath (67):
      greybus: platform: Add platform driver for DB3 AP bridge
      greybus: db3(arche)-platform: Remove all APB control code
      greybus: arche-platform: Rename db3-platform to arche-platform
      greybus: arche-apb-ctrl: Add APB control driver
      greybus: arche-apb-ctrl: Assert reset to APB at the end of probe
      greybus: arche_platform: Remove child's platform device as part of _remove() fn
      greybus: arche-platform: Export gpio (reset & sys_boot) to user
      greybus: arche-apb-ctrl: Set wake_detect gpio to low initially
      greybus: arche-apb-ctrl: Do not bring APB out of reset in probe
      greybus: arche-apb-ctrl: Remove wake_detect gpio and related code
      greybus: arche-apb-ctrl: deassert reset at the end of probe
      greybus: arche-platform: Add wake/detect support along with handshaking with AP
      greybus: arche-apb-ctrl: Enable the clocks after regulator enable
      greybus: arche-platform: Disable clock as part of driver remove
      greybus: arche-apb-ctrl: Remove extra delay in APB reset
      greybus: Revert "arche-apb-ctrl: Remove extra delay in APB reset"
      greybus: arche-platform: make apb_state common to both platform drivers
      greybus: arche-platform: Introduce coldboot_seq fn
      greybus: arche-platform: Cancel delayed_work in driver remove fn
      greybus: arche-platform: Rename cleanup fn to poweroff_seq
      greybus: arche-platform: Add state variable to driver data
      greybus: arche-platform: Pull wake/detect low in poweroff
      greybus: arche_platform: Add sysfs to allow user to change state
      greybus: arche-platform: Introduce FW_FLASHING state
      greybus: arche-apb-ctrl: Re-arrange init sequence
      greybus: arche-apb-ctrl: Rename init_seq and cleanup fn
      greybus: arche-apb-ctrl: Set default state value to OFF
      greybus: arche-apb-ctrl: Pass only platform_device to _seq fns
      greybus: arche-apb-ctrl: Add sysfs to allow user to change state
      greybus: arche-apb-ctrl: Introduce ara,init-disable property for APB
      greybus: arche-apb-ctrl: Rename internal operational state fns
      greybus: arche-apb-ctrl: Export operational fns from driver
      greybus: arche-platform: Fix boot, poweroff and fw_flashing seq with APBs
      greybus: arche-platform: Do not export any gpios
      greybus: arche-apb-ctrl: Do not export any gpios
      greybus: arche-platform: Control usb3613 from arche-platform
      greybus: arche-apb-ctrl: Do not coldboot APBs in probe
      greybus: arche-platform: Return immediately if in same state from state change fns
      greybus: arche-platform: Avoid doing same thing again in poweroff fn
      greybus: arche-apb-ctrl: Return immediately if in same state from state change fns
      greybus: arche-platform: Fix exit path in probe fn
      greybus: arche-apb-ctrl: Remove extra delay in APB reset
      greybus: arche-platform: Convert delayed work to do only hub3613 configuration
      greybus: arche-platform: Add wake detect state based on functionality
      greybus: arche-platform: Enable interrupt support on wake/detect line
      greybus: arche-platform: Assert wake/detect after SVC reset without delay
      greybus: arche-platform: Set direction of wake/detect gpio in poweroff fn
      greybus: arche-platform: Disable wake/detect interrupt in poweroff
      greybus: arche-platform: Make sure APB power cycles on coldboot
      greybus: arche-platform: Disable HUB3613 only in APB poweroff fn
      greybus: arche-platfrom: Get rid of 2sec delay in USB3613 configuration
      greybus: gpbridge: Add gpbridge driver init/exit helper macros
      greybus: connection: export gb_connection_disable_rx() fn
      greybus: Documentation: Add sysfs information about bridged-phy device
      greybus: arche-platform: Rename spinlock variable lock => wake_detect_lock
      greybus: arche-platform: Export fn to allow timesync driver to change the state
      greybus: arche-platform: Do not assert wake/detect signal to SVC
      greybus: arche-platform: Rename assert_wakedetect=>arche_platform_wd_irq_en
      greybus: arche-platform: Make fw_flashing_seq() return error
      greybus: arche-platform: Enter ACTIVE state only from OFF state
      greybus: arche-platform: Enable SVC clock during FW_FLASHING state
      greybus: svc: Pass the correct pointer to input_free_device()
      greybus: ratelimit errors usually seen on unipro_reset
      greybus: arche-platform: Add support for init-off feature
      greybus: arche-apb-ctrl: Rename ara,init-disable => arche,init-disable
      greybus: arche-platform: Reset SVC & APB only if turned off by SUSPEND_PREPARE
      greybus: arche-platform: Add support for SPI bus sharing for Mihi

Viresh Kumar (410):
      greybus: Fix parameters of core_param()
      greybus: .gitignore: minor updates
      greybus: gitignore: few more additions
      greybus: manifest: no need to initialize 'result'
      greybus: manifest: initialize variable during definition
      greybus: manifest: don't free unallocated resources
      greybus: Fix missing gb_protocol_exit() on gb_exit()
      greybus: don't set ->dev.driver to NULL when it is already NULL
      greybus: debug: mark debug messages with pr_debug() instead of printk
      greybus: sysfs: generalize gb_module_attr() to capture more cases
      greybus: module: free resources properly on failures
      greybus: interface: free resources properly on failures
      greybus: connection: free resources properly on failures
      greybus: manifest: remove extra loop for finding module descriptor
      greybus: manifest: improve print message
      greybus: core: remove unnecessary braces
      greybus: core: use 'drv' instead of dev->driver
      greybus: operation: free resources in the reverse order of allocation
      greybus: nullify dangling pointers
      greybus: connection: try cancelling operations only if list isn't empty
      greybus: manifest: make sure manifest_descs list is empty before parsing manifest
      greybus: connection: fix duplicating naming in _gb_hd_connection_insert()
      greybus: core: re-use gb_module_find() in gb_remove_module()
      greybus: module: move gb_module_find() to a more logical location
      greybus: module: move module specific code to module.c
      greybus: interface: move gb_module_interface_init() to interface.c
      greybus: ap: remove extra parameter to convert_ap_message()
      greybus: ap: keep all svc function routines together
      greybus: Pass '*ptr' to sizeof() wherever possible
      greybus: ap: function_id is already set by svc_msg_alloc()
      greybus: operation: don't complete operation twice
      greybus: Random spell fixes
      greybus: es1-ap-usb: don't use 'es1' after it is freed
      greybus: Remove "-gb" suffix from .c files
      greybus: Remove "gb-" prefix from .c files
      greybus: uart: s/REQ/TYPE
      greybus: create get_version() routines with the help of a macro
      greybus: remove unused version-response structs
      greybus: i2c: fix name conflict between function and struct: gb_i2c_transfer_response
      greybus: i2c: fix name conflict between function and struct: gb_i2c_transfer_request
      greybus: spi: add bridged-PHY spi protocol driver
      greybus: spi:fix sparse warnings
      greybus: gpb: Fix print mistakes
      greybus: hid: add HID class driver
      greybus: operation: s/status/result to match field name
      greybus: operation: Fix comment mistake
      greybus: interface: remove double underscore from fn name
      greybus: core: place module_{init|exit}() right below the routines
      greybus: hid: don't support OUTPUT report over interrupt channel
      greybus: core: Don't initialize greybus if it is disabled
      greybus: manifest: descriptor size should be >= header size
      greybus: manifest: don't need to check for desc_size == 0 anymore
      greybus: Greybus: Place module_init/exit() right after respective routines
      greybus: interface: put module->dev on failures
      greybus: kernel_ver.h: include <linux/kernel.h> to fix warning
      greybus: Unregister devices to get them freed
      greybus: interface: Fetch interface id instead of module id during setup
      greybus: Add bundle descriptor type
      greybus: hid: Use payload-size to get report size
      greybus: bundle: Create bundles using bundle descriptors
      greybus: bundle: Initialize all bundles on link-up
      greybus: manifest: Use interface descriptor instead of module descriptor to get information
      greybus: drop module descriptors
      greybus: driver corresponds to a bundle, not interface
      greybus: bundle: s/class_type/class
      greybus: endo: Use a real endo id
      greybus: endo: Rename endo's 'type' as 'id'
      greybus: Explicitly mark structures as packed
      greybus: manifest: Account for padding in string descriptor
      greybus: manifest: Warn if descriptor size > expected size
      greybus: manifest: Remove vendor, product and unique-id from interface descriptor
      greybus: manifest: drop interface-version field
      greybus: Remove class descriptor
      greybus: Explicitly add pad-bytes to manifest descriptors
      greybus: Move id-field before bundle-field in CPort Descriptor.
      greybus: endo: Add code to validate Endo ID
      greybus: endo: Create modules after validating Endo ID
      greybus: raw: include uaccess.h to fix warning
      greybus: gpio: fix tab/space mistake
      greybus: spi: Move structure definitions into gpbridge.h
      greybus: protocol: remove leading underscore from _gb_protocol_find()
      greybus: connection: name routines consistently
      greybus: endo: name routines consistently
      greybus: interface: name routines consistently
      greybus: module: name routines consistently
      greybus: raw: move module_{init|exit} to the end of functions
      greybus: gpbridge: rename gpb.c to gpbridge.c
      greybus: protocol: Add gb_gpbridge_protocol_driver()
      greybus: Use gb_gpbridge_protocol_init()
      greybus: endo: Add missing '\n' sprintf() for sysfs files
      greybus: operation: Remove unused variable 'buffer'
      greybus: s/bundle_cport_id/intf_cport_id
      greybus: Generate greybus wide unique ids for endo devices
      greybus: Prefix module-id with endo id
      greybus: Tear down devices in the reverse order
      greybus: endo: Fix compilation warning
      greybus: manifest: Allow bundles/connections list to be non-empty at manifest parsing
      greybus: Add control protocol support
      greybus: interface: Get manifest using Control protocol
      greybus: hotplug function doesn't need to contain manifest now
      greybus: connection: send [dis]connected events over control CPort
      greybus: control: Warn if non-control cport/bundles have control protocol/classes
      greybus: define more greybus classes
      greybus: svc: Fix doc-style comment
      greybus: svc: Use macro's for major/minor numbers
      greybus: Rename gb_gpbridge_protocol_driver() as gb_builtin_protocol_driver()
      greybus: control: Use gb_builtin_protocol_driver()
      greybus: connection: bind protocol after the connection is operational
      greybus: connection: intf_cport_id is local to an interface
      greybus: svc: Drop svc_set_route_send()
      greybus: interface: device_id belongs to the interface
      greybus: bundles: remove gb_bundle(s)_init()
      greybus: connection: Exit connection before destroying it
      greybus: interface: Fix comment mistake (s/add/init)
      greybus: connection: Use connection->dev for printing messages
      greybus: svc: SVC is part of greybus core
      greybus: svc: save pointer to struct gb_svc in struct gb_interface
      greybus: Cleanup connection leftovers
      greybus: connections: comment style fix
      greybus: interface: drop stale comment
      greybus: sync protocol and class definitions
      greybus: protocol: move version_response structure to greybus_protocols.h
      greybus: Define device ids for AP/SVC/modules
      greybus: Define cport/bundle for SVC protocol
      greybus: connection: don't send connected/disconnected events for SVC connection
      greybus: connection: Create gb_connection_create_range() to specify hd-cport-id range
      greybus: connection: Allow a bundle-less connection
      greybus: interface: Update gb_create_control_connection() to support SVC protocol
      greybus: svc: Add helpers to create AP<->SVC connection
      greybus: svc: Implement SVC requests
      greybus: svc: No need of a separate version request
      greybus: svc: Fix build warning on 64bit systems
      greybus: svc: fully initialize the partially initialized connection
      greybus: svc: connection is created only once now
      greybus: svc: remove interface->svc pointer
      greybus: interface: localize gb_interface_destroy()
      greybus: connection: compare hd_cport_id for matching SVC protocol
      greybus: es1/2: Lets start using svc protocol
      greybus: Switch to Cport 0 for svc and control protocol
      greybus: get rid of old svc-protocol
      greybus: es1: create svc connection early enough
      greybus: remove svc_msg.h
      greybus: initialize svc connection while creating hd
      greybus: es1/2: Lets start using svc protocol
      greybus: Switch to Cport 0 for svc and control protocol
      greybus: get rid of old svc-protocol
      greybus: es1: create svc connection early enough
      greybus: remove svc_msg.h
      greybus: initialize svc connection while creating hd
      greybus: connection: remove special check for svc cport id
      greybus: operation: Drop alignment attribute from operation message header
      greybus: operation: Move operation header to greybus_protocols.h
      greybus: svc: Move '{' to a new line in function definitions
      greybus: raw: Print expected/actual payload size on mismatch
      greybus: gpio: Print expected/actual payload size on mismatch
      greybus: svc: Print expected/actual payload size on mismatch
      greybus: svc: Handle hotplug request from a workqueue
      greybus: sdio: error out only for smaller payloads received
      greybus: hid: spell fix (s/infomation/information)
      greybus: battery: Use (already defined) major/minor macros
      greybus: gpio: Use (already defined) major/minor macros
      greybus: hid: Use (already defined) major/minor macros
      greybus: i2c: Use (already defined) major/minor macros
      greybus: pwm: Use (already defined) major/minor macros
      greybus: spi: Use (already defined) major/minor macros
      greybus: uart: Use (already defined) major/minor macros
      greybus: usb: Use (already defined) major/minor macros
      greybus: vibrator: Use (already defined) major/minor macros
      greybus: svc: Remove FIXME for firmware download
      greybus: audio: Add '<' to the print message for short messages
      greybus: svc: error out only for smaller payloads received
      greybus: connection: disconnect connection on failures during initialization
      greybus: define greybus wide protocol request numbers
      greybus: connection: Save major/minor supported by module
      greybus: connection: request protocol version before initializing connection
      greybus: audio: Drop get_version support
      greybus: battery: Drop get_version support
      greybus: control: Drop get_version support
      greybus: gpio: Drop get_version support
      greybus: hid: Drop get_version support
      greybus: i2c: Drop get_version support
      greybus: loopback: Drop get_version support
      greybus: pwm: Drop get_version support
      greybus: raw: Drop get_version support
      greybus: sdio: Drop get_version support
      greybus: spi: Drop get_version support
      greybus: uart: Drop get_version support
      greybus: usb: Drop get_version support
      greybus: vibrator: Drop get_version support
      greybus: svc: preserve major/minor of protocol supported by SVC
      greybus: protocol: Drop define_get_version support
      greybus: protocol: Remove unnecessary params of gb_protocol_get_version()
      greybus: interface: Preserve data received during hotplug event
      greybus: protocol: Create request structure from within gb_protocol_get_version()
      greybus: Add firmware protocol driver
      greybus: connection: Send protocol version for firmware protocol
      greybus: protocol: send own protocol version while requesting it
      greybus: battery: Move request/response structure/definitions to greybus_protocols.h
      greybus: hid: Move request/response structure/definitions to greybus_protocols.h
      greybus: raw: Move request/response structure/definitions to greybus_protocols.h
      greybus: connection: Destroy wq on failure
      greybus: connection: Don't free resources freed by gb_connection_release()
      greybus: Drop protocol specific _PROTOCOL_VERSION and _INVALID macros
      greybus: operation: print message type on errors
      greybus: loopback: Send some sensible data
      greybus: loopback: Print error on data mismatch
      greybus: operation: Fix wrong order of arguments
      greybus: svc: get hd directly from connection
      greybus: svc: Include system headers at the top
      greybus: svc: reject invalid state requests
      greybus: greybus_protocols: svc: Add missing comment
      greybus: greybus_protocols: Pack structure as required by the module firmware
      greybus: greybus_protocols: Pack all request/response structure
      greybus: svc: No need to return errors from [gb_]svc_connection_destroy()
      greybus: svc: Kill unnecessary wrapper functions
      greybus: svc: unexport few internal functions
      greybus: bundle: kill unnecessary forward declaration of routine
      greybus: connection: staticize gb_connection_init()
      greybus: connection: convert connected dev_warn() to dev_err()
      greybus: connection: no need to verify connection->protocol
      greybus: connection: Propagate error properly
      greybus: connection: call gb_connection_exit() from gb_connection_destroy()
      greybus: connection: protocol can be NULL in gb_connection_exit()
      greybus: spi: Allow spi-core to allocate bus numbers dynamically
      greybus: manifest: don't reject the interface on failing to initialize a cport
      greybus: manifest: release cport descriptors to avoid 'excess descriptors' warning
      greybus: connection: call gb_svc_connection_create() from gb_connection_init()
      greybus: connection: destroy svc connection on connection exit or errors
      greybus: connection: Call connection_destroy() from gb_connection_svc_connection_destroy()
      greybus: Add flags to struct gb_protocol
      greybus: svc: No need of per-direction route-create requests
      greybus: svc: destroy the route on module hot-unplug
      greybus: connection: Add sysfs 'ap_cport_id' file for connections
      greybus: svc: Implement DME peer get/set attributes helpers
      greybus: firmware: firmware's file name is 32 characters long
      greybus: firmware: Fix incorrect firmware file's name
      greybus: firmware: firmware image name has .tftf instead of .fw
      greybus: firmware: Send AP-ready operation
      greybus: Documentation: Update sysfs-bus-greybus
      greybus: svc: Use 'dev' instead '&op->connection->dev'
      greybus: svc: Allow consecutive hotplug events for the same module
      greybus: svc: Read and clear module's boot status
      greybus: interface: Pass interface pointer to gb_interface_remove()
      greybus: interface: gb_interface_create() isn't called for existing interfaces
      greybus: firmware: drop 'stage' from ready-to-boot request
      greybus: firmware: Don't send control-disconnected event for firmware protocol
      greybus: svc: skip setting flags for boot over unipro
      greybus: bundle: fix double freeing of bundle structure
      greybus: interface: fix double freeing of interface structure
      greybus: module: fix double freeing of module structure
      greybus: endo: move greybus_endo_setup() to endo.c
      greybus: db3-platform: Use dev_info for success messages
      greybus: es2: Send cport-id in wValue field to usb_control_msg()
      greybus: es2: remove fake vendor/product ids
      greybus: es1: Remove the (now) unused es1 driver
      greybus: firmware: Fetch es2 VID/PID to distinguish module vendors
      greybus: Documentation: Fix N-svc directory name
      greybus: Documentation: Arrange entries in alphabetical order
      greybus: svc: Use -EIO instead of -EINVAL for unipro errors
      greybus: don't use %h and %hh for printing short and char variables
      greybus: Prefix hexadecimal values with 0x while printing them
      greybus: interface: Prefix hexadecimal values with '0x'
      greybus: interface: Prefix DDBL1 attributes with ddbl1_ instead of unipro_
      greybus: interface: Expose DDBL1 manufacturing and production id in sysfs
      greybus: control: Use Macro's instead of direct values for major/minor
      greybus: svc: Set interface's hotplug attributes before using them
      greybus: interface: Receive serial-number on hotplug event
      greybus: interface: Fetch and expose version of interface's firmware
      greybus: arche-platform: arche_pdata is guaranteed to be valid
      greybus: arche-platform: Export GPIOs after populating APBs
      greybus: arche-platform: Put APB in reset if of_platform_populate() fails
      greybus: arche-platform: svc_reset_gpio can't be invalid in arche_platform_cleanup()
      greybus: arche-platform: propagate errors returned by gpiolib
      greybus: arche-apb: Spelling and whitespace fixes
      greybus: arche-apb: platform data 'apb' is guaranteed to be valid
      greybus: arche-apb: Replace gpio_is_valid() with gpio < 0 checks
      greybus: arche-apb: devm_regulator_get() doesn't return NULL
      greybus: arche-apb: NULL is a valid regulator
      greybus: arche-apb: Properly use dev_err/info/warn
      greybus: arche-apb: Don't use gpio after failing to request it
      greybus: arche-apb: Do cleanup within apb_ctrl_init_seq() for error cases
      greybus: arche-apb: Drop unnecessary checks
      greybus: arche: Remove unwanted headers and rearrange others
      greybus: svc: Expose and retain VID/PID received from bootrom for ES2
      greybus: audio_codec: Free gccodec on codec probe failure
      greybus: audio_codec: Free gccodec on dia probe failure
      greybus: audio_codec: convert to bundle driver
      greybus: audio: Rename Audio class and remove the unused one
      greybus: audio: Fix sparse warnings
      greybus: control: Fix sparse warnings
      greybus: connection: Fix sparse warnings around locking
      greybus: raw: Use consistent label names in connection_init()
      greybus: raw: Don't use (possibly) uninitialized raw->device in gb_raw_receive()
      greybus: raw: convert to bundle driver
      greybus: loopback: convert to bundle driver
      greybus: lights: Break light setup into two parts
      greybus: lights: convert to bundle driver
      greybus: power_supply: Break supply setup into two parts
      greybus: power_supply: convert to bundle driver
      greybus: manifest: Parse cports (within a bundle) in the order from manifest blob
      greybus: interface: Add print messages on interface initialization/removal
      greybus: hid: Don't disable connection-tx before destroying hid-device
      greybus: hid: Replace WARN_ON() with dev_err()
      greybus: checkpatch.pl: Mark --no-tree as default option
      greybus: firmware: Rename to bootrom protocol
      greybus: bootrom: fix typo
      greybus: audio-codec: Staticize few routines to fix build warnings
      greybus: es2: Allow proper release of greybus host device
      greybus: es2: disable cport-in after remove greybus host device
      greybus: es2: don't protest when getting -ENOENT/ESHUTDOWN USB errors
      greybus: es2: move ap_disconnect() below ap_probe()
      greybus: arche-ctrl: Don't expose driver internals to arche-platform driver
      greybus: Bundle: Initialize dma_mask for bundle device
      greybus: firmware: Add firmware management bundle driver
      greybus: firmware: Add firmware-download protocol driver
      greybus: fw-download: Create a macro for length of firmware file's name
      greybus: bootrom: Implement timeouts to detect Module failures
      greybus: Revert "interface: Fetch and expose version of interface's firmware"
      greybus: uart: Kill reference_count hack
      greybus: fw-download: Manage firmware requests with kref
      greybus: fw-download: Introduce timeouts for firmware downloads
      greybus: bootrom: Implement timeouts to detect Module failures
      greybus: fw-download: Replace timer with delayed-work
      greybus: gpbridge: Expose protocol_id in sysfs
      greybus: core: Rename greybus_module_match()
      greybus: Fix probing of gpbridge devices
      greybus: gpbridge: Export few routines
      greybus: gpbridge: Create module_gpbridge_driver()
      greybus: gpio: Create separate module
      greybus: i2c : Create separate module
      greybus: pwm: Create separate module
      greybus: sdio: Create separate module
      greybus: spi: Create separate module
      greybus: uart: Create separate module
      greybus: usb: Create separate module
      greybus: gpbridge: Rename gb-phy.ko module
      greybus: gpbridge: Remove (now) unused macro gb_gpbridge_builtin_driver()
      greybus: Remove bridge PHY protocol specific classes
      greybus: spi: Restructure spi.c to share it with other bundle drivers
      greybus: spi: Separate out spilib from spi bridged PHY bundle driver
      greybus: fw-management: Add firmware-management protocol driver
      greybus: fw-management: Add ioctl to initiate mode-switch
      greybus: fw-management: Free fw-mgmt only after all users are gone
      greybus: firmware: Add SPI protocol support
      greybus: Documentation: Document firmware-management interfaces
      greybus: fw-management: Replace double-tabs with space for structures
      greybus: fw-management: Fix 'make check' warnings
      greybus: fw-management: Update header's license
      greybus: fw-core: destroy connections on error
      greybus: fw-management: Fix error message's text
      greybus: Documentation/sysfs: Rename gpbridge to gbphy
      greybus: Documentation/sysfs: gbphy0 is an invalid name
      greybus: Remove unused VERSION specific macros
      greybus: gbphy: Remove protocol specific version handling
      greybus: fw-mgmt: Add hooks to do mode-switch
      greybus: control: Mode-switch is a 'core' operation
      greybus: interface: Mode switch takes over a second
      greybus: Add comment about the mode_switch_started flag
      greybus: pwm: Fix compilation with v4.3 kernel
      greybus: bootrom: Compile as a separate module
      greybus: core: Make greybus_match_one_id() return bool
      greybus: Use BIT(2) for GREYBUS_ID_MATCH_CLASS
      greybus: Remove legacy suspend/resume callbacks
      greybus: hd: Export host device tracepoint from hd.c
      greybus: connection: Avoid unnecessary line breaks
      greybus: firmware: Fix spelling mistake
      greybus: Remove extra blank lines
      greybus: connection: Return bool from gb_connection_intf_find()
      greybus: camera: Initialize mutex before using it
      greybus: svc: disable connection after all its users are gone
      greybus: manifest: Disallow reuse of control cport
      greybus: firmware: Add license and copyright header to application
      greybus: firmware: prefix char-device with 'gb-'
      greybus: connection: add trace events before disabling connection
      greybus: Revert "greybus: ratelimit errors usually seen on unipro_reset"
      greybus: don't use spin_lock_irq()
      greybus: uart: don't use spin_lock_irq()
      greybus: es2.c: don't use spin_lock_irq()
      greybus: gb_connections_lock: don't use spin_lock_irq()
      greybus: bootrom: Enhance timeout error message
      greybus: bootrom: send timeout in milliseconds to gb_bootrom_set_timeout()
      greybus: bootrom: Wait for 10 seconds for mode-switch
      greybus: kernel_ver: Add kstrtobool()
      greybus: light: Initialize mutex before using it
      greybus: Add Component Authentication Protocol support
      greybus: Documentation: Document Authentication interfaces
      greybus: es2: Fix 'make check' warnings with arpc
      greybus: audio_topology: Fix compile warning
      greybus: bootrom: Use "s2l" instead of boot stage in package name
      greybus: interface: add power_state attribute
      greybus: firmware: Improve test application
      greybus: spilib: make spilib independent of gbphy
      greybus: control: Print bundle-id in print messages
      greybus: bootrom: Skip setting timeout in failure path of size request
      greybus: bootrom: Don't print duplicate error messages
      greybus: bootrom: Set timeout before sending AP_READY
      greybus: bootrom: Create gb_bootrom_cancel_timeout()
      greybus: bootrom: Rename download_firmware() as find_firmware()
      greybus: firmware: Add runtime PM support
      greybus: interface: Rename *_NO_PM as *_NO_BUNDLE_ACTIVATE
      greybus: interface: Add quirk for no PM for S2 Loader
      greybus: firmware: Add new status types for backend updated request
      greybus: firmware: Add 'status' byte to backend fw version response
      greybus: firmware: Update Documentation and sample application
      greybus: firmware: use 'tag' instead of 'firmware_tag'
      greybus: firmware: Fix typo in documentation
      greybus: firmware: Remove extra parenthesis
      greybus: firmware: s/_LEN/_SIZE
      greybus: firmware: s/should/must
      greybus: firmware: add comment to show size calculations

Vishal Bhoj (1):
      greybus: build: android: avoid building for targets that don't have kernel binary

 Documentation/ABI/testing/sysfs-bus-greybus        |  275 +++
 drivers/Kconfig                                    |    2 +
 drivers/Makefile                                   |    1 +
 .../greybus/Documentation/firmware/authenticate.c  |  139 ++
 .../Documentation/firmware/firmware-management     |  333 +++
 drivers/greybus/Documentation/firmware/firmware.c  |  262 +++
 drivers/greybus/Kconfig                            |  219 ++
 drivers/greybus/Makefile                           |   96 +
 drivers/greybus/arche-apb-ctrl.c                   |  522 +++++
 drivers/greybus/arche-platform.c                   |  828 +++++++
 drivers/greybus/arche_platform.h                   |   39 +
 drivers/greybus/arpc.h                             |  109 +
 drivers/greybus/audio_apbridgea.c                  |  207 ++
 drivers/greybus/audio_apbridgea.h                  |  156 ++
 drivers/greybus/audio_codec.c                      | 1132 ++++++++++
 drivers/greybus/audio_codec.h                      |  283 +++
 drivers/greybus/audio_gb.c                         |  228 ++
 drivers/greybus/audio_manager.c                    |  184 ++
 drivers/greybus/audio_manager.h                    |   83 +
 drivers/greybus/audio_manager_module.c             |  258 +++
 drivers/greybus/audio_manager_private.h            |   28 +
 drivers/greybus/audio_manager_sysfs.c              |  102 +
 drivers/greybus/audio_module.c                     |  482 +++++
 drivers/greybus/audio_topology.c                   | 1442 +++++++++++++
 drivers/greybus/authentication.c                   |  429 ++++
 drivers/greybus/bootrom.c                          |  524 +++++
 drivers/greybus/bundle.c                           |  253 +++
 drivers/greybus/bundle.h                           |   90 +
 drivers/greybus/camera.c                           | 1400 ++++++++++++
 drivers/greybus/connection.c                       |  938 ++++++++
 drivers/greybus/connection.h                       |  129 ++
 drivers/greybus/control.c                          |  635 ++++++
 drivers/greybus/control.h                          |   65 +
 drivers/greybus/core.c                             |  361 ++++
 drivers/greybus/debugfs.c                          |   31 +
 drivers/greybus/devices                            |   11 +
 drivers/greybus/es2.c                              | 1597 ++++++++++++++
 drivers/greybus/firmware.h                         |   42 +
 drivers/greybus/fw-core.c                          |  312 +++
 drivers/greybus/fw-download.c                      |  465 ++++
 drivers/greybus/fw-management.c                    |  721 +++++++
 drivers/greybus/gb-camera.h                        |  127 ++
 drivers/greybus/gbphy.c                            |  360 ++++
 drivers/greybus/gbphy.h                            |  110 +
 drivers/greybus/gpio.c                             |  767 +++++++
 drivers/greybus/greybus.h                          |  154 ++
 drivers/greybus/greybus_authentication.h           |  120 ++
 drivers/greybus/greybus_firmware.h                 |  120 ++
 drivers/greybus/greybus_id.h                       |   26 +
 drivers/greybus/greybus_manifest.h                 |  177 ++
 drivers/greybus/greybus_protocols.h                | 2268 ++++++++++++++++++++
 drivers/greybus/greybus_trace.h                    |  531 +++++
 drivers/greybus/hd.c                               |  257 +++
 drivers/greybus/hd.h                               |   90 +
 drivers/greybus/hid.c                              |  536 +++++
 drivers/greybus/i2c.c                              |  343 +++
 drivers/greybus/interface.c                        | 1316 ++++++++++++
 drivers/greybus/interface.h                        |   88 +
 drivers/greybus/light.c                            | 1359 ++++++++++++
 drivers/greybus/log.c                              |  132 ++
 drivers/greybus/loopback.c                         | 1365 ++++++++++++
 drivers/greybus/manifest.c                         |  535 +++++
 drivers/greybus/manifest.h                         |   16 +
 drivers/greybus/module.c                           |  238 ++
 drivers/greybus/module.h                           |   34 +
 drivers/greybus/operation.c                        | 1239 +++++++++++
 drivers/greybus/operation.h                        |  210 ++
 drivers/greybus/power_supply.c                     | 1141 ++++++++++
 drivers/greybus/pwm.c                              |  338 +++
 drivers/greybus/raw.c                              |  381 ++++
 drivers/greybus/sdio.c                             |  884 ++++++++
 drivers/greybus/spi.c                              |   79 +
 drivers/greybus/spilib.c                           |  565 +++++
 drivers/greybus/spilib.h                           |   24 +
 drivers/greybus/svc.c                              | 1486 +++++++++++++
 drivers/greybus/svc.h                              |  109 +
 drivers/greybus/svc_watchdog.c                     |  198 ++
 drivers/greybus/timesync.c                         | 1357 ++++++++++++
 drivers/greybus/timesync.h                         |   45 +
 drivers/greybus/timesync_platform.c                |   77 +
 drivers/greybus/tools/.gitignore                   |    1 +
 drivers/greybus/tools/Android.mk                   |   10 +
 drivers/greybus/tools/Makefile                     |   31 +
 drivers/greybus/tools/README.loopback              |  198 ++
 drivers/greybus/tools/lbtest                       |  168 ++
 drivers/greybus/tools/loopback_test.c              | 1000 +++++++++
 drivers/greybus/uart.c                             | 1075 ++++++++++
 drivers/greybus/usb.c                              |  247 +++
 drivers/greybus/vibrator.c                         |  249 +++
 89 files changed, 37594 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-greybus
 create mode 100644 drivers/greybus/Documentation/firmware/authenticate.c
 create mode 100644 drivers/greybus/Documentation/firmware/firmware-management
 create mode 100644 drivers/greybus/Documentation/firmware/firmware.c
 create mode 100644 drivers/greybus/Kconfig
 create mode 100644 drivers/greybus/Makefile
 create mode 100644 drivers/greybus/arche-apb-ctrl.c
 create mode 100644 drivers/greybus/arche-platform.c
 create mode 100644 drivers/greybus/arche_platform.h
 create mode 100644 drivers/greybus/arpc.h
 create mode 100644 drivers/greybus/audio_apbridgea.c
 create mode 100644 drivers/greybus/audio_apbridgea.h
 create mode 100644 drivers/greybus/audio_codec.c
 create mode 100644 drivers/greybus/audio_codec.h
 create mode 100644 drivers/greybus/audio_gb.c
 create mode 100644 drivers/greybus/audio_manager.c
 create mode 100644 drivers/greybus/audio_manager.h
 create mode 100644 drivers/greybus/audio_manager_module.c
 create mode 100644 drivers/greybus/audio_manager_private.h
 create mode 100644 drivers/greybus/audio_manager_sysfs.c
 create mode 100644 drivers/greybus/audio_module.c
 create mode 100644 drivers/greybus/audio_topology.c
 create mode 100644 drivers/greybus/authentication.c
 create mode 100644 drivers/greybus/bootrom.c
 create mode 100644 drivers/greybus/bundle.c
 create mode 100644 drivers/greybus/bundle.h
 create mode 100644 drivers/greybus/camera.c
 create mode 100644 drivers/greybus/connection.c
 create mode 100644 drivers/greybus/connection.h
 create mode 100644 drivers/greybus/control.c
 create mode 100644 drivers/greybus/control.h
 create mode 100644 drivers/greybus/core.c
 create mode 100644 drivers/greybus/debugfs.c
 create mode 100644 drivers/greybus/devices
 create mode 100644 drivers/greybus/es2.c
 create mode 100644 drivers/greybus/firmware.h
 create mode 100644 drivers/greybus/fw-core.c
 create mode 100644 drivers/greybus/fw-download.c
 create mode 100644 drivers/greybus/fw-management.c
 create mode 100644 drivers/greybus/gb-camera.h
 create mode 100644 drivers/greybus/gbphy.c
 create mode 100644 drivers/greybus/gbphy.h
 create mode 100644 drivers/greybus/gpio.c
 create mode 100644 drivers/greybus/greybus.h
 create mode 100644 drivers/greybus/greybus_authentication.h
 create mode 100644 drivers/greybus/greybus_firmware.h
 create mode 100644 drivers/greybus/greybus_id.h
 create mode 100644 drivers/greybus/greybus_manifest.h
 create mode 100644 drivers/greybus/greybus_protocols.h
 create mode 100644 drivers/greybus/greybus_trace.h
 create mode 100644 drivers/greybus/hd.c
 create mode 100644 drivers/greybus/hd.h
 create mode 100644 drivers/greybus/hid.c
 create mode 100644 drivers/greybus/i2c.c
 create mode 100644 drivers/greybus/interface.c
 create mode 100644 drivers/greybus/interface.h
 create mode 100644 drivers/greybus/light.c
 create mode 100644 drivers/greybus/log.c
 create mode 100644 drivers/greybus/loopback.c
 create mode 100644 drivers/greybus/manifest.c
 create mode 100644 drivers/greybus/manifest.h
 create mode 100644 drivers/greybus/module.c
 create mode 100644 drivers/greybus/module.h
 create mode 100644 drivers/greybus/operation.c
 create mode 100644 drivers/greybus/operation.h
 create mode 100644 drivers/greybus/power_supply.c
 create mode 100644 drivers/greybus/pwm.c
 create mode 100644 drivers/greybus/raw.c
 create mode 100644 drivers/greybus/sdio.c
 create mode 100644 drivers/greybus/spi.c
 create mode 100644 drivers/greybus/spilib.c
 create mode 100644 drivers/greybus/spilib.h
 create mode 100644 drivers/greybus/svc.c
 create mode 100644 drivers/greybus/svc.h
 create mode 100644 drivers/greybus/svc_watchdog.c
 create mode 100644 drivers/greybus/timesync.c
 create mode 100644 drivers/greybus/timesync.h
 create mode 100644 drivers/greybus/timesync_platform.c
 create mode 100644 drivers/greybus/tools/.gitignore
 create mode 100644 drivers/greybus/tools/Android.mk
 create mode 100644 drivers/greybus/tools/Makefile
 create mode 100644 drivers/greybus/tools/README.loopback
 create mode 100755 drivers/greybus/tools/lbtest
 create mode 100644 drivers/greybus/tools/loopback_test.c
 create mode 100644 drivers/greybus/uart.c
 create mode 100644 drivers/greybus/usb.c
 create mode 100644 drivers/greybus/vibrator.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ