1852 Commits

Author SHA1 Message Date
Johan Hovold
89f2df438b greybus: svc: keep error messages uniform
All SVC error messages, except for a few recently added ones, place the
errno last after a colon (:). Let's at least try to be consistent
within the svc code.

Note that this format also allows for more concise messages without risk
for ambiguity.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 20:19:33 +09:00
Viresh Kumar
2437f1c6b5 greybus: es2: move ap_disconnect() below ap_probe()
This makes it more readable, as the functions are present in this order
in the structure as well. Also keeping these two makes more sense.

Tested by removing the gb-es2.ko module on both EVT1.5 and qemu with
gbsim.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 16:11:15 +09:00
Viresh Kumar
62de6e0a72 greybus: es2: don't protest when getting -ENOENT/ESHUTDOWN USB errors
-ENOENT or -ESHUTDOWN happens when the urbs are being killed from
->disconnect() callback.  Don't complain to userspace about this, as the
user will see this on es2 module removal.

Tested by removing the gb-es2.ko module on both EVT1.5 and qemu with
gbsim. The driver doesn't throw anymore errors like:
"urb cport in error -2 (dropped)".

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: David Lin <dtwlin@google.com>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 16:11:15 +09:00
Viresh Kumar
ecdd3a2d59 greybus: es2: disable cport-in after remove greybus host device
This allows greybus to do operations before being removed.

