- 07 1月, 2016 7 次提交
-
-
由 Finn Thain 提交于
The NCR5380 drivers have a home-spun linked list implementation for scsi_cmnd structs that uses cmd->host_scribble as a 'next' pointer. Adopt the standard list_head data structure and list operations instead. Remove the eh_abort_handler rather than convert it. Doing the conversion would only be churn because the existing EH handlers don't work and get replaced in a subsequent patch. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
Add missing .module initializer. Use distinct .proc_name values for the g_NCR5380 and g_NCR5380_mmio modules. Remove pointless CAN_QUEUE and CMD_PER_LUN override macros. Cleanup whitespace and code style. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
Remove unused includes (stat.h, signal.h, proc_fs.h) and move includes needed by the core drivers into the common header (delay.h etc). Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
Follow the example of the atari_NCR5380.c core driver and adopt the NCR5380_dma_xfer_len() hook. Implement NCR5380_dma_xfer_len() for dtc.c and g_NCR5380.c to take care of the limitations of these cards. Keep the default for drivers using PSEUDO_DMA. Eliminate the unused macro LIMIT_TRANSFERSIZE. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
Allocate a work queue that will permit busy waiting and sleeping. This means NCR5380_init() can potentially fail, so add this error path. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
The atari_NCR5380.c core driver now takes care of bus reset upon driver initialization if required (same as NCR5380.c). Move the Toshiba CD-ROM support into the core driver, enabled with a host flag, so that all NCR5380 drivers can make use of it. Drop the RESET_BOOT macros and the ATARI_SCSI_RESET_BOOT and ATARI_SCSI_TOSHIBA_DELAY Kconfig symbols, which are now redundant. Remove the atari_scsi_reset_boot(), mac_scsi_reset_boot() and sun3_scsi_reset_boot() routines. None of this duplicated code is needed now that all drivers can use NCR5380_maybe_reset_bus(). This brings atari_scsi, mac_scsi and sun3_scsi into line with all of the other NCR5380 drivers. The bus reset may raise an interrupt. That would be new behaviour for atari_scsi only when CONFIG_ATARI_SCSI_RESET_BOOT=n. The ST DMA interrupt is not assigned to atari_scsi at this stage, so CONFIG_ATARI_SCSI_RESET_BOOT=y may well be problematic already. Regardless, do_reset() now raises and clears the interrupt within local_irq_save/restore which should avoid problems. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Finn Thain 提交于
The NCR5380_local_declare and NCR5380_setup macros exist to define and initialize a particular local variable, to provide the address of the chip registers needed for the driver's implementation of its NCR5380_read/write register access macros. In cumana_1 and macscsi, these macros generate pointless code like this, struct Scsi_Host *_instance; _instance = instance; In pas16, the use of NCR5380_read/write in pas16_hw_detect() requires that the io_port local variable has been defined and initialized, but the NCR5380_local_declare and NCR5380_setup macros can't be used for that purpose because the Scsi_Host struct has not yet been instantiated. Moreover, these macros were removed from atari_NCR5380.c long ago and now they constitute yet another discrepancy between the two core driver forks. Remove these "optimizations". Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.com> Tested-by: NOndrej Zary <linux@rainbow-software.org> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 09 3月, 2015 1 次提交
-
-
由 Wolfram Sang 提交于
This platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 20 11月, 2014 15 次提交
-
-
由 Finn Thain 提交于
The static variable setup_use_tagged_queuing is declared in mac_scsi.c, sun3_scsi.c and atari_scsi.c and doesn't belong in the core driver. None of the other NCR5380 drivers suffer from this layering issue which makes merging the core drivers more difficult and will likely hinder plans for future use of platform data to configure the driver. Replace the static variable with a host flag. This way it can be reported along with the other flags. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Convert mac_scsi to platform device and eliminate scsi_register(). Platform resources for chip registers now follow the documentation. This should fix issues with the Mac IIci (and possibly other models too). Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Acked-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Fix whitespace, remove pointless volatile qualifiers and improve code style by use of INPUT_DATA_REG and OUTPUT_DATA_REG macros. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Allow mac_scsi to be built as a module. Replace the old validation of __setup options with code that validates both module and __setup options. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
The #defines in mac_scsi.h are intended to influence subsequent #includes in mac_scsi.c. IMHO, that's too convoluted. Remove mac_scsi.h by moving those macro definitions to mac_scsi.c, consistent with other NCR5380 drivers. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Convert Scsi_Cmnd to struct scsi_cmnd and drop the #include "scsi.h". The sun3_NCR5380.c core driver already uses struct scsi_cmnd so converting the other core drivers reduces the diff which makes them easier to unify. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
The *_RELEASE macros don't tell me anything. In some cases the version in the macro contradicts the version in the comments. Anyway, the Linux kernel version is sufficient information. Remove these macros to improve readability. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Compile-time override of scsi host defaults is pointless for drivers that provide module parameters and __setup options for that. Too many macros make the code hard to read so remove them. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
If the host->info() method is not set, then host->name is used by default. For atari_scsi, that is exactly the same text. So remove the redundant info() method. Keep sun3_scsi.c in line with atari_scsi. Some NCR5380 drivers return an empty string from the info() method (arm/cumana_1.c arm/oak.c mac_scsi.c) while other drivers use the default (dmx3191d dtc.c g_NCR5380.c pas16.c t128.c). Implement a common info() method to replace a lot of duplicated code which the various drivers use to announce the same information. This replaces most of the (deprecated) show_info() output and all of the NCR5380_print_info() output. This also eliminates a bunch of code in g_NCR5380 which just duplicates functionality in the core driver. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Oak scsi doesn't use any IRQ, but it sets irq = IRQ_NONE rather than SCSI_IRQ_NONE. Problem is, the core NCR5380 driver expects SCSI_IRQ_NONE if it is to issue IDENTIFY commands that prevent target disconnection. And, as Geert points out, IRQ_NONE is part of enum irqreturn. Other drivers, when they can't get an IRQ or can't use one, will set host->irq = SCSI_IRQ_NONE (that is, 255). But when they exit they will attempt to free IRQ 255 which was never requested. Fix these bugs by using NO_IRQ in place of SCSI_IRQ_NONE and IRQ_NONE. That means IRQ 0 is no longer probed by ISA drivers but I don't think this matters. Setting IRQ = 255 for these ISA drivers is understood to mean no IRQ. This remains supported so as to avoid breaking existing ISA setups (which can be difficult to get working) and because existing documentation (SANE, TLDP etc) describes this usage for the ISA NCR5380 driver options. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
The LIMIT_TRANSFERSIZE, PSEUDO_DMA, PARITY and UNSAFE options are all documented in the core drivers where they are used. The same goes for the chip databook reference. Remove the duplicate comments. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Every NCR5380 driver sets AUTOSENSE so it need not be optional (and the mid-layer expects it). Remove this redundant macro to improve readability. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Add missing static qualifiers and remove the now pointless prototypes. The NCR5380_* prototypes are all declared in NCR5380.h and renamed using macros. Further declarations are redundant (some are completely unused). Remove them. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Some macros are never evaluated (i.e. FOO, USLEEP, SCSI2 and USE_WRAPPER; and in some drivers, NCR5380_intr and NCR5380_proc_info). DRIVER_SETUP serves no purpose anymore. Remove these macro definitions. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Tested-by: NMichael Schmitz <schmitzmic@gmail.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Remove unused fields from hostdata structs declared with the NCR5380_implementation_fields macro. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
- 29 10月, 2014 1 次提交
-
-
由 Finn Thain 提交于
Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Reviewed-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 28 5月, 2014 2 次提交
-
-
由 Finn Thain 提交于
All three NCR5380 core driver implementations share the same NCR5380.h header file so they need to agree on certain macro definitions. The flag bit used by the NDEBUG_MERGING macro in atari_NCR5380 and sun3_NCR5380 collides with the bit used by NDEBUG_LISTS. Moreover, NDEBUG_ABORT appears in NCR5380.c so it should be defined in NCR5380.h rather than in each of the many drivers using that core. An undefined NDEBUG_ABORT macro caused compiler errors and led to dodgy workarounds in the core driver that can now be removed. (See commits f566a576 and 185a7a1c.) Move all of the NDEBUG_ABORT, NDEBUG_TAGS and NDEBUG_MERGING macro definitions into NCR5380.h where all the other NDEBUG macros live. Also, incorrect "#ifdef NDEBUG" becomes "#if NDEBUG" to fix the warning: drivers/scsi/mac_scsi.c: At top level: drivers/scsi/NCR5380.c:418: warning: 'NCR5380_print' defined but not used drivers/scsi/NCR5380.c:459: warning: 'NCR5380_print_phase' defined but not used The debugging code is now enabled when NDEBUG != 0. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Acked-by: NSam Creasey <sammy@sammy.net> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Finn Thain 提交于
Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Acked-by: NSam Creasey <sammy@sammy.net> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
- 20 12月, 2013 1 次提交
-
-
由 Alan 提交于
Missing check on scsi_register Signed-off-by: NAlan Cox <gnomes@lxorguk.ukuu.org.uk> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 10 4月, 2013 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
-
- 29 3月, 2012 1 次提交
-
-
由 David Howells 提交于
Remove all #inclusions of asm/system.h preparatory to splitting and killing it. Performed with the following command: perl -p -i -e 's!^#\s*include\s*<asm/system[.]h>.*\n!!' `grep -Irl '^#\s*include\s*<asm/system[.]h>' *` Signed-off-by: NDavid Howells <dhowells@redhat.com>
-
- 22 1月, 2012 1 次提交
-
-
由 Finn Thain 提交于
Don't enable the SCSI irq when initialising the chip -- the irq has no handler yet. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
- 15 12月, 2011 1 次提交
-
-
由 Geert Uytterhoeven 提交于
The m68k core irq code stopped honoring these flags during the irq restructuring in 2006. Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 30 6月, 2011 2 次提交
-
-
由 Geert Uytterhoeven 提交于
This fixes: drivers/scsi/mac_scsi.c:220:5: warning: "NDEBUG_ABORT" is not defined drivers/scsi/mac_scsi.c:271:5: warning: "NDEBUG_ABORT" is not defined Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Geert Uytterhoeven 提交于
WARNING: vmlinux.o(.text+0x1ecd3e): Section mismatch in reference from the function macscsi_detect() to the function .devinit.text:NCR5380_init() WARNING: vmlinux.o(.text+0x1ecddc): Section mismatch in reference from the function macscsi_detect() to the function .init.text:NCR5380_print_options() WARNING: vmlinux.o(.text+0x1ece60): Section mismatch in reference from the function macscsi_detect() to the function .init.text:NCR5380_print_options() Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 29 12月, 2008 1 次提交
-
-
由 Finn Thain 提交于
Remove some more cruft from machw.h and drop the #include where it isn't needed. Signed-off-by: NFinn Thain <fthain@telegraphics.com.au> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
- 08 4月, 2008 1 次提交
-
-
由 Andi Kleen 提交于
Lots of drivers set it to 0. Remove that. Patch should be a nop. Signed-off-by: NAndi Kleen <ak@suse.de> Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
-
- 25 11月, 2007 1 次提交
-
-
由 Jeff Garzik 提交于
* Always pass the same value to free_irq() that we pass to request_irq(). This fixes several bugs. * Always call NCR5380_intr() with 'irq' and 'dev_id' arguments. Note, scsi_falcon_intr() is the only case now where dev_id is not the scsi_host. * Always pass Scsi_Host to request_irq(). For most cases, the drivers already did so, and I merely neated the source code line. In other cases, either NULL or a non-sensical value was passed, verified to be unused, then changed to be Scsi_Host in anticipation of the future. In addition to the bugs fixes, this change makes the interface usage consistent, which in turn enables the possibility of directly referencing Scsi_Host from all NCR5380_intr() invocations. Signed-off-by: NJeff Garzik <jgarzik@redhat.com> Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
-
- 17 10月, 2007 1 次提交
-
-
由 Boaz Harrosh 提交于
- Previese patch to NCR5380 broke scsi_mac because AUTOSENSE was defined after the inclusion of NCR5380.h. Fix it Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 15 2月, 2007 1 次提交
-
-
由 Tim Schmielau 提交于
After Al Viro (finally) succeeded in removing the sched.h #include in module.h recently, it makes sense again to remove other superfluous sched.h includes. There are quite a lot of files which include it but don't actually need anything defined in there. Presumably these includes were once needed for macros that used to live in sched.h, but moved to other header files in the course of cleaning it up. To ease the pain, this time I did not fiddle with any header files and only removed #includes from .c-files, which tend to cause less trouble. Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha, arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig, allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all configs in arch/arm/configs on arm. I also checked that no new warnings were introduced by the patch (actually, some warnings are removed that were emitted by unnecessarily included header files). Signed-off-by: NTim Schmielau <tim@physik3.uni-rostock.de> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 26 6月, 2006 1 次提交
-
-
由 Roman Zippel 提交于
Signed-off-by: NRoman Zippel <zippel@linux-m68k.org> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 10 11月, 2005 1 次提交
-
-
由 Christoph Hellwig 提交于
Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-