Commit graph

1397 commits

Author SHA1 Message Date
Johan Hovold 8dfd3fe564 greybus: es1: separate urb allocation and submission
Separate in-urb allocation and submission.

This is needed for the driver-model rework.

Compile-tested only.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-04 20:35:18 -08:00
Johan Hovold 0ce68ce417 greybus: es2: separate urb allocation and submission
Refactor in-urb submission, and make sure to separate allocation and
submission.

Eventually we'll be submitting the urbs at cport enable rather than at
probe, and this is also needed for the driver-model rework.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-04 20:35:18 -08:00
Johan Hovold b6d808525a greybus: es2: fix endpoint requirement check
The current es2 implementation only checks for no IN or OUT bulk
endpoints, but still assumes there are precisely NUM_BULKS of each.

Specifically, urbs could be allocated and initialised to default values,
which amounts to bulk urbs being submitted to the control endpoint.

We should be able to handle any number of endpoints, but for now let's
just require NUM_BULKS of each.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-04 20:35:18 -08:00
Johan Hovold a51e8551e2 greybus: es2: fix use-after-free at disconnect
The interface private data is released as part of host-device removal
and must not be accessed afterwards.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-04 20:35:18 -08:00
Mark Greer 357499df45 greybus: i2s: Remove deprecated I2S Bridged-PHY Protocol
The Greybus I2S Bridged-PHY Protocol is deprecated so remove
all support for it from the Greybus code.

CC: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-04 20:30:47 -08:00
Mark Greer ddc88eff2b greybus: audio: Remove I2S Bridged-PHY Protcol based audio driver
The Greybus I2S Bridged-PHY Protocol is now deprecated so remove
the audio driver that is based on it.

CC: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-04 20:30:47 -08:00
Johan Hovold d6e139bc15 greybus: hd: use common prefix for exported functions
Rename the exported functions using the common gb_-prefix.

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-11-04 20:25:57 -08:00
Johan Hovold a8cc020f3f greybus: hd: rename host-driver structure
Rename host-driver structure to gb_hd_driver to more clearly separate it
from the host-device structure.

Also remove an outdated description of the struct.

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-11-04 20:25:57 -08:00
Johan Hovold 2537636aba greybus: hd: rename host-device structure
Rename host-device structure gb_host_device to match our other
structures.

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-11-04 20:25:57 -08:00
Johan Hovold 7bc6faaca7 greybus: create host-device compilation unit
Move everything host-device related to hd.c and hd.h.

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-11-04 20:25:57 -08:00
Johan Hovold 04fdd6a51a greybus: remove obsolete comment
Remove obsolete comment about the driver model.

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-11-04 20:25:57 -08:00
Johan Hovold 26b7ba66c1 greybus: endo: fix ida memory leak
Fix yet another ida memory leak due to failure to call the destructor.

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-11-04 20:20:23 -08:00
Johan Hovold fcfc762f17 greybus: connection: kill gb_hd_connections_exit
Connections are destroyed as part of interface tear down. If we fail to
do that properly it's a bug that should be fixed rather than papered
over by a fall-back clean up function.

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-11-04 20:20:23 -08:00
Johan Hovold 5245a90564 greybus: connection: fix potential null-deref when binding protocol
We can have connections without bundles so we must not use the bundle
device for error messages when failing to look up a protocol.

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-11-04 20:20:23 -08:00
Johan Hovold a6e0363cb0 greybus: connection: fix potential null-deref in connection create
We allow connections without bundles so we must not use the bundle
device for error messages after binding the protocol.

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-11-04 20:20:23 -08:00
Johan Hovold 21dcc9e503 greybus: connection: fix potential null-deref in hd_cport_enable
Use parent of host device for error messages as the connections bundle
may be NULL.

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-11-04 20:20:23 -08:00
Johan Hovold e6c88bf31e greybus: connection: use bundle device for bundle error messages
It is safe to use the bundle device for error messages when we know we
have a bundle.

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-11-04 20:20:23 -08:00
Johan Hovold 0e30550665 greybus: remove unused connection device type
The connection device type is no longer used.

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-11-04 20:20:23 -08:00
Johan Hovold e96e616863 greybus: remove unused host-device id
Remove unused device_id field from host-device structure.

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-11-04 20:20:23 -08:00
Johan Hovold 4d5c446b53 greybus: es2: update obsolete bridge-device comments
Update obsolete bridge-device comments to better describe our current
ES2 endpoint layout.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-02 11:28:59 -08:00
Johan Hovold 41a7fe27d6 greybus: control: remove unused request handler
Remove request handler for control protocol that makes no sense as we do
not have any incoming control requests defined.

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-11-02 11:26:44 -08:00
Johan Hovold 53be091214 greybus: connection: remove unused time-stamp defines
Remove unused time-stamp defines, that were left in when the time-stamp
fifo was removed.

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-11-02 11:26:44 -08:00
Bryan O'Donoghue 8417f5e56c greybus: audio-pcm: fix use of variable unitialized
Compiling with clang shows that period_elapsed will be used as a branch
conditional unitialized whenever snd_dev->transfer_done <
runtime->period_size. Since stack can grow up/down as we proceed though
the call stack this should be fixed. This patch fixes by explicitly
initalizing period_elapsed to zero.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-02 11:25:07 -08:00
Bryan O'Donoghue b350007219 greybus: manifest: fix the placement of arguments to pr_err
We're one character out here in the placement of the inputs to pr_err().
Later patches show this up when pushing through checkpatch.pl. This patch
fixes by moving the offending variables one character left.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-02 11:25:07 -08:00
Alex Elder 3be0e17d62 greybus: es2: don't assume just one AP bridge
Previously we had only one AP bridge connected to the AP.  We will
now have two.  Now that the have moved the logging related symbols
into the AP device, we can stop assuming there's only on of them.

