13 Nov, 2019
1 commit
-
Remove SG_NONE and a related misleading comment. Update documentation.
This patch does not affect behaviour as zero initialization is redundant.
Cc: Jonathan Corbet
Cc: Bartlomiej Zolnierkiewicz
Cc: Jens Axboe
Cc: Viresh Kumar
Cc: Oliver Neukum
Cc: Alan Stern
Cc: Greg Kroah-Hartman
Cc: usb-storage@lists.one-eyed-alien.net
Link: https://lore.kernel.org/r/b4779b7a6563f6bd8d259ee457871c1c463c420e.1572656814.git.fthain@telegraphics.com.au
Signed-off-by: Finn Thain
Signed-off-by: Martin K. Petersen
21 May, 2019
1 commit
-
Add SPDX license identifiers to all files which:
- Have no license information of any form
- Have MODULE_LICENCE("GPL*") inside which was used in the initial
scan/conversion to ignore the fileThese files fall under the project license, GPL v2 only. The resulting SPDX
license identifier is:GPL-2.0-only
Signed-off-by: Thomas Gleixner
Signed-off-by: Greg Kroah-Hartman
20 Mar, 2019
1 commit
-
Clean up { brace to fix cppcheck warning. Remove some trailing spaces at
end of a statement. Also clean up an indentation issue.Signed-off-by: Colin Ian King
Signed-off-by: Martin K. Petersen
19 Dec, 2018
1 commit
-
Most SCSI drivers want to enable "clustering", that is merging of
segments so that they might span more than a single page. Remove the
ENABLE_CLUSTERING define, and require drivers to explicitly set
DISABLE_CLUSTERING to disable this feature.Signed-off-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen
18 Oct, 2018
1 commit
-
Switch from the legacy PCI DMA API to the generic DMA API.
Signed-off-by: Christoph Hellwig
Reviewed-by: Johannes Thumshirn
Signed-off-by: Martin K. Petersen
31 Jul, 2018
1 commit
-
tscam(), atp870_init(), atp880_init() and atp885_init() are never
called in atomic context.
They call mdelay() to busily wait, which is not necessary.
mdelay() can be replaced with msleep().This is found by a static analysis tool named DCNS written by myself.
Signed-off-by: Jia-Ju Bai
Signed-off-by: Martin K. Petersen
02 Mar, 2018
1 commit
-
On 64 bit CPUs there is a memory corruption bug on probe(). It should
be a u32 pointer instead of an unsigned long pointer or we write past
the end of the setupdata[] array.Signed-off-by: Dan Carpenter
Reviewed-by: Hannes Reinecke
Signed-off-by: Martin K. Petersen
26 Nov, 2015
33 commits
-
Move 870-specific init code to a separate function atp870_init()
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Move 885-specific init code to a separate function atp885_init()
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Move 880-specific init code to a separate function atp880_init()
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Call _init_tables before chip-specific initialization. This avoids code
duplication and fixes a bug(?) in 880 init where the values read from flash
into atpdev->sp are then overwritten by calling init_tables.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
scam_on is used only during probe, no need to keep it later.
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Allocate IRQ later during probe to avoid code duplication and also
remove the need for weird locking in _probe.
(It was probably there to prevent race with the IRQ handler?)Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Use pci_request_regions and do it before accessing the I/O ports.
Also add missing pci_disable_device() call to atp870u_remove().Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Introduce chip type inline functions to simplify code, allowing to delete
dev_id from struct atp_unit.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Move shpnt common code to the top, remove base_io, use pci_resource_len.
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
chip_ver is used for wide chip detection only. Remove it and use a local
variable instead (for 870; 880 and 885 are always wide).Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Move scsi_host_alloc() to the top of _probe() to remove code duplication,
*p and unneeded atpdev (de)allocation and copying. While at it, fix the
error paths to return real error codes and also add missing
pci_disble_device() call.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
tscam_885() is empty (except a delay) so remove it.
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
The code for setting host adapter ID is the same for all chips.
Move it to a common function.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
The ioport region is 0x20 bytes long so accessing 0x3a register using
writeb_io is incorrect. Use writeb_base instead.
There's no change in behavior as 870 chips have ioport = baseport.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
tscam() is using port 0x80 access for delays but that's x86-only.
Use udelay(2) instead.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Now that all the is* functions except is885() are gone, rename is885() to
atp_is() to avoid confusion. Don't know what "is" means, though...Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Now that is885() supports everything from is870() and the rest of the code
is almost identical, remove is870() and use is885() instead.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Move few remaining 870-specific code lines out of is870()
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Add remaining 870 support to is885():
- different synw, no synuw
- synu[4] = 0x0c
- atp_writeb_io(dev, c, 0x04, 0x00); instead of
atp_writeb_io(dev, c, 0x14, 0x00); (isn't that a bug?)
- atp_writeb_io(dev, c, 0x14, 0xff); instead of
atp_writeb_io(dev, c, 0x14, 0x06);
- different mbuf[3] and mbuf[4] checksSigned-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Don't check chip_ver in is870() but add wide_chip parameter for that.
Then add the non-wide support to is885().Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Now that is880() and is885() are almost identical (except for some cpu_relax()
calls and debug printks), remove is880() and use is885() instead.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Move few chip-specifis lines out of is880() and is885() so they become
almost identical.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Add channel parameter to is870() and is880() functions to simplify comparing
them with is885().Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Unify code formatting in is870(), is880() and is885() functions to simplify
comparing them.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Subtract 0x40 to use _io access wrappers. Now it's obvious that is870()
and is880() are very similar.Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen -
Signed-off-by: Ondrej Zary
Reviewed-by: Hannes Reinicke
Acked-by: Christoph Hellwig
Signed-off-by: Martin K. Petersen