1520 Commits

Author SHA1 Message Date
Johan Hovold
b9f71bc854 greybus: camera: fix memory leak in capture-request handler
Fix memory leak in capture-request handler by making sure to release the
operation request buffer after sending the request.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-30 13:16:06 -08:00
Johan Hovold
12c8b0dcc8 greybus: camera: fix memory leak in configure-streams error path
Fix memory leak in configure-streams error path by making sure to
release the operation buffers before returning.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-30 13:16:06 -08:00
Viresh Kumar
d39bf704ac greybus: interface: Fetch and expose version of interface's firmware
The version of the currently running firmware on the module is useful
for userspace as it can be used to find if an update is available or
not. This patch fetches interface's version with a new control operation
and exposes the same in userspace.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-30 13:13:04 -08:00
Viresh Kumar
57c6bcc635 greybus: interface: Receive serial-number on hotplug event
Two exactly same modules can be uniquely identified using module's
serial-number. This patch updates the interface hotplug event to also
receive the serial-number of the module.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-30 13:13:04 -08:00
Viresh Kumar
63d742b68a greybus: svc: Set interface's hotplug attributes before using them
gb_svc_read_and_clear_module_boot_status() relies on the values of
ddbl1_manufacturer_id and ddbl1_product_id to distinguish between ES2
and ES3 chips, but those values are set for the interface structure only
after gb_svc_read_and_clear_module_boot_status() is called.

This makes ES2 module to fail with following errors:

greybus 1-2: Module not ready yet
greybus 1-svc: failed to clear boot status of interface 2: -19

Fix this by setting these values before calling
gb_svc_read_and_clear_module_boot_status().

Fixes: 51f1dc421b1f ("firmware and svc: detect the difference between ES2 and ES3 chips")
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-23 13:00:28 -08:00
Bryan O'Donoghue
72e53aed1d greybus: svc: Change GB_SVC_TYPE_LINK_CONFIG to 0x10
The greybus specification reserves SVC type 0x0d-0x0f for timesync.
53124d73 ('svc: Add support for the link config operation') allocated the
next available type 0x0d which conflicts with the specification. Change the
type to 0x10 to ensure kernel and specification agree.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-23 13:00:28 -08:00
Viresh Kumar
5b22521c89 greybus: control: Use Macro's instead of direct values for major/minor
We already have macro's defined for this, use them.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-22 18:20:39 -08:00
Vaibhav Hiremath
166f0aed32 greybus: arche-apb-ctrl: Assert reset to APB at the end of probe
Until we have proper handshake mechanism implemented with SVC
assert reset to APB at the end of probe.
We are safe here to do that, as SVC always enables clock to APB's
currently.
And also from EVT1 perspective, we should be good, as clock control
signals are now moved to AP.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-22 17:40:43 -08:00
Vaibhav Hiremath
5a78178718 greybus: arche-apb-ctrl: Add APB control driver
It was messy to integrate both SVC, APB (and any other arche
platform specific control) into one single driver. Especially
due to cross-dependency.

AP first needs to bringup SVC, as SVC should enable clock to APB.
APB should come up before HUB, as due to some reason HUB wouldn't
enumerate APB's is APB comes up later.
And on top of that we should have clean picture of hardware description
in DT file.

So this patch introduces APB control driver. Mostly copied from original
arche-platform driver + fixed boot sequence.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-22 17:40:43 -08:00
Vaibhav Hiremath
7fa6065475 greybus: arche-platform: Rename db3-platform to arche-platform
With multiple platforms getting rolled into ara,
db3 name is confusing. And this driver is applicable
to all arche platforms, so make sense to rename it to
arche-platform.c. Also rename all internal functions
accordingly.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-22 17:40:43 -08:00
Vaibhav Hiremath
0b8af6a901 greybus: db3(arche)-platform: Remove all APB control code
Current db3(arche)-platform driver was only handling APB control signals,
which is where it all started. But now with completion of DB3/EVT1 bringup
we know that platform driver is more than APB control.

We have to bring SVC up before APB, as SVC supposed to enable
clock to APB's. Note that, in EVT1, AP will have direct control over
APB's clock.
Then we have dependency between APB and USB HUB, where, APB should be
brought up before USB HUB (note that this needs to rootcaused).

