- 17 4月, 2014 3 次提交
-
-
由 Aaron Sierra 提交于
Save some characters by using to_pci_dev() instead of container_of(). Signed-off-by: NAaron Sierra <asierra@xes-inc.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Joe Schultz 提交于
Previously, tsi148_master_set() assumed the address contained in its PCI bus resource represented the actual PCI bus address. This is a fine assumption on some platforms. However, on platforms that don't use a 1:1 (CPU:PCI) mapping this results in the tsi148 driver configuring an invalid master window translation. This patch updates the vme_tsi148 driver to first convert the address contained in the PCI bus resource into a PCI bus address before using it. [asierra: account for pcibios_resource_to_bus() prototype change] Signed-off-by: NJoe Schultz <jschultz@xes-inc.com> Signed-off-by: NAaron Sierra <asierra@xes-inc.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Joe Schultz 提交于
This patch corrects a typo where "vme_base" was used instead of "*vme_base". The typo resulted in an incorrect value being returned to userspace (via vme_user). It also removes the following compile warning on some platforms: warning: cast from pointer to integer of different size [asierra: commit title/log rewording] Signed-off-by: NJoe Schultz <jschultz@xes-inc.com> Signed-off-by: NAaron Sierra <asierra@xes-inc.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 16 2月, 2014 1 次提交
-
-
由 Martyn Welch 提交于
The ca91cx42 and tsi148 VME bridges use the width of reads and writes on the PCI bus in part to control the width of the cycles on the VME bus. It is important that we can control the width of cycles on the VME bus as some VME hardware requires cycles of a specific width. The memcpy_toio() and memcpy_fromio() functions do not provide sufficient control, so instead loop using ioread functions. Reported-by: NMichael Kenney <mfkenney@gmail.com> Signed-off-by: NMartyn Welch <martyn.welch@ge.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 08 2月, 2014 1 次提交
-
-
由 Martyn Welch 提交于
In order to ensure the correct width cycles on the VME bus, the VME bridge drivers implement an algorithm to utilise the largest possible width reads and writes whilst maintaining natural alignment constraints. The algorithm currently looks at the start address rather than the current read/write address when determining whether a 16-bit width cycle is required to get to 32-bit alignment. This results in incorrect alignment, Reported-by: NJim Strouth <james.strouth@ge.com> Tested-by: NJim Strouth <james.strouth@ge.com> Signed-off-by: NMartyn Welch <martyn.welch@ge.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 04 12月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
Don't use DEFINE_PCI_DEVICE_TABLE macro, because this macro is not preferred. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 28 8月, 2013 1 次提交
-
-
由 Wei Yongjun 提交于
free_irq() expects the same device identity that was passed to corresponding request_irq(), otherwise the IRQ is not freed. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 20 8月, 2013 2 次提交
-
-
由 Jingoo Han 提交于
Added missing __iomem annotation in order to fix the following sparse warnings: drivers/vme/bridges/vme_ca91cx42.c:859:39: warning: incorrect type in initializer (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:859:39: expected void *addr drivers/vme/bridges/vme_ca91cx42.c:859:39: got void [noderef] <asn:2>* drivers/vme/bridges/vme_ca91cx42.c:878:30: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:878:30: expected void const volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_ca91cx42.c:878:30: got void *addr drivers/vme/bridges/vme_ca91cx42.c:885:47: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:885:47: expected void const volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_ca91cx42.c:885:47: got void * drivers/vme/bridges/vme_ca91cx42.c:889:48: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:889:48: expected void const volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_ca91cx42.c:889:48: got void * drivers/vme/bridges/vme_ca91cx42.c:896:17: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:896:17: expected void const volatile [noderef] <asn:2>*<noident> drivers/vme/bridges/vme_ca91cx42.c:896:17: got void * drivers/vme/bridges/vme_ca91cx42.c:901:40: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:901:40: expected void const volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_ca91cx42.c:901:40: got void * drivers/vme/bridges/vme_ca91cx42.c:905:39: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:905:39: expected void const volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_ca91cx42.c:905:39: got void * drivers/vme/bridges/vme_ca91cx42.c:919:39: warning: incorrect type in initializer (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:919:39: expected void *addr drivers/vme/bridges/vme_ca91cx42.c:919:39: got void [noderef] <asn:2>* drivers/vme/bridges/vme_ca91cx42.c:932:17: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:932:17: expected void volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_ca91cx42.c:932:17: got void *addr drivers/vme/bridges/vme_ca91cx42.c:939:25: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:939:25: expected void volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_ca91cx42.c:939:25: got void * drivers/vme/bridges/vme_ca91cx42.c:943:25: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:943:25: expected void volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_ca91cx42.c:943:25: got void * drivers/vme/bridges/vme_ca91cx42.c:950:17: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:950:17: expected void volatile [noderef] <asn:2>*<noident> drivers/vme/bridges/vme_ca91cx42.c:950:17: got void * drivers/vme/bridges/vme_ca91cx42.c:955:17: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:955:17: expected void volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_ca91cx42.c:955:17: got void * drivers/vme/bridges/vme_ca91cx42.c:959:17: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_ca91cx42.c:959:17: expected void volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_ca91cx42.c:959:17: got void * Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Jingoo Han 提交于
Added missing __iomem annotation in order to fix the following sparse warnings: drivers/vme/bridges/vme_tsi148.c:1270:39: warning: incorrect type in initializer (different address spaces) drivers/vme/bridges/vme_tsi148.c:1270:39: expected void *addr drivers/vme/bridges/vme_tsi148.c:1270:39: got void [noderef] <asn:2>* drivers/vme/bridges/vme_tsi148.c:1287:30: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1287:30: expected void const volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_tsi148.c:1287:30: got void *addr drivers/vme/bridges/vme_tsi148.c:1294:47: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1294:47: expected void const volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_tsi148.c:1294:47: got void * drivers/vme/bridges/vme_tsi148.c:1298:48: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1298:48: expected void const volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_tsi148.c:1298:48: got void * drivers/vme/bridges/vme_tsi148.c:1305:17: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1305:17: expected void const volatile [noderef] <asn:2>*<noident> drivers/vme/bridges/vme_tsi148.c:1305:17: got void * drivers/vme/bridges/vme_tsi148.c:1310:40: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1310:40: expected void const volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_tsi148.c:1310:40: got void * drivers/vme/bridges/vme_tsi148.c:1314:39: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1314:39: expected void const volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_tsi148.c:1314:39: got void * drivers/vme/bridges/vme_tsi148.c:1351:39: warning: incorrect type in initializer (different address spaces) drivers/vme/bridges/vme_tsi148.c:1351:39: expected void *addr drivers/vme/bridges/vme_tsi148.c:1351:39: got void [noderef] <asn:2>* drivers/vme/bridges/vme_tsi148.c:1369:17: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1369:17: expected void volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_tsi148.c:1369:17: got void *addr drivers/vme/bridges/vme_tsi148.c:1376:25: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1376:25: expected void volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_tsi148.c:1376:25: got void * drivers/vme/bridges/vme_tsi148.c:1380:25: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1380:25: expected void volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_tsi148.c:1380:25: got void * drivers/vme/bridges/vme_tsi148.c:1387:17: warning: incorrect type in argument 1 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1387:17: expected void volatile [noderef] <asn:2>*<noident> drivers/vme/bridges/vme_tsi148.c:1387:17: got void * drivers/vme/bridges/vme_tsi148.c:1392:17: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1392:17: expected void volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_tsi148.c:1392:17: got void * drivers/vme/bridges/vme_tsi148.c:1396:17: warning: incorrect type in argument 2 (different address spaces) drivers/vme/bridges/vme_tsi148.c:1396:17: expected void volatile [noderef] <asn:2>*addr drivers/vme/bridges/vme_tsi148.c:1396:17: got void * Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 25 6月, 2013 1 次提交
-
-
由 Wei Yongjun 提交于
Fix to return a negative error code in the tsi148_crcsr_init() error handling case instead of 0, as done elsewhere in this function. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 18 6月, 2013 3 次提交
-
-
由 Martyn Welch 提交于
The tsi148 driver can be configured to reserve a window for internal use (as part of the error checking routine). The intialisation of this window currently configures a set of attributes that are never used as these are only ever used by the VME core and this window is not advertised to the core. Remove configuration of these attributes. Signed-off-by: NMartyn Welch <martyn.welch@ge.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Martyn Welch 提交于
The logic in the init routine for the TSI148 is inverted. It isn't switching on the CR/CSR space when it should be and is reporting it's on when its not. Correct the logic to do the right thing. Reported-by: NDe Roo, Steven <steven.deroo@arcelormittal.com> Signed-off-by: NMartyn Welch <martyn.welch@ge.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Martyn Welch 提交于
The TSI148 driver provides an optional mechanism for ensuring that errors resulting from posted transfers are caught whilst still relevant. To do this errors are stored in a link list. If bus errors are not checked, this list would grow until available memory had been exhausted. Only store the errors in a link list if error detection is switched on. Reported-by: NDe Roo, Steven <steven.deroo@arcelormittal.com> Signed-off-by: NMartyn Welch <martyn.welch@ge.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 26 10月, 2012 2 次提交
-
-
由 Wei Yongjun 提交于
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: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Wei Yongjun 提交于
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: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 07 9月, 2012 2 次提交
-
-
由 Wei Yongjun 提交于
Since we will be removing items off the list using list_del() we need to use a safer version of the list_for_each() macro aptly named list_for_each_safe(). We should use the safe macro if the loop involves deletions of items. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Wei Yongjun 提交于
Since we will be removing items off the list using list_del() we need to use a safer version of the list_for_each() macro aptly named list_for_each_safe(). Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 20 7月, 2012 1 次提交
-
-
由 Martyn Welch 提交于
The memcpy_fromio() and memcpy_toio() functions use the __memcpy() function, at least on x86. This function carries out transfers smaller than 32 bits as multiple 8 bit transfers, causing a single (aligned) 16 bit transfer to be split into 2 8 bit transfers which may not be supported by the target VME device. The commit 53059aa0 fixed this for the ca91cx42, however this was not fixed for the tsi148 at the time. This patch uses the same algorithm to fix the tsi148. Reported-by: NDaniel Lambert <daniel.lambert@clermont.in2p3.fr> Signed-off-by: NMartyn Welch <martyn.welch@ge.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 09 5月, 2012 2 次提交
-
-
由 H Hartley Sweeten 提交于
Functions not referenced outside of a source file should be marked static to prevent them from being exposed globally. Quiets the sparse warnings: warning: symbol 'ca91cx42_alloc_consistent' was not declared. Should it be static? warning: symbol 'ca91cx42_free_consistent' was not declared. Should it be static? Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: NMartyn Welch <martyn.welch@ge.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 H Hartley Sweeten lin 提交于
Functions not referenced outside of a source file should be marked static to prevent them from being exposed globally. Quiets the sparse warnings: warning: symbol 'tsi148_alloc_consistent' was not declared. Should it be static? warning: symbol 'tsi148_free_consistent' was not declared. Should it be static? Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: NMartyn Welch <martyn.welch@ge.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 27 4月, 2012 1 次提交
-
-
由 Greg Kroah-Hartman 提交于
This moves the VME core, VME board drivers, and VME bridge drivers out of the drivers/staging/vme/ area to drivers/vme/. The VME device drivers have not moved out yet due to some API questions they are still working through, that should happen soon, hopefully. Cc: Martyn Welch <martyn.welch@ge.com> Cc: Manohar Vanga <manohar.vanga@cern.ch> Cc: Vincent Bossier <vincent.bossier@gmail.com> Cc: "Emilio G. Cota" <cota@braap.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-