Commit Graph

1900 Commits

Author SHA1 Message Date
Sandeep Patil 3e29bcf4b1 greybus: core: add MODULE uevent var for all control devices
The new ctrl device under interface is missing a MODULE uevent var,
add it.

Testing Done:
cat 'uevent' from ctrl device.
$ cat 1-3.3.ctrl/uevent
DEVTYPE=greybus_control
BUS=1
MODULE=3
INTERFACE=3
GREYBUS_ID=fffe0001/ffee0011

Signed-off-by: Sandeep Patil <sspatil@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-05-04 18:41:05 -07:00
Viresh Kumar c81b1ec785 greybus: bootrom: Implement timeouts to detect Module failures
Its possible that the Module may fail to download the next stage
firmware, or to jump into it and boot into the new personality.

We have already seen examples of both of these cases on EVT 1.5.

This patch implements timeouts in the bootrom bundle driver, which now
expects the next request from the Module to be received at the AP within
1 second of the previous request/response. The time interval can be
increased later if required.

The timeouts are added between:
- AP_READY and FIRMWARE_SIZE operations
- FIRMWARE_SIZE and GET_FIRMWARE operations
- Two GET_FIRMWARE operations
- GET_FIRMWARE and READY_TO_BOOT operations
- READY_TO_BOOT operation and the call to the ->disconnect() event of
  the bootrom bundle (once the new hotplug request is received).

The timeout for the last case is kept at 5 seconds right now (random
value), as it may take a bit longer.

Because 'bootrom->fw' can be accessed simultaneously (from timeout
handler and incoming requests) and one of them can potentially free the
'->fw' structure, a mutex is also added to take care of such races while
accessing 'bootrom->fw' structure.

Also note that the '!bootrom->fw' check is moved to free_firmware()
routine.

Tested on EVT 1.5, by faking errors on certain requests, so that the
bootrom doesn't send any more requests. Normal case is working just
fine for audio and GP modules.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-05-04 11:33:18 -07:00
Vaibhav Agarwal 0634874a58 greybus: audio: Use standard API to set connections' private data
Use standard API greybus_set_drvdata() while setting private
data pointers for mgmt & data connection.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-05-04 11:30:20 -07:00
Vaibhav Agarwal c188fdc817 greybus: audio: Reduce codec->lock granularity
Earlier codec->lock protects almost complete register/unregister
module function. This can be reduced to specific operations.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-05-04 11:30:20 -07:00
Vaibhav Agarwal bb9986ef6b greybus: audio: Reorganize sequence in GB audio bundle & codec driver
Modify sequence of register_module & unregister_module in bundle
driver. This would affect the uevent generated for above user
space. Accordingly, we need to modify snd_soc_xxx sequence in
register_module() in codec driver.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-05-04 11:30:20 -07:00
Vaibhav Agarwal 852859ab81 greybus: audio: Remove redundant lock protection & is_connected field
Each module maintains connected status & a lock to protect it.
Using codec->lock we can safely serialize ASoC specific callbacks
(in response to mixer_ctl update or dai_ops) and gb module
disconnect. Thus is_connected field can be removed.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-05-04 11:29:06 -07:00
Vaibhav Agarwal e6ab7a154c greybus: audio: Cleanup GB Audio bundle driver.
Remove unnecessary lock & list maintained in GB audio bundle
driver

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-05-04 11:29:06 -07:00
Vaibhav Agarwal 84e0e38744 greybus: audio:gb_manager: Use proper locking around kobject_xxx
read/write_lock_irqsave mechanism was used to protect modules
list & kobject_xxx() in gb_audio_manager. Since kobject_xxx calls
can sleep spin_lock variants can't be used there. So use rw_sem
for protecting modules_list.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-05-04 11:29:06 -07:00
Viresh Kumar 7557d0481b greybus: fw-download: Create a macro for length of firmware file's name
Create a macro representing the length of the firmware file's name and
use that instead of using magic number in the code.