This patch cleanup the db3(arche)-platform driver to remove all APB control
code. The idea here is create another driver for APB control
(arche-apb-ctrl.c), which will deal with APB.
And this driver will have generic/common platform specific support,
currently manages SVC resources.

This patch also takes in all the changes from factory branch, discovered
during bringup.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-22 17:40:43 -08:00
Eli Sennesh
3563ff88e6 greybus: firmware and svc: detect the difference between ES2 and ES3 chips
The Greybus SVC code needs to read and clear the module boot status upon
hotplug; this requires reading two different attributes depending on whether
we're running on ES2 or ES3.  On Marti Bolivar's (mbolivar@leaflabs.com)
advice, we detect ES2 using the unique ES2_DDBL1_MFR_ID and ES2_DDBL1_PROD_ID
for ES2 hardware, and treat all other chips as ES3 appropriately.  This patch
detects the difference and adds the appropriate definitions for ES3 hardware.

Signed-off-by: Eli Sennesh <esennesh@leaflabs.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-22 14:38:46 -08:00
Viresh Kumar
0e9403a0fb greybus: interface: Expose DDBL1 manufacturing and production id in sysfs
These ids are already fetched from the SVC, but were never exposed to
sysfs. Userspace may be interested in using these values and hence these
must be exposed to it.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-22 13:00:52 -08:00
Viresh Kumar
b32a5c5346 greybus: interface: Prefix DDBL1 attributes with ddbl1_ instead of unipro_
The Device descriptor block Level 1 (DDBL1) attributes are specified by
the MIPI standard and prefixing them with 'unipro_' isn't the best thing
to do. They should be prefixed with DDBL1 instead.

To make it more readable/clear:
- rename macros and variable by prefixing them with ddbl1_.
- write full names for mfg and prod ids as manufacturer and product ids.
- replace mfg (manufacturing) with mfr (manufacturer)

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-22 13:00:52 -08:00
Johan Hovold
a5a7723a0d greybus: es2: clean up csi-config request
Use __packed and __u8 for csi-config request that is going out on the
wire.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-22 12:59:02 -08:00
Johan Hovold
61a748a30d greybus: svc: drop copy-pasted function header
Drop function header that was copied but never updated or removed when
adding gb_svc_link_config.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-22 12:59:02 -08:00
Viresh Kumar
2c7df74468 greybus: interface: Prefix hexadecimal values with '0x'
In order to clearly specify the base of values printed using sysfs
files, prefix hexadecimal values with '0x'. Also force the minimum width
(to be printed) for hexadecimal values to their sizes.

To make it more readable make the second argument to gb_interface_attr()
a proper string.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-21 18:27:16 -08:00
Laurent Pinchart
ccb5803591 greybus: es2: Don't use stack memory as USB request data
USB request data must be DMAble memory, allocate it with kzalloc()
instead of declaring it as a local variable.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-21 18:22:43 -08:00
Laurent Pinchart
e715a54f4b greybus: es2: Fix endian conversion issues
Convert all USB request fields between CPU and protocol endianness.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-21 18:22:43 -08:00
Laurent Pinchart
98ce3b0a71 greybus: camera: Fix remaining endian conversion issues
Convert all Greybus operation fields between CPU and protocol
endianness.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-21 18:22:43 -08:00
Laurent Pinchart
b1c7d67e88 greybus: camera: Set link power mode to HS-G2 with 2 lanes
HS-G1 isn't enough for all camera modules. The gear will need to be
computed dynamically, but for now hardcode it to 2 with 2 lanes.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-21 16:38:23 -08:00
Laurent Pinchart
142b21fee0 greybus: camera: Configure the bridge CSI transmitter
Start or stop the CSI transmitter when configuring and unconfiguring the
streams respectively. The CSI configuration parameters are currently
hardcoded.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-21 16:35:27 -08:00
Laurent Pinchart
8e2b7daa23 greybus: es2: Add support for CSI transmitter configuration
Export a function from the es2 driver to configure the CSI transmitter
through the corresponding USB vendor control request.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-21 16:35:27 -08:00
Laurent Pinchart
bcc050be96 greybus: camera: Configure link speed for the data connection
Hardcode the speed to HS-G1 for now.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-21 16:34:46 -08:00
Laurent Pinchart
784f87614a greybus: svc: Add support for the link config operation
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-21 16:34:46 -08:00
Laurent Pinchart
c6622216ff greybus: camera: Fix endian conversion issues
Convert all Greybus operation fields between CPU and protocol
endianness.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reported-by: Rui Silva <rui.silva@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-21 16:34:46 -08:00
Greg Kroah-Hartman
70b3b3e77a greybus: tools: don't always build them.
This breaks the kernel-only build as it can't find any userspace headers
with the cross-compiler, so don't build the tools by "default" unless
you ask for them.

