Fix 'canon' client interface

As per 1275 standard, canon converts the possibly ambiguous
device-specifier to a fully qualified pathname (see 6.3.2.2). It is kind
of find-alias for clients. Earlier canon implementation was not complete,
it was not at all returning the full path name. So grub was not getting
the alias path by calling canon and it was breaking.

In this patch I'm checking if the passed string is already a full path
by comparing the first character with '/'. In that case I return the
passed string as is. Otherwise I return the find-alias.

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Add SLOF pci wrapper functions

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Add SLOF usleep wrapper

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Get MAC address for client interface module

The network drivers ported to library get interfaced with net-snk
through client interface module. Hence the ci module should set
the MAC address during initialization.

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Add veth driver in libveth

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Add virtio-net driver in libvirtio

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Add e1000 network driver in libe1k

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Add bcm57xx network driver in libbcm

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Remove lodable network driver modules and related functions

All network drivers have been moved to library

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Add missing close-dev in ping

Without the close-dev successive ping command fails to get the arguments,
because the net device is not instantiated as the open-count is not
decremented.

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Remove veth network driver as module

The driver has been moved to libveth

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Remove virtio-net network driver as module

The driver has been moved to libvirtio

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Remove e1000 network driver as module

The driver has been moved to libe1k

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Remove bcm57xx network driver as module

The driver has been moved to libbcm

Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com>
Implement range allocator

Use the allocator with dma-map-in so it does not create duplicate TCE
entries.

Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
usb-core: Add CLEAR FEATURE api

Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
scsi: make probe more error resilient

* Some usb devices do not like report-luns, assume it as single lun device
  and move further.
* Make inquiry of the device first for 36bytes and then determine what
  is the additional size to read.

Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
usb-msc: handle stall and other fixes

* Add Reset Recovery procedure
* Zero cbw and csw memory everytime
* Add delays during cbw, data and csw stage
* Increment tag after every command

Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
usb-ohci: update init and rationalize timings

Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
usb-ohci: done_head processing fixes

Return error code like STALL back, so it can be handled effectively.

Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>