Suggested-by: Greg Kroah-Hartman <gregkh@google.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-05-03 17:26:36 -07:00
Viresh Kumar cca2220767 greybus: firmware: Add firmware-download protocol driver
This patch adds Firmware Download Protocol support to firmware core,
which allows an Interface to download a firmware package over Unipro.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Jun Li <li_jun@projectara.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:34:32 -07:00
Johan Hovold 7adb32b429 greybus: operation: fix definition of the invalid type
The invalid request type has been redefined as 0x7f.

Also remove the redundant redefinition of the invalid type from the
operation header.

Note that operation type 0x00 has been repurposed for the new generic
ping operation, which will be used to implement proper connection tear
down.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:27:05 -07:00
Johan Hovold a2cf2e5946 greybus: svc: define the version request
Define the SVC version request, which need not need to stay the same as
the legacy version request.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:27:05 -07:00
Johan Hovold b1f8bfea65 greybus: loopback: remove unsupported version request
Remove the unsupported version request from the loopback-driver request
handler.

Unsupported requests are already handled and logged using the default
case.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:27:05 -07:00
Johan Hovold 1c3aead12e greybus: control: implement mode-switch operation
Implement the unidirectional mode-switch operation.

This operation will be used in the implementation of the new generic
mode-switch functionality.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:27:05 -07:00
Johan Hovold 5fdc027d54 greybus: operation: add helper functions for unidirectional operations
Add helper functions for initiating unidirectional operations and
waiting for them to have been acknowledged as sent by the host device.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:27:05 -07:00
Johan Hovold 3e2ee2c1e5 greybus: operation: add support for initiating unidirectional operations
Add support for initiating unidirectional operations, that is, sending
requests that do not require responses.

Note that we already handle incoming unidirectional operations.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:27:05 -07:00
Johan Hovold 613c15e86b greybus: operation: update gb_operation_request_send() documentation
Fix and update gb_operation_request_send() documentation and add
kernel-doc formatting.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:27:05 -07:00
Johan Hovold 410abddb03 greybus: fix outdated kernel-doc comment
Update the function name, which has gained a timeout suffix.

Also fix the kernel-doc formatting.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:27:05 -07:00
Johan Hovold cca69fabeb greybus: interface: remove unused prototype
Remove unused function prototype that was left after a recent change.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:27:05 -07:00
Sandeep Patil 16ba59cedf greybus: Documentation/sysfs: fix sysfs paths
correct sysfs paths typo. (s/device/devices).

Signed-off-by: Sandeep Patil <sspatil@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-29 14:09:44 -07:00
Sandeep Patil dc9e9cf450 greybus: Documentation/sysfs: add entry for host device bus_id
Add description for greybus host device bus_id attribute

Signed-off-by: Sandeep Patil <sspatil@google.com>
Reviewed-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-29 14:09:44 -07:00
Sandeep Patil fbbd2b7c08 greybus: hd: add bus_id attribute
The greybus host device id can only be read by parsing the uevent if one
wants to identify a specific host device 'or' bus. This is 'lsgb' uses
today.

This change adds a bus_id attribute so libraries can identify multiple
host devices 'or' bus if they exist.

Testing Done:
Tested on Arche,
'cat /sys/bus/greybus/devices/greysbus1/bus_id'

Signed-off-by: Sandeep Patil <sspatil@google.com>
Reviewed-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-29 14:09:44 -07:00
Johan Hovold 6ddbed5766 greybus: interface: fix broken UniPro flow control
A recent commit inadvertently disabled E2EFC on all interface
connections, due to a failure to clear the ES3 bootrom quirk flags
during mode switch.

Testing Done: Verified that the CPort flags are again set to 0x7 for
non-bootrom interface connections.