Specifically, rename symbols like "apb1_*" to be just "apb_*",
because the "1" is no longer meaningful.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-02 10:38:36 -08:00
Alex Elder cbec7e2919 greybus: es2: move logging dentries into es2 struct
Finish moving the logging data structures into the es2 AP data
structure rather than having it be a single global.  This patch
moves the two dentries related to logging.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-02 10:38:36 -08:00
Alex Elder 8995a39d6d greybus: es2: move logging fifo into es2 struct
Continue moving the logging data structures into the es2 AP data
structure rather than having it be a single global.  This patch
moves the fifo.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-02 10:38:36 -08:00
Alex Elder 1482b3e1a8 greybus: es2: move APB log task into the es2_ap_dev struct
If an APB has a logging task it is associated with that APB.  Move
the task pointer into the es2_ap_dev structure rather than having it
be a single global.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-02 10:38:36 -08:00
Alex Elder 4b1d82047e greybus: es2: rename es2 data structures
I tried this once before and Greg NAK'd it because at that point the
es2 code was nearly identical to the es1 code.  This is no longer
the case, and we need to diverge further, so I think it's time to go
down that path.

The ap_dev structure changed significantly for ES2 versus ES1 as of
this commit:
    667f8d3 es2.c: create dedicated struct for cport_in and cport_out
Since the structures are no longer the same, they should not have
the same name.

This patch renames three data structures so the "1" is replaced with
a "2", to reflect the Toshiba AP bridge chip revision we are working
with.  The structures are:
    es1_ap_dev -> es2_ap_dev
    es1_cport_in -> es2_cport_in
    es1_cport_out -> es2_cport_out

It changes names of symbols having this type as well.  To finish the
job, all references "ES1" (in comments and in symbol names) have
been switched to use "ES2" instead.

The result is a lot of changes, but they amount to a global search
and replace of "es1" with "es2" (and "ES1" with "ES2"), and the
result has been compile tested.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-11-02 10:38:36 -08:00
Greg Kroah-Hartman 8f0a654f38 greybus: es2: use official USB vendor/device id
We now have an officially assigned Google USB device id for the
APBridge, so add in support for it in the es2 driver.  The old entry can
be removed once the firmware has caught up and uses the new number.

We should use the version field to determine ES1/ES2/ES3, but that will
come later, for now, grab anything with this device id.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-22 17:51:10 -07:00
Alex Elder 76be20a2f3 greybus: db3-platform: get rid of redundant gpio tests
In apb_ctrl_get_devtree_data(), the value returned by
of_get_named_gpio() has a redundant test for a negative
return value.  GPIO numbers are non-negative, so this
test is redundant--testing gpio_is_valid() is sufficient.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-22 14:05:21 -07:00
Viresh Kumar ed8fbc2d56 greybus: db3-platform: Use dev_info for success messages
Used dev_err() by mistake, fix it.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-22 13:46:50 -07:00
Alex Elder 863e652e3f greybus: db3-platform: fix some typos
Fix misspelled "mandatory," and use "GPIOs" for the plural form (no
apostrophe and capitalized) in comments.

