aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/ipack/ipack.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2012-11-16Staging: ipack: move out of stagingGreg Kroah-Hartman1-481/+0
The ipack subsystem is cleaned up enough to now move out of the staging tree, and into drivers/ipack. Cc: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Cc: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-16Staging: ipack: adapt copyright to CERN guidelinesSamuel Iglesias Gonsalvez1-2/+2
Adapt the copyright clause to CERN guidelines, as it has the copyright over them. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-15Staging: ipack: CONFIG_HOTPLUG is always enabledGreg Kroah-Hartman1-8/+0
as CONFIG_HOTPLUG is always enabled now, just remove the #ifdef logic in the ipack core for it if was disabled. Cc:Samuel Iglesias Gonsalvez <siglesias@igalia.com> Cc: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-13Staging: ipack: ipack: fix coding style issuesJohan Meiring1-2/+3
This uses linux/io.h instead of asm/io.h and cleans up an 80+ character issue. Signed-off-by: Johan Meiring <johanmeiring@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-19Staging: ipack: fix wrong return value.Samuel Iglesias Gonsalvez1-1/+1
In case it is not possible to remap the memory, it returns 0 and the driver thinks that everything went fine. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-19staging: ipack: swich to regular ioremap and friends.Jens Taprogge1-4/+4
Use the regular ioremap functions and their managed counterparts instead of the ones provided through IPack callbacks. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-19Staging: ipack: Make ipack_device_register() analogous to device_register().Jens Taprogge1-21/+9
ipack_device_register() is no longer creating the struct ipack_device but only registering it. Instead of releasing memory directly the new ipack_device->release callback is called. This is preparational work for later patches. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-19Staging: ipack: get rid of ipack_device->bus_nr.Jens Taprogge1-3/+2
It is replicating information contained in ipack_device->bus->bus_nr. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-13staging: ipack: remove irq field in struct ipack_device.Jens Taprogge1-2/+1
The field irq currently is identical to the slot number. It does not seem to have any real use. The number is written to hardware in ipoctal but it seems the value that is written does not matter. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-11Staging: ipack: unregister devices when uninstall the carrier device.Samuel Iglesias Gonsálvez1-0/+12
Find the IP modules that are plugged to the carrier and unregister them. Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-11Staging: ipack: check the device ID space CRC.Jens Taprogge1-1/+58
We check the CRC and store the result of the check in struct ipac_device. A warning is emitted if the check fails. However we leave it to the IPack module device to refuse to initialize due to a bad CRC. I have seen otherwise good modules with bad CRCs. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-11Staging: ipack: reset previous timeouts during device registration.Jens Taprogge1-0/+2
Resetting the previous timeout we avoid to read the timeout status register and see timeout errors that don't correspond to the present state of the device. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-11Staging: ipack: Switch to 8MHz operation before reading ID.Jens Taprogge1-3/+8
Reading the ID space at 8 MHz is always supported. Most carriers will boot up in 8MHz mode. Still, play it safe and ensure we are operating at 8Mhz. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-11Staging: ipack: remove field driver from struct ipack_device.Jens Taprogge1-10/+7
After a successful match is found the driver field in struct device is set by the core device code. We can use this field. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-11Staging: ipack: Choose the optimum bus speed by default.Jens Taprogge1-0/+5
Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-11Staging: ipack: Obtain supported speeds from ID ROM.Jens Taprogge1-0/+6
Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10staging: ipack: make function tables const.Stephen Hemminger1-2/+2
Make some variables const: 1. bus oerations table 2. driver name 3. tpci control register table Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-07staging/ipack: Fix bug introduced by IPack device matchingJens Taprogge1-1/+2
~0 can not be casted to u8. Instead of using the IPACK_ANY_ID for the format field we introduce a new IPACK_ANY_FORMAT specifically for that field and defined as 0xff. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Acked-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-05Staging: ipack: fix build failure in powerpc allyesconfigSamuel Iglesias Gonsálvez1-0/+1
Caused by commit 187e47824013 ("Staging: ipack: Read the ID space during device registration"). drivers/staging/ipack/ipack.c: In function 'ipack_device_read_id': drivers/staging/ipack/ipack.c:291:2: error: implicit declaration of function 'ioread8' [-Werror=implicit-function-declaration] drivers/staging/ipack/ipack.c:309:3: error: implicit declaration of function 'ioread16be' [-Werror=implicit-function-declaration] Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-04Staging: ipack: Provide ID Prom through sysfs.Jens Taprogge1-0/+31
Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-04Staging: ipack: Expose modalias through sysfs.Jens Taprogge1-0/+36
Also include it in the hotplug event so that udev can provide the respective driver. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-04Staging: ipack: Implement device matching on the bus level.Jens Taprogge1-10/+33
Devices are match based upon their vendor and device ids. Since the individual drivers provide a list of supported ids they do not need to implement the matching themselves. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-04Staging: ipack: Parse vendor and device id.Jens Taprogge1-4/+77
Also expose the values through sysfs. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-04Staging: ipack: Read the ID space during device registration.Jens Taprogge1-0/+80
We keep a copy of the ID space for later use. Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-12Staging: ipack: remove pr_fmt definition.Samuel Iglesias Gonsalvez1-2/+0
As there is no pr_* function used here, pr_fmt is not needed. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-07Staging: ipack: delete the call to remove() in ipack_driver_registerSamuel Iglesias Gonsalvez1-2/+0
When a bus driver calls ipack_driver_register(), it should manages the returning NULL value to undo all the operations it did before this call, and print the corresponding trace. It is not a task for the ipack driver to call the remove() function here. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-07Staging: ipack: use idr interface for numbering busesSamuel Iglesias Gonsalvez1-34/+6
Use idr interface to give the bus number. That way, we remove the limitation of 64 buses. The mutex is removed because the ida interface uses spinlocks inside, so it is not needed an extra lock. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-07Staging: ipack: return proper value in match() functionSamuel Iglesias Gonsalvez1-1/+1
It should return the same value given by the match function of the ipack_driver that has been called. Returning 0 here, means that the match has failed and it could be succeed. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-05-18Staging: ipack: improve the register of a bus and a device in the bus.Samuel Iglesias Gonsalvez1-13/+44
It adds and removes some fields in the struct ipack_device and ipack_bus_device to make it cleaner. The API has change to group all the operations on these structures inside of the ipack driver. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-05-14Staging: ipack: change the licence to explicitly GPLv2Samuel Iglesias Gonsalvez1-2/+1
Change the licence to explicitly GPLv2 to avoid possible conflicts in the future. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-05-09Staging: IndustryPack bus for the Linux KernelSamuel Iglesias Gonsalvez1-0/+175
Add IndustryPack bus support for the Linux Kernel. This is a virtual bus that allows to perform all the operations between carrier and mezzanine boards. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>