Fixes: 5b638080e94e ("svc: keep interfaces registered during
mode switch")
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-28 08:13:46 -07:00
Viresh Kumar 9e04fb7b16 greybus: firmware: Add firmware management bundle driver
All firmware packages on the Modules or Interfaces are now managed by a
special Firmware Management Protocol. The Interface Manifest shall
at least contain the Firmware Management Bundle and a Firmware
Management Protocol CPort within it.

The bundle may contain additional CPorts based on the extra
functionality required to manage firmware packages.

For example, this is how the Firmware Management Bundle of the Interface
Manifest may look like:

	; Firmware Management Bundle (Bundle 1):
	[bundle-descriptor 1]
	class = 0x16

	; (Mandatory) Firmware Management Protocol on CPort 1
	[cport-descriptor 1]
	bundle = 1
	protocol = 0x18

	; (Optional) Firmware Download Protocol on CPort 2
	[cport-descriptor 2]
	bundle = 1
	protocol = 0x17

	; (Optional) SPI protocol on CPort 3
	[cport-descriptor 3]
	bundle = 1
	protocol = 0x0b

	; (Optional) Component Authentication Protocol (CAP) on CPort 4
	[cport-descriptor 4]
	bundle = 1
	protocol = 0xXX //TBD

This patch adds the basic firmware-management bundle driver, which just
creates a firmware-management connection. Support for individual
protocols will be added separately.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-27 11:10:44 -07:00
Vaibhav Agarwal 05ab5f0daa greybus: audio: Identify jack type based on attributes reported
Originally, idea was to use widget_type to identify jack_type.
However, suggestive way is to identify jack based on jack
attributes.

Changes already exists in codec FW to report jack attributes.

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-25 18:02:57 -07:00
Vaibhav Agarwal 475f498bce greybus: audio: Rename widget_type to jack_attrubute
This fields actually populates jack attribute. Thus, renamed to
reflect the real purpose.

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-25 18:02:57 -07:00
Vaibhav Agarwal 54e9070b24 greybus: audio: Reorder gb_deactivate sequence to avoid protocol error
gb_activate_tx/rx is triggered from _prepare() & gb_deactivate
from shutdown(). This may cause protocol error in case shutdown
executes without _prepare due to some hw_params failure.

Also, reorganise _prepare & _shutdown calls to make it more
readable & cleaner.

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-25 17:37:10 -07:00
Vaibhav Agarwal 2b8c2b5100 greybus: audio: Changes in response to ASoC cleanup
Update Makefile in response to SND_SOC_DYNAMIC_DAILINK cflag
removal.

Update files for msm-dynamic-dailink.h header file removal.

Update in response to API name changes. Also, acquire sound card
controls_rwsem before adding kcontrols to avoid deadlock.

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-25 17:37:10 -07:00
Viresh Kumar dc0f0285f8 greybus: Bundle: Initialize dma_mask for bundle device
We missed this only for bundle device, fix it.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 15:14:28 -07:00
David Lin 9983ea6b76 greybus: svc: free pwrmon_rails memory upon exit
For every time SVC instance is created, memories for storing the rail IDs
are allocated, however, they are not freed when the SVC is destroyed.
This patch fixes the memory leak by freeing the memory when debugfs for
SVC is no longer needed.

Testing Done:
- Check pwrmon debugfs after turning on and off SVC

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-25 11:13:59 -07:00
David Lin 3fd747a63e greybus: svc: clean up gb_svc struct for pwrmon
The power rail names and counts are unnecessarily stored in the gb_svc
structure once the SVC created, this causes waste of memory usage. This
patch removes rail names and rail counts storage from th gb_svc
structure.

Testing Done:
- Validated the readings from /d/greybus/1-svc/pwrmon/*

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-25 11:13:59 -07:00
Johan Hovold b482b0d6f0 greybus: svc: implement interface mailbox event
Implement the new interface mailbox-event operation.

The event is sent by the SVC under certain conditions when an interface
updates its mailbox value. Specifically, this event will be used to
implement the new mode-switch functionality.

Upon reception the AP verifies that the interface is known and that the
mailbox has the expected MAILBOX_GREYBUS value. If so, the interface is
disabled before being re-enabled (re-enumerated).

Note that during mode-switch, the interface will typically already be in
a disabled state when the mailbox is written (with the ES3 bootrom being
the notable exception).

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold 22bb9380d6 greybus: svc: implement module inserted and removed operations
Implement the new module inserted and removed operations.

The SVC sends these after detecting a module insertion or removal, and
in the former case after having determined the module geometry (i.e.
position and size).

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold ec562f28a7 greybus: interface: implement interface activation and power down
Implement the interface activation and power-down sequences.

Note that all the required SVC operations have not yet been implemented
so some stub functions are used for now.

Support for hibernating the UniPro link depends on future
power-management work so a stub function is used also for this.

Interface type handling will be refined later.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold 1e8e22b5cb greybus: svc: add stub interface-activate function
Add message structures (based on the current spec) for the SVC Interface
Activate operation, and a stub function that always return the Greybus
interface type.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold 017482b28d greybus: svc: add stub functions for v_sys, refclk and unipro
Add stub functions for v_sys, refclk and unipro resource management.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold 1e1565e5fe greybus: interface: add active state flag
Add active state flag to avoid deactivating an interface which is
already off.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold 36602a2981 greybus: module: implement controlled module removal
Implement controlled module removal through a new module attribute
"eject".

When a non-zero argument is written to the attribute, all interfaces of
the module are disabled (e.g. bundles are deregistered) and deactivated
(e.g. powered off) before instructing the SVC to physically eject the
module.

Note that the module device is not deregistered until the SVC has
reported the physical removal of all of its interfaces.

A new interface mutex is added to enforce interface state-change
serialisation.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold b15d97d770 greybus: core: add module abstraction
Add Greybus module abstraction that will be used to implement controlled
module removal (eject) and represent module geometry.

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

        <bus_id>-<module_id>

Interfaces, bundles, and control devices are consequently renamed as

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

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

Modules have the following attributes:

        module_id
        num_interfaces

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

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

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold 844fcbfeb6 greybus: svc: refactor interface re-enable
Add interface re-enable helper that is used during mode switch to
disable and re-enable (enumerate) an interface.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold deba0c03e9 greybus: Documentation/sysfs: sort entries alphabetically
The attribute entries have been kept mostly sorted within each device
type. Let's move the three more-recently added interface attributes
that were not.

Suggested-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold 4ff80a59ac greybus: Documentation/sysfs: add entry for control device
Add an entry for the recently added interface control device.

Also move the bundle-device entry below the control-device entries.

Reported-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Johan Hovold 12185197ea greybus: svc: use a common prefix for debugfs functions
Use the common gb_svc functions also for the recently added svc
functions. Having a common prefix clearly signals where the code
resides, something which improves readability and helps during
debugging (e.g. stack traces).

Note that all functions in svc.c except for these three use the common
prefix with the exception of the pwr_debugfs callbacks (that still use
*a* common prefix) and the attribute accessors (than can not have a
common prefix due to some macro magic).

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:08:30 -07:00
Vaibhav Agarwal d7ed7cbfe6 greybus: audio: acquire wakelock during active playback
This change was missed while merging original patch
commit-id: 53c765c33f4a69c31027ec012e717d303bd4feca
Thus submitting it again.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 10:09:45 -07:00
Viresh Kumar 7b62b61c75 greybus: arche-ctrl: Don't expose driver internals to arche-platform driver
We have chosen the *ugly* way of registering two platform drivers from
the module_init() of only one of them, so that we can avoid having two
separate modules for them.

But we should still be doing this in a sane way. There is no need to
expose internals of arche-ctrl to arche-platform, like PM-ops, probe,
resume, id-table, etc. Just expose an init and a exit callback.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-23 09:37:21 +09:00
Vaibhav Agarwal f2bf63a365 greybus: audio: acquire wakelock during active playback
use pm_stay_awake & pm_relax to avoid suspend sequence during
active playback

testing Done:
Music Playback ongoing
$ cat /sys/devices/soc.0/qcom,ara-codec.82/power/wakeup_active
1
Music Playback stopped
$ cat /sys/devices/soc.0/qcom,ara-codec.82/power/wakeup_active
0

Tested-by: David Lin <dtwlin@google.com>
Reviewed-by: David Lin <dtwlin@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Akash Choudhari <akashtc@google.com>
Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
2016-04-22 11:29:21 -07:00
Johan Hovold f35fdb2fbd greybus: svc: fix function-parameter indentation
We really shouldn't be passing response structures around this way, but
since we now are, let's at least make sure not to break the 80 col
limit.

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
Johan Hovold 5b35ef95ef greybus: svc: fix pwrmon return value
Errno -ENOSYS is reserved for missing syscalls, replace it with ENOMSG.

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
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