Signed-off-by: Alex Elder <elder@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-22 13:46:50 -07:00
Alex Elder d934a88d50 greybus: db3-platform: fix code that fetches reset GPIO
The code that fetches the reset GPIO for an AP bridge suffers
from an apparent copy/paste error.  Fix it.

Signed-off-by: Alex Elder <elder@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-22 13:46:50 -07:00
Viresh Kumar 92cc1d2252 greybus: endo: move greybus_endo_setup() to endo.c
It belongs to the endo layer and should be placed in endo.c instead. Do
it.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-21 16:24:31 -07:00
Viresh Kumar f7d3ad9828 greybus: module: fix double freeing of module structure
The module will be released by gb_module_release() once all references
for the module are dropped. And so there is no need to free it in the
error path specially.

Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-21 16:17:05 -07:00
Viresh Kumar 63e8a14b1f greybus: interface: fix double freeing of interface structure
The interface will be released by gb_interface_release() once all
references for the interface are dropped. And so there is no need to
free it in the error path specially.

Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-21 16:17:05 -07:00
Viresh Kumar 8d1043a30f greybus: bundle: fix double freeing of bundle structure
The bundle will be released by gb_bundle_release() once all references
for the bundle are dropped. And so there is no need to free it in the
error path specially.

Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-21 16:17:05 -07:00
Johan Hovold 3014712fe1 greybus: endo: fix device-id allocation
During endo registration, a unique device id was allocated but then
never used. Instead the default dev_id 0 (due to kzalloc) was used for
device-generation and later for id-deallocation.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-21 16:12:42 -07:00
Johan Hovold 16cd787d2d greybus: endo: fix use-after-free in error path
Fix use-after-free in endo-registration error path by moving the
id-release to the device release function.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-21 16:12:42 -07:00
Vaibhav Hiremath d517f274e9 greybus: platform: Add platform driver for DB3 AP bridge
With DB3, we now have AP as a master as far as AP bridges are concerned.
SVC will talk only to AP and AP will control bridges; unlike other
module interfaces.

So AP supposed to manage/control bridges in all power states including
power on reset.

During power on reset AP should follow below sequence -

Sequence (treated as a Cold Boot)