Reported-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-17 22:32:03 -08:00
Greg Kroah-Hartman
d5bc9607f7 greybus: loopback_test: null terminate the dict structure
This lets us test for any number of entries, no need to do an
ARRAY_SIZE-type comparison.  This fixes a build warning of comparing
signed/unsigned values.)

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-17 18:17:07 -08:00
Greg Kroah-Hartman
6bfff1dcb2 greybus: loopback_test: fix warning about signed/unsigned comparison
We read an int, don't treat it as a unsigned value, especially when
comparing it to a signed value.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-17 18:17:07 -08:00
Greg Kroah-Hartman
6b0658f687 greybus: tools: Add tools directory to greybus repo and add loopback
Move the loopback test to the greybus main repo, as we will be adding
more tests over time and it doesn't need to be burried in the gbsim
repo.

This moves the latest version from gbsim to this repo and fixes up the
Makefile to be a bit more "smart" when building the code.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-17 18:17:07 -08:00
Rui Miguel Silva
8e77c83e2a greybus: camera: fix data types of operations
In some operations definitions it was introduce some new fields with
the wrong data types, u8, instead of __u8. And because of this gbsim
build was broken.

Fixes: 3a1d7aa15bf6 ("greybus: Add camera protocol definition")

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-17 18:16:11 -08:00
Rui Miguel Silva
65fabd1848 greybus: spi: fix and cleanup spi devices handling
Cleanup and remove the spi_devices from the greybus spi handling as they
are not needed and they were completely misused.

With this the gb_spi_init does not make sense to exist anymore, so just
remove it and handle the master config directly from connection init.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Reported-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-15 14:32:12 -08:00
Rui Miguel Silva
4a0c4453e3 greybus: spi: unregister master on device add fail
When registering devices if any of it fail, just cleanup and release spi
master.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Reported-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-15 14:32:12 -08:00
Rui Miguel Silva
a92a2d46ac greybus: spi: validate spi master register
Check for error in registering spi master, even though the current code
will fail a little more ahead when trying to register devices in the
master.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Reported-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-15 14:32:12 -08:00
Rui Miguel Silva
5fbd1a0bcb greybus: spi: rename label to undo operation
Rename error path label to a more significant name related to the free
operation done.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Reported-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-15 14:32:12 -08:00
Johan Hovold
141af4f054 greybus: interface: fix hot-unplug control-connection timeouts
Set an interface disconnected flag when the interface has been
hot-unplugged (e.g. forcibly removed or after a reboot), and use it to
disable the control connection early when deregistering the interface
and its bundles.

This avoids a one-second (default) timeout for every enabled connection
(e.g. one per bundle) at hot-unplug, something which for the default
gpbridge manifest currently amounts to five seconds.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-15 14:23:37 -08:00
Johan Hovold
c634650ecc greybus: interface: clean up control-connection handling
Clean up control-connection handling by managing it through the control
structure and a higher-level control interface. Also make both the
control structure and connection lifetimes coincide with that of the
interface.

The control connection is now only enabled and disabled when the
interface is initialised and removed.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-15 14:23:37 -08:00
Johan Hovold
ed972e3a36 greybus: es2: demote dynamic-urb error message
Demote error message when needing to dynamically allocate an URB to
debug level.

