An error occurred fetching the project authors.
- 15 Mar, 2013 1 commit
-
-
Samuel Iglesias Gonsalvez authored
One function is ipack_device_init(). If it fails, the caller should execute ipack_put_device(). The second function is ipack_device_add that only adds the device. If it fails, the caller should execute ipack_put_device(). Then the device is removed with refcount = 0, as device_register() kernel documentation says. ipack_device_del() is added to remove the device. Signed-off-by:
Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 21 Nov, 2012 2 commits
-
-
Bill Pemberton authored
CONFIG_HOTPLUG is going away as an option so __devexit is no longer needed. Signed-off-by:
Bill Pemberton <wfp5p@virginia.edu> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Bill Pemberton authored
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer needed. Signed-off-by:
Bill Pemberton <wfp5p@virginia.edu> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 16 Nov, 2012 2 commits
-
-
Greg Kroah-Hartman authored
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>
-
Samuel Iglesias Gonsalvez authored
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>
-
- 13 Nov, 2012 1 commit
-
-
Johan Meiring authored
This fixes one of the two instances of an 80+ char line in the file. Fixing the other instance would have decreased the readability of the code, in my opinion. Signed-off-by:
Johan Meiring <johanmeiring@gmail.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 22 Oct, 2012 1 commit
-
-
Samuel Iglesias Gonsalvez authored
Kernel build failed for parisc architecture: drivers/staging/ipack/carriers/tpci200.c: In function 'tpci200_free_irq': drivers/staging/ipack/carriers/tpci200.c:190:2: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration] drivers/staging/ipack/carriers/tpci200.c: In function 'tpci200_request_irq': drivers/staging/ipack/carriers/tpci200.c:217:2: error: implicit declaration of function 'kzalloc' [-Werror=implicit-function-declaration] Reported-by:
Fengguang Wu <fengguang.wu@intel.com> Signed-off-by:
Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 19 Oct, 2012 12 commits
-
-
Wei Yongjun authored
Use the module_pci_driver() macro to make the code simpler by eliminating module_init and module_exit calls. dpatch engine is used to auto generate this patch. (https://github.com/weiyj/dpatch) Signed-off-by:
Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Jens Taprogge authored
This is the name used by the standard. 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>
-
Jens Taprogge authored
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>
-
Jens Taprogge authored
There also is a MEM16 space. This will make it clear which one is which, once support for MEM16 space is added. 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>
-
Jens Taprogge authored
Now that we have the infrastructure to use the regular function in place and all existing users are converted, remove the map and unmap callbacks from the ipack_bus_device->ops. 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>
-
Jens Taprogge authored
This will allow us to use the regular ioremop functions. 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>
-
Jens Taprogge authored
Constant renames: - Rename TPCI200_*_GAP to TPCI200_*_INTERVAL. - Rename TPCI200_MEM*_* to TPCI200_MEM*_SPACE_* (to match the other SPACE constants. Make tpci200_status_timeout and tpci200_status_error const. 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>
-
Jens Taprogge authored
tpci200_register is converted to use this. A later patch will build on this. 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>
-
Jens Taprogge authored
Previously the *_phys fields were of type ipack_addr_space, which use void pointers to refer to memory addresses. Since the *_phys fields refer to unmapped memory, this is not correct. Introduce a new struct ipack_region (which uses phys_addr_t to refer to the start of a region) and use that as a replacement for struct ipack_addr_space. struct ipack_region is defined in ipack.h because it is planned to later expose the physical addressed to the IPack Module drivers. 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>
-
Jens Taprogge authored
Remove the unused pointers to these spaces. 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>
-
Jens Taprogge authored
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>
-
Jens Taprogge authored
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>
-
- 14 Sep, 2012 3 commits
-
-
Jens Taprogge authored
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>
-
Jens Taprogge authored
Now the IPack device acknowledges its own IRQ. 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>
-
Jens Taprogge authored
This will allow us to correctly access the IPack INT space. 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>
-
- 12 Sep, 2012 11 commits
-
-
Jens Taprogge authored
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>
-
Jens Taprogge authored
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>
-
Jens Taprogge authored
Now, all the interrupt related functions are next to each other. 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>
-
Jens Taprogge authored
Rename __tpci_request_irq() to tpci_enable_irq() and __tpci_free_irq() to tpci_disable_irq(). Change their second argument, move them above tpci200_interrupt(), and use tpci_disable_irq() in the latter 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>
-
Jens Taprogge authored
Minor cleanup. No functional changes. 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>
-
Jens Taprogge authored
Previously the return value from tpci200_interrupt was not quite correct if a slot had caused an interrupt but no handler was instellalled: IRQ_NONE was returned. However in this case we react to the interrupt by disabling the IPack device interrupt. Basically there are two cases the code now distinguishes: - The tpci200 has raised an interrupt. We handle it and return IRQ_HANDLED. - Our device did not raise an interrupt. We return IRQ_NONE. 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>
-
Jens Taprogge authored
Some of the device registers are accessed from both interrupt and non-interrupt context. To ensure proper read-modify-write modification of these registers we can not use the "global" tpci200 mutex. Instead a spin-lock is used. 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>
-
Jens Taprogge authored
In tpci200_request_irq as well as tpci200_free_irq we set and unset the pointer to struct slot_irq. This pointer is accessed in tpci200_interrupt. To ensure that the pointer is not freed after it has been fetched in tpci200_interrupt() it is now protected through RCU. 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>
-
Jens Taprogge authored
This also removes a possible bug in the unhandles_ints part when slots[i] is not set. 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>
-
Jens Taprogge authored
Use the __tpci200_{set,clear}_mask routines to access control register. Do not overwrite flags unrelated to interrupt handling. 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>
-
Jens Taprogge authored
Convert tpci200_set_clockrate and tpci200_interrupt. 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>
-
- 11 Sep, 2012 7 commits
-
-
Jens Taprogge authored
This way we do no longer need to keep a dangling pointer to struct ipack_device in tpci200_slot after the device has been removed. 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>
-
Samuel Iglesias Gonsálvez authored
As the IP module driver takes care of freeing its resources. Signed-off-by:
Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Samuel Iglesias Gonsálvez authored
It is not needed as the IP module should free its IRQ using tpci200_free_irq callback. Signed-off-by:
Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Samuel Iglesias Gonsálvez authored
As the ipack_bus_unregister() takes care of unregistering the devices plugged in the carrier, it is not needed to do it in the carrier driver. Signed-off-by:
Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Samuel Iglesias Gonsálvez authored
Using the call to the ipack_device_unregister() function to avoid the strange way it was doing, as the device model will take care of calling the bus's .remove function when a device is being unregistered. Signed-off-by:
Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Samuel Iglesias Gonsálvez authored
As indicated in the documentation of pci_dev_get. Signed-off-by:
Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Samuel Iglesias Gonsálvez authored
Move iounmap and pci_release_region to tpci200_unregister(), as it is the place where the clean-up of the device is done. Also, renamed iounmap() to pci_iounmap() as the mapped region was requested from PCI bus. Signed-off-by:
Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-