Stage-1
=======
AP:
 - Power On (Power up from PMIC to AP)
 - AP start booting
   Since power to AP bridges are controlled through gpio, power is gated
   to APB1 & 2
   No ref_clk to APB available (under SVC's control)
 - AP configures USB hub to enable HSIC interface to APB
 - As part of platform driver probe, AP follow below sequence
   - Set the pinctrl in default state
   - Hold APBs in reset by pulling down reset pin
   - Enable power to APB by enabling regulator and switches
   - De-assert (set 'low') 'boot_ret' signal
 - AP will assert (set 'high') the wake_detect signal, triggering
   connect/detect event to the SVC
 - AP waits for wake pulse from SVC

 SVC:
 - Power On (power up from PMIC to SVC)
 - SVC starts booting
 - SVC will de-assert reset signal to unipro switch
   - Switch starts booting
 - SVC confirms switch boot status using SPI (or something)
 - SVC waits for 300 msec (ES2 known issue)
 - SVC waits for detect/connect event from AP

Stage-2
=======
SVC:
 - ON connect/detect event, SVC send back wake pulse (cold boot)
   to AP over wake_detect pin, if SVC boot is completed.

AP:
 - On wake pulse from SVC (for cold boot), AP de-asserts (set high')
   reset signal to APB 1 and/or 2
 - Bridges starts booting
 - Eventually Unipro linkup occurs

Testing:

 - Build tested against Helium kernel
 - Due to unavailability of MSM and DB3 platform, only minimal testing
   has been done.
 - Code has been modified for validation on Helium + SDB platform.
    Mostly dts changes for gpio numbers
    And debug messages to check gpio values
 - On Helium + SDB platform, with addition of debug messages validated
   the sequence.

TODO list:

 - Currently _only_ supports power on sequence (cold boot).
   Both warm and cold boot support. Cold and Warm boot is
   differentiated based on pulse width of wake_detect signal
      >=5 msec = Cold boot else Warm boot
 - No support for Power management
   So the "power-down", "power-off", "wake_in" and "wake_out"
   signals are not explored/implemented.
 - Support for Work thread
    repetitive wake signal if no response from peer
    May required for PM support, as we have delays in the sequences
 - pinctrl states, specially to make sure we enable right pullup or pulldown
   when we set wake_detect pin to input
 - Convert gpio list into an array, and associated xxx-gpio-name property

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-21 09:43:03 -07:00
Greg Kroah-Hartman b50a24e947 greybus: svc: don't trust any struct devices
As the svc code is "odd" in how things are set up at initial connection
time, we can't always "know" that we have a valid bundle to use for
error messages.  So just punt and always use pr_*() calls to ensure that
we never incorrectly dereference a pointer.

This will get fixed up soon, but for now, let's just live with a bit
messier error messages in the log.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
2015-10-19 12:09:10 -07:00
Greg Kroah-Hartman c69b98d15f greybus: core: remove uevent handling for gb_connection
As we are going to be removing the struct device from gb_connection,
there is no need to do anything for uevents for them.  So just remove
the code.  It wasn't doing anything anyway, so no functionality is lost
here at all.

As is_gb_connection() is no longer used, that is also removed in this
patch.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
2015-10-19 12:09:10 -07:00
Greg Kroah-Hartman 6ea462a4fc greybus: bundle.h: add a private field to struct gb_bundle
The gb_bundle structure needs a private field if we are going to be able
to replace the gb_connection device with this one for all use cases.

Ideally we could use the private pointer within the struct device, but
for now let's just try to mirror how people were using the gb_connection
structure to make the patches simpler, and the logic the same.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
2015-10-19 12:09:10 -07:00
Greg Kroah-Hartman 7e4c8d7135 greybus: protocol: use the bundle struct device instead of the connector
We are removing struct device from the gb_connection structure in the
near future.  The gb_bundle structure's struct device should be used as
a replacement.

This patch moves the protocol code to use the bundle pointer instead of
the connection pointer when printing out error messages.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
2015-10-19 12:09:10 -07:00
Greg Kroah-Hartman 5d9c68da01 greybus: greybus_trace: use the bundle struct device instead of the connector
We are removing struct device from the gb_connection structure in the
near future.  The gb_bundle structure's struct device should be used as
a replacement.

This patch moves the greybus trace code to use the bundle pointer
instead of the connection pointer when printing out tracing messages.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
2015-10-19 12:09:10 -07:00
Greg Kroah-Hartman d9a9ea1b88 greybus: loopback: use the bundle struct device instead of the connector
We are removing struct device from the gb_connection structure in the
near future.  The gb_bundle structure's struct device should be used as
a replacement.

This patch moves the loopback driver to use the bundle pointer instead
of the connection pointer.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
2015-10-19 12:09:10 -07:00
Greg Kroah-Hartman 30482c1e63 greybus: connection: use the bundle struct device instead of the connector
We are removing struct device from the gb_connection structure in the
near future.  The gb_bundle structure's struct device should be used as
a replacement.

This patch moves the connection code to use the bundle pointer instead
of the connection pointer for some error messages.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
2015-10-19 12:09:10 -07:00
Greg Kroah-Hartman b750fa3370 greybus: connection: remove 'struct device' from 'struct gb_connection'
We don't want this in the driver core, as nothing will be binding to it,
that's the job of a bundle.  So remove the struct device and use a kref
to handle reference counting instead.

Note, I don't think we really need a kref, but it keeps the lifetime the
same as before, and is the simplest change for now.  In the future it
might be easier to just attach all connections to the bundle and clean
them up when the bundle is removed.

Also remove the cport sysfs documentation as it's no longer relevant.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
2015-10-19 12:09:10 -07:00
Rui Miguel Silva b6789ee55b greybus: sdio: some cleanups in command function
Some cleanups in gb_sdio_command function, ret does not need to be
initialize and mrq is already pointing to request, no need to get it
from host.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-10-19 12:06:44 -07:00