Tested by removing the gb-es2.ko module on both EVT1.5 and qemu with
gbsim. The driver removes the greybus host device successfully before
disabling the urbs. The errors are still coming ("urb cport in error -2
(dropped)"), but with an error value -2 (ENOENT) instead of -108. And
that happens while the urbs are disabled, not while doing greybus
operations.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: David Lin <dtwlin@google.com>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 16:11:15 +09:00
Viresh Kumar
a0f997bd5d greybus: es2: Allow proper release of greybus host device
The usb core disables the Interface prior to calling ->disconnect() for
the usb driver. That disallows the es2 driver to remove the greybus host
device and every entity below it in a clean way, as the greybus core may
want to do few operations over the usb connection before getting
removed.

And so we see bunch of errors while we remove the es2 module, like:
"urb cport in error -108 (dropped)"

The usb core has a special per-driver flag, 'soft_unbind', for such usb
drivers. If this flag is set by a driver, the usb core doesn't disable
the Interface prior to calling ->disconnect().

Set that flag for es2.

Tested by removing the gb-es2.ko module on both EVT1.5 and qemu with
gbsim. The interface isn't disabled by the core and the driver is still
able initiate greybus operations over the Interface. This can be
properly tested only after the next patch which removes the greybus host
device before disabling the urbs.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 16:11:15 +09:00
Viresh Kumar
36460e8a89 greybus: audio-codec: Staticize few routines to fix build warnings
This fixes below warnings ..

greybus/audio_codec.c:20:32: warning: symbol 'find_data' was not declared. Should it be static?
greybus/audio_codec.c:955:6: warning: symbol 'gbaudio_codec_cleanup' was not declared. Should it be static?

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 11:44:44 +09:00
Viresh Kumar
de86e251f8 greybus: bootrom: fix typo
s/Firware/Firmware

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 11:43:35 +09:00
Evgeniy Borisov
698bdcbf87 greybus: camera-gb: Remove hardcode for CSI TX number of lanes
The number of CSI TX lanes is hardcoded to 4. Removing
this and start using value from configure stream response.

NOTE: The patch depends on the CSI init change:
"Use GB CSI params to init camera sub-devs"

Signed-off-by: Evgeniy Borisov <eborisov@mm-sol.com>
Reviewed-by: Gjorgji Rosikopulos <grosikopulos@mm-sol.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 11:19:28 +09:00
David Lin
9504677c9a greybus: svc: add AP power measurements debugfs support
This change adds the AP Power Monitor functions to
read out all the rails power information monitored by
the SVC.

Testing Done:
- $ cat /d/greybus/1-svc/pwrmon/*/*
  and validate the output with the svc stub power
  monitor functions
- $ tree /d/greybus/1-svc/pwrmon
  | | | |---pwrmon
  | | | | |---DUMMY_RAIL_1
  | | | | | |---current_now
  | | | | | |---power_now
  | | | | | |---voltage_now
  | | | | |---DUMMY_RAIL_2
  | | | | | |---current_now
  | | | | | |---power_now
  | | | | | |---voltage_now
  | | | | |---DUMMY_RAIL_3
  | | | | | |---current_now
  | | | | | |---power_now
  | | | | | |---voltage_now
  | | | | |---DUMMY_RAIL_4
  | | | | | |---current_now
  | | | | | |---power_now
  | | | | | |---voltage_now

Signed-off-by: David Lin <dtwlin@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:50:56 +09:00
David Lin
05a849191f greybus: es2: Fix apb_log null pointer exception
Read on apb_log causes null pointer exception due to the missing es2
device pointer passing to the debugfs.

Testing done:
- Enable apb_log and cat it

Signed-off-by: David Lin <dtwlin@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:41:08 +09:00
Axel Haslam
b4b1b7eda9 greybus: uart: Update line coding settings only when needed
The check for line coding changed should use memcmp and not memcpy.

Testing done: trivial

Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Axel Haslam <ahaslam@baylibre.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:33:47 +09:00
Johan Hovold
41d514020f greybus: svc: remove interface-remove helper
Remove unnecessary interface-remove helper.

Also add comment about why the disconnected flag is set.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:09:03 +09:00
Johan Hovold
96fb6c340b greybus: svc: keep interfaces registered during mode switch
Keep a detected interface registered until it is physically removed.
Specifically, do not re-register an interface that is switching mode.

Note that this also allows us to get rid of some nasty hacks from core.
The Ara VID/PID bootrom hack for ES2 will continue to work, but is now
mostly confined to the bootrom driver.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:09:03 +09:00
Johan Hovold
87a4c819a5 greybus: svc: make sure to deactivate all interfaces on disconnect
Make sure to deactivate all interfaces when the svc is going away.

This is needed to eventually be able to do controlled teardown of the
unipro network.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:09:03 +09:00
Johan Hovold
49605839bc greybus: interface: reduce control-device lifetime
Make the control-device lifetime coincide with when the interface is
enabled (enumerated).

This is needed to be able register a new control device after a mode
switch.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:09:03 +09:00
Johan Hovold
b6147e4fb1 greybus: control: return error pointer when failing to create control device
Return an error pointer when failing to create a control device.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:09:03 +09:00
Johan Hovold
7c8eb12dbb greybus: interface: move vendor and product strings to control device
The control device is an abstraction of the control connection over
which a greybus manifest is retrieved. As interfaces switch modes (e.g.
after boot-over-unipro) they expose new manifests, which can contain
different vendor and product strings.

Eventually control devices will be deregistered and recreated after an
interface mode switch, while the interface itself remains registered.

Note that only interfaces of type greybus will have control devices.
Specifically, dummy interfaces will not.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:09:03 +09:00
Johan Hovold
7326e07b58 greybus: interface: register control device at hotplug
Make sure to register also the control device along with any bundles
when registering an interface.

Note that we currently ignore failures to register the control device
just as we do for bundle devices.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:06:00 +09:00
Johan Hovold
a6e5b014b8 greybus: core: make the control object be a device
Make the control object be a greybus device.

The control device will be used to expose attributes specific to
greybus-type interfaces.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:06:00 +09:00
Johan Hovold
1ed8cdef40 greybus: control: move timesync-operation functions
Move the timesync-operation functions above the control-object
management functions, which is where all other operation implementations
reside.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:06:00 +09:00
Johan Hovold
a530a8be39 greybus: interface: disable interface on registration failures
Disable and deactivate an interface immediately on registration
failures.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:06:00 +09:00
Johan Hovold
078ef067bc greybus: Documentation/sysfs: add example control devices
Add control devices to the example sysfs tree.

Control devices are named

	<bus_id>-<module_id>.<intf_id>.ctrl

and expose attributes that are specific to the greybus interface type.
Specifically, dummy interfaces do not have a control device.

Currently, only the vendor and product strings extracted from the
manifest are exported.

A subtree of the example tree now looks as follows:

greybus1/
├── 1-5
│   ├── 1-5.5
│   │   ├── 1-5.5.2
│   │   │   ├── bundle_class
│   │   │   ├── bundle_id
│   │   │   └── state
│   │   ├── 1-5.5.ctrl
│   │   │   ├── product_string
│   │   │   └── vendor_string
│   │   ├── ddbl1_manufacturer_id
│   │   ├── ddbl1_product_id
│   │   ├── interface_id
│   │   ├── product_id
│   │   ├── serial_number
│   │   └── vendor_id
│   ├── 1-5.6
│   │   └── interface_id
│   ├── eject
│   ├── module_id
│   └── num_interfaces
└── 1-svc

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:03:13 +09:00
Johan Hovold
9e5e6fa6bf greybus: Documentation/sysfs: rename the svc eject attribute
The svc eject attribute was added as an interim solution and is still
used to implement a form of forced ejection.

This will soon be superseded by the module eject attribute, which will
provide an interface for clean eject. We may keep the forced-eject
mechanism around indefinitely, albeit possibly with a different name
(e.g. forced_intf_eject). Either way, update the example tree to reflect
the actual name, intf_eject, which currently used for this svc attribute.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:03:13 +09:00
Johan Hovold
78b609b14c greybus: Documentation/sysfs: remove interface unique_id attribute
Remove the interface unique_id attribute, which there is currently no
plan to ever implement.

Note that the Ara serial numbers are already exposed through the
serial_number attribute.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:03:13 +09:00
Johan Hovold
aba2fc626e greybus: Documentation: move the interface power attributes
Move the interface power attributes after the other interface attributes
to keep the attributes grouped by device type.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:03:13 +09:00
Johan Hovold
7d963cbe83 greybus: manifest: fix illegal free in error path
The manifest-parsing code could end up leaving the interface
vendor_string set to an error pointer that we'd eventually try to free
when destroying the interface.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 10:03:13 +09:00
Rui Miguel Silva
d1d67714a4 greybus: spi: use timeout request send operation
When transfer speed is too slow (less than 17Khz) the operation can take
longer than the default greybus timeout. Because of this we need to use
the request_send_sync_timeout and calculate the correct timeout for each
operation.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Tested-by: Philip Yang <philipy@bsquare.com>
Tested-by: Axel Haslam <ahaslam@baylibre.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 08:34:00 +09:00
Rui Miguel Silva
0928b2e440 greybus: spi: fix message transfer over greybus
The actual implementation of transfer_one_message have problems with
some cases in the possible transfer options. We try to maximize the
number of spi transfers in one greybus operation and need to save state
until the full message is dispatch over greybus.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Tested-by: Philip Yang <philipy@bsquare.com>
Tested-by: Axel Haslam <ahaslam@baylibre.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-21 08:34:00 +09:00
David Lin
192c70dcf6 greybus: svc watchdog: Disable watchdog upon entering suspend
SVC watchdog should be disabled when device is entering suspend mode.

Testing done:
 - Sanity tested on EVT1.5
 - Check no SVC ping during the suspend process
 - Check SVC watchdog is back on pinging once device is resumed

Signed-off-by: David Lin <dtwlin@google.com>
Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
[vaibhav.hiremath@linaro.org: Removed unwanted check in notifier callback and
Updated commit description]
Tested-by: Sandeep Patil <sspatil@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-15 14:42:53 -07:00
David Lin
9160b7c765 greybus: arche-platform: Power-off unipro subsystem upon suspend
Switch off APBs/SVC/Switch in the suspend call notifier. Note that
this is an interim solution to enable fishfooding.

Testing done:
 - Passed QA sanity test on EVT1.5
 - Suspend current measured at ~70mW

Signed-off-by: David Lin <dtwlin@google.com>
Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
[vaibhav.hiremath@linaro.org: Updated commit description]
Tested-by: Sandeep Patil <sspatil@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-15 14:42:53 -07:00
Bryan O'Donoghue
777471a445 greybus: Fixup __u64, __u32 to __le64, __le32 in timesync declarations
A number of data in TimeSync command structures are declared __u64/__u32
instead of __le64/__le32, I forgot to put this through an x86_64 compile
before presentation for merge and as a result didn't catch this error. This
patch fixes.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-12 22:33:39 -07:00
Vaibhav Hiremath
a7ddda1f5a greybus: arche-platfrom: Get rid of 2sec delay in USB3613 configuration
Earlier during boot sequence implementation, we had seen race between
USb3613 and APB boot, and since APB boot time is ~2sec, we delayed
USb3613 configuration for 2sec after APB deassertion of reset.

This obviously won't work in the case of suspend/resume, where we would
like to put APB into OFF state and coldboot in resume.

With the latest FW changes, we do not see any race issue. I have done
regression testing (> 50 iteration of reboot + unipro link up and down)
without any issues.

So lets get rid of the 2sec delay with this patch.

Testing Done: Tested on EVT 1.5 platform.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Tested-by: David Lin <dtwlin@google.com>
Reviewed-by: David Lin <dtwlin@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-12 22:20:11 -07:00
Evgeniy Borisov
b490503896 greybus: camera-gb: Extend the configure streams interface
Extending the configure streams interface with CSI params.
Getting CSI frequency data form configure streams response.
 * num_lanes - Number of CSI data lanes
 * clk_freq - CSI clock frequency in Hz
 * lines_per_second - Total number of lines in a second of
transmission (blanking included)

From the AP side we need to know for the CSI speed
configuration. This information is needed for dynamically
bandwidth calculations.

NOTE: Change should be along merged with corresponding
      interface change in kernel:
      "camera: Extend the configure streams
      interface with CSI params"

Signed-off-by: Evgeniy Borisov <eborisov@mm-sol.com>
Reviewed-by: Gjorgji Rosikopulos <grosikopulos@mm-sol.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-11 18:47:57 -07:00
David Lin
ddb10c8acc greybus: svc: add Interface power measurements support
This change implements the AP Power Monitor functions for obtaining
current/voltage/power on a specific rail of an Interface.

Testing Done:

$ cat /sys/bus/greybus/devices/1-3/current_now
103
$ cat /sys/bus/greybus/devices/1-3/power_now
303
$ cat /sys/bus/greybus/devices/1-3/voltage_now
203

Signed-off-by: David Lin <dtwlin@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-07 21:37:59 -07:00
Vaibhav Agarwal
89de9a0621 greybus: audio: Update device type based on widget types
Device type info shared to above HAL is currently hard coded
to SPK only. Actual device type is identifed while parsing
widget types from topology FW shared by codec module.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Reviewed-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-05 09:39:22 -04:00
Vaibhav Agarwal
a9234bfd6c greybus: audio_manager: Split device type into i/p & o/p devices
Currently, single field is used to report device type say SPK,
MIC, HS, HP, etc. However above HAL expects separate fields for
input & ouput device types.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Reviewed-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-05 09:39:22 -04:00
Gjorgji Rosikopulos
dc5cc72cc6 greybus: camera: Add metadata format
Add support for greybus metadata format.
Greybus metadata format id is 0x41.

Signed-off-by: Gjorgji Rosikopulos <grosikopulos@mm-sol.com>
Acked-by: Laurent Pinchart <laurent.pinchart@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-04 21:19:06 -07:00
Viresh Kumar
5a53e02eaf greybus: firmware: Rename to bootrom protocol
Align with Greybus specifications and rename Firmware Protocol driver as
Bootrom Protocol driver.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-04 21:19:06 -07:00
Viresh Kumar
0c35631bce greybus: checkpatch.pl: Mark --no-tree as default option
Don't know why, but checkpatch checks if we are running it from top of a
kernel tree or not, but then it also provides an option to suppress the
warning using --no-tree.

Instead of forcing everyone to use this every time, lets make this
behavior default.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-02 19:44:30 -07:00
Akash Choudhari
f053f44c9f greybus: Revert "Added a sysfs entry to power down the SVC"
This reverts commit a1d8f2c3856804ed26157104bb203edf4c882a6c.
2016-04-01 20:10:01 -07:00
Georgi Dobrev
88a3011e91 greybus: Added a sysfs entry to power down the SVC
Added a sysfs entry called pwr_off. When a "1" is passed to it,
it sends a GB_SVC_TYPE_PWR_DOWN command to the SVC, powering it down
along with the switch and INA231 chips.

Testing Done: Tested on EVT1_5, works.

Signed-off-by: Georgi Dobrev <dobrev_georgi@projectara.com>
2016-04-01 14:41:49 -07:00
Greg Kroah-Hartman
d9984cf0f2 greybus: scripts: create subdir for checkpatch and spelling.txt
They belong in a subdir.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-03-31 22:35:24 -07:00
Greg Kroah-Hartman
a4d11cee6f greybus: trivial: add checkpatch.pl to the tree
For those who are stuck using old kernel trees, let's include the latest
version of checkpatch.pl into our tree to help prevent coding style
mistakes from creeping in.

Also add spelling.txt to catch spelling errors in comments.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-03-31 22:26:39 -07:00
Vaibhav Agarwal
094c4302c1 greybus: audio: Add I2S_RX path related settings
Capture path related settings during startup, perpare &
hwparams were earlier missing.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Reviewed-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-03-31 10:19:57 -07:00
Vaibhav Agarwal
64a7e2cceb greybus: audio: Added jack support to audio module
Register jack with ASoC sound card in case audio module
populates it via codec FW. Currently, only a single jack
with 4 buttons can be registered for each module.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Reviewed-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-03-31 10:19:57 -07:00
Vaibhav Agarwal
6da549ec85 greybus: audio: Fix widget pointer update during control parsing
widget pointer was incorrectly modfied while parsing kcontrol

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Reviewed-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-03-31 10:19:57 -07:00
Gjorgji Rosikopulos
1472ec67f7 greybus: camera: Use pointer for gb camera module ops
No need to duplicate module ops on every registration.

NOTE: Change should be along merged with:
"msm: camera: Change gb_camera_module ops to pointer"

Signed-off-by: Gjorgji Rosikopulos <grosikopulos@mm-sol.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-03-31 10:07:59 -07:00
Johan Hovold
a7be84613a greybus: interface: add Ara serial-number support
Add support for reading the Ara serial-number attributes.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-03-30 14:23:19 -07:00
Johan Hovold
50ad4163a5 greybus: interface: clean up DME attribute handling
Move all DME defines to the interface code and rename them using common
prefixes (e.g. DME_T and DME_TOSHIBA).

The DDB L1 attributes are defined by MIPI and the Ara attributes are
currently Toshiba specific so move them all out of the Greybus protocol
header.

Also rename the Greybus init-status values using a GB_INIT prefix.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-03-30 14:23:19 -07:00
Johan Hovold
ac72cfbe69 greybus: interface: clean up ES2 VID/PID hack
Clean up the ES2 VID/PID hack using a new quirk flag.

Note that the hack is now used if and only if the interface is a Toshiba
ES2 bridge (and not if the attributes read zero).

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-03-30 14:23:19 -07:00