This isn't really an error as much as a reminder of how the current es2
implementation works: It uses a fixed number of pre-allocated URBs, but
allocates URBs dynamically when enough messages are sent in rapid
succession to exhaust the URB pool.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-15 14:23:37 -08:00
Greg Kroah-Hartman
4dda744c2a greybus: Camera: remove f_dentry usage
On newer kernels f_dentry is gone, so use f_path.dentry instead.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-14 18:33:19 -08:00
Laurent Pinchart
3265edaf0d greybus: Add driver for the camera class protocol
Integration with the V4L2 camera drivers isn't available yet, a debugfs
interface is exposed instead to call the camera Greybus operations.

The debugfs interface will be kept for module testing purpose in order
to exercise all the protocol operations with various valid and invalid
parameters.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-14 18:12:30 -08:00
Laurent Pinchart
e61a2a7114 greybus: Add camera protocol definition
Define the camera data protocol ID and all the protocol operations data
structures.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-14 18:12:30 -08:00
Bryan O'Donoghue
8e3fba55d3 greybus: loopback: Add asynchronous backoff
A specific request from the firmware people is the ability to back-off from
sending more asynchronous operations once a specific number of operations
are in-flight.

This patch adds that ability - with a new sysfs parameter
'outstanding_operations_max' which controls the maximum number of
operations that can be outstanding/in-flight at any time.

When outstanding_operations_max contains a non-zero value and asynchronous
operations are being used - we will back-off until the completion counter
is < outstanding_operations_max. Tested in both synchronous and
asynchronous mode and with gb_loopback_connection_exit() interrupting
in-flight operations.

Suggested-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-11 16:18:40 -08:00
Bryan O'Donoghue
36f241fff4 greybus: loopback: Wait for all async operations to complete on exit
On gb_loopback_connection_exit() we should ensure every issued asynchronous
operation completes before exiting connection_exit(). This patch introduces
a waitqueue with a counter which represents the number of incomplete
asynchronous operations. When the counter reaches zero connection_exit()
will complete. At the point which we wait for outstanding operations to
complete the connection-specific loopback thread will have ceased to issue
new operations. Tested with both synchronous and asynchronous operations.

Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Suggested-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-11 16:18:34 -08:00
Bryan O'Donoghue
c7aae4e613 greybus: loopback: Retrun -ENOMEM if operation allocation fails
If operation allocation fails we should return -ENOMEM in the asynchronous
operation send routine. If we don't return here then the
gb_loopback_async_operation_put() later can dereference a NULL pointer if
the previous gb_operation_create() failed.

Reported-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-11 16:16:01 -08:00
Bryan O'Donoghue
578a0ab8dd greybus: loopback: Drop NULL check on container_of pointer
container_of cannot return NULL and the pointer passed to this context uses
reference counter bumped inside a spinlock, so the base pointer will be
valid at this point.

Suggested-by: Johan Hovold <johan@hovoldconstulting.com>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-11 16:16:01 -08:00
Axel Haslam
079fa32ba5 greybus: loopback: register a struct device.
Instead of having the loopback attributes in the bundle device,
Add a struct device to the gb_loopback struct and register it on
connection_init, deregister it at connection_exit, and move the
loopback attribute group over to the new device.

Use device_create_with_groups to create sysfs attributes
together with device.

Suggested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Suggested-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Axel Haslam <ahaslam@baylibre.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-11 16:04:40 -08:00
Axel Haslam
3647a313de greybus: loopback: remove mask attribute
The mask attribute is not used on the driver anymore and can be
removed.

Signed-off-by: Axel Haslam <ahaslam@baylibre.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-10 11:21:02 -05:00
Rui Miguel Silva
50014e0774 greybus: spi: move chipselect to one byte size
Fixed in the specification, some values for chipselect count and index
were different in size, just fix that for all reference to chipselect
and move all to one byte size and remove byte order operations.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-10 09:54:18 -05:00
Laurent Pinchart
a75fd8ba5c greybus: es2: Reserve CPorts 16 and 17
CPorts 16 and 17 are reserved for CDSI0 and CDSI1 by the ES2 APB, make
sure they won't be allocated dynamically.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-12-09 17:05:48 -05:00
Johan Hovold
5626e0bf99 greybus: interface: clean up error messages
Drop redundant __func__ and add missing errno values.

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>
2015-12-08 15:56:38 -05:00