[GIT PULL] first round of SCSI updates for the 5.15+ merge window

From: James Bottomley
Date: Fri Nov 05 2021 - 08:14:34 EST


This series consists of the usual driver updates (ufs, smartpqi, lpfc,
target, megaraid_sas, hisi_sas, qla2xxx) and minor updates and bug
fixes. Notable core changes are the removal of scsi->tag which caused
some churn in obsolete drivers and a sweep through all drivers to call
scsi_done() directly instead of scsi->done() which removes a pointer
indirection from the hot path and a move to register core sysfs files
earlier, which means they're available to KOBJ_ADD processing, which
necessitates switching all drivers to using attribute groups.

There's a conflict between 35c3730a9657 ("scsi: ufs: core: Stop
clearing UNIT ATTENTIONS") in our tree and 0bf6d96cb829 ("block: remove
blk_{get,put}_request") in ufshcd.c but the fix is obviously still to
remove the modified functions.

The patch is available here:

git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc

The short changelog is:

Adrian Hunter (6):
scsi: ufs: core: Fix synchronization between scsi_unjam_host() and ufshcd_queuecommand()
scsi: ufs: core: Do not exit ufshcd_err_handler() unless operational or dead
scsi: ufs: core: Do not exit ufshcd_reset_and_restore() unless operational or dead
scsi: ufs: core: Fix task management completion
scsi: ufs: core: Revert "scsi: ufs: Synchronize SCSI and UFS error handling"
scsi: ufs: ufs-pci: Fix Intel LKF link stability

Ajish Koshy (3):
scsi: pm80xx: Fix memory leak during rmmod
scsi: pm80xx: Fix lockup in outbound queue management
scsi: pm80xx: Fix incorrect port value when registering a device

Anders Roxell (1):
scsi: ufs: core: SCSI_UFS_HWMON depends on HWMON=y

Arnd Bergmann (2):
scsi: ufs: mediatek: Avoid sched_clock() misuse
scsi: lpfc: Fix gcc -Wstringop-overread warning, again

Arun Easi (3):
scsi: qla2xxx: Fix excessive messages during device logout
scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file
scsi: qla2xxx: Fix crash in NVMe abort path

Asutosh Das (2):
scsi: ufs: ufs-qcom: Enter and exit hibern8 during clock scaling
scsi: ufs: core: Export hibern8 entry and exit functions

Avri Altman (2):
scsi: ufs: core: Add temperature notification exception handling
scsi: ufs: core: Probe for temperature notification support

Baokun Li (1):
scsi: iscsi: Adjust iface sysfs attr detection

Bart Van Assche (143):
scsi: core: Remove two host template members that are no longer used
scsi: usb: Switch to attribute groups
scsi: staging: unisys: Remove the shost_attrs member
scsi: snic: Switch to attribute groups
scsi: smartpqi: Switch to attribute groups
scsi: qla4xxx: Switch to attribute groups
scsi: qla2xxx: Switch to attribute groups
scsi: qla2xxx: Remove a declaration
scsi: qedi: Switch to attribute groups
scsi: qedf: Switch to attribute groups
scsi: pmcraid: Switch to attribute groups
scsi: pm8001: Switch to attribute groups
scsi: sym53c500_cs: Switch to attribute groups
scsi: ncr53c8xx: Switch to attribute groups
scsi: myrs: Switch to attribute groups
scsi: myrb: Switch to attribute groups
scsi: mvsas: Switch to attribute groups
scsi: mpt3sas: Switch to attribute groups
scsi: megaraid_sas: Switch to attribute groups
scsi: megaraid_mbox: Switch to attribute groups
scsi: lpfc: Switch to attribute groups
scsi: isci: Switch to attribute groups
scsi: ipr: Switch to attribute groups
scsi: ibmvfc: Switch to attribute groups
scsi: ibmvscsi: Switch to attribute groups
scsi: hptiop: Switch to attribute groups
scsi: hpsa: Switch to attribute groups
scsi: hisi_sas: Switch to attribute groups
scsi: fnic: Switch to attribute groups
scsi: cxlflash: Switch to attribute groups
scsi: csiostor: Switch to attribute groups
scsi: bnx2i: Switch to attribute groups
scsi: bnx2fc: Switch to attribute groups
scsi: bfa: Switch to attribute groups
scsi: be2iscsi: Switch to attribute groups
scsi: arcmsr: Switch to attribute groups
scsi: aacraid: Switch to attribute groups
scsi: 53c700: Switch to attribute groups
scsi: 3w-xxxx: Switch to attribute groups
scsi: 3w-sas: Switch to attribute groups
scsi: 3w-9xxx: Switch to attribute groups
scsi: zfcp: Switch to attribute groups
scsi: message: fusion: Switch to attribute groups
scsi: RDMA/srp: Switch to attribute groups
scsi: firewire: sbp2: Switch to attribute groups
scsi: ata: Switch to attribute groups
scsi: core: Register sysfs attributes earlier
scsi: core: Remove the 'done' argument from SCSI queuecommand_lck functions
scsi: fas216: Introduce the function fas216_queue_command_internal()
scsi: isci: Remove a declaration
scsi: core: Call scsi_done directly
scsi: usb: Call scsi_done() directly
scsi: target: tcm_loop: Call scsi_done() directly
scsi: staging: unisys: visorhba: Call scsi_done() directly
scsi: staging: rts5208: Call scsi_done() directly
scsi: xen-scsifront: Call scsi_done() directly
scsi: wd719x: Call scsi_done() directly
scsi: wd33c93: Call scsi_done() directly
scsi: vmw_pvscsi: Call scsi_done() directly
scsi: virtio_scsi: Call scsi_done() directly
scsi: ufs: Call scsi_done() directly
scsi: sym53c8xx_2: Call scsi_done() directly
scsi: storvsc_drv: Call scsi_done() directly
scsi: stex: Call scsi_done() directly
scsi: snic: Call scsi_done() directly
scsi: smartpqi: Call scsi_done() directly
scsi: scsi_debug: Call scsi_done() directly
scsi: qlogicpti: Call scsi_done() directly
scsi: qlogicfas408: Call scsi_done() directly
scsi: qla4xxx: Call scsi_done() directly
scsi: qla2xxx: Call scsi_done() directly
scsi: qla1280: Call scsi_done() directly
scsi: qedf: Call scsi_done() directly
scsi: ps3rom: Call scsi_done() directly
scsi: ppa: Call scsi_done() directly
scsi: pmcraid: Call scsi_done() directly
scsi: pcmcia: Call scsi_done() directly
scsi: nsp32: Call scsi_done() directly
scsi: ncr53c8xx: Call scsi_done() directly
scsi: myrs: Call scsi_done() directly
scsi: myrb: Call scsi_done() directly
scsi: mvumi: Call scsi_done() directly
scsi: mpt3sas: Call scsi_done() directly
scsi: mpi3mr: Call scsi_done() directly
scsi: mesh: Call scsi_done() directly
scsi: megaraid: Call scsi_done() directly
scsi: megaraid_sas: Call scsi_done() directly
scsi: megaraid_mbox: Call scsi_done() directly
scsi: mac53c94: Call scsi_done() directly
scsi: lpfc: Call scsi_done() directly
scsi: libsas: Call scsi_done() directly
scsi: libiscsi: Call scsi_done() directly
scsi: libfc: Call scsi_done() directly
scsi: ips: Call scsi_done() directly
scsi: ipr: Call scsi_done() directly
scsi: initio: Call scsi_done() directly
scsi: imm: Call scsi_done() directly
scsi: ibmvscsi: Call scsi_done() directly
scsi: hptiop: Call scsi_done() directly
scsi: hpsa: Call scsi_done() directly
scsi: fnic: Call scsi_done() directly
scsi: fdomain: Call scsi_done() directly
scsi: fas216: Stop using scsi_cmnd.scsi_done
scsi: fas216: Introduce struct fas216_cmd_priv
scsi: esp_scsi: Call scsi_done() directly
scsi: esas2r: Call scsi_done() directly
scsi: dpt_i2o: Call scsi_done() directly
scsi: dc395x: Call scsi_done() directly
scsi: cxlflash: Call scsi_done() directly
scsi: csiostor: Call scsi_done() directly
scsi: bnx2fc: Call scsi_done() directly
scsi: bfa: Call scsi_done() directly
scsi: atp870u: Call scsi_done() directly
scsi: arcmsr: Call scsi_done() directly
scsi: aic7xxx: Call scsi_done() directly
scsi: aha1542: Call scsi_done() directly
scsi: aha152x: Call scsi_done() directly
scsi: advansys: Call scsi_done() directly
scsi: acornscsi: Call scsi_done() directly
scsi: aacraid: Call scsi_done() directly
scsi: aacraid: Introduce aac_scsi_done()
scsi: a100u2w: Call scsi_done() directly
scsi: NCR5380: Call scsi_done() directly
scsi: BusLogic: Call scsi_done() directly
scsi: 53c700: Call scsi_done() directly
scsi: 3w-xxxx: Call scsi_done() directly
scsi: 3w-sas: Call scsi_done() directly
scsi: 3w-9xxx: Call scsi_done() directly
scsi: zfcp_scsi: Call scsi_done() directly
scsi: message: fusion: Call scsi_done() directly
scsi: ib_srp: Call scsi_done() directly
scsi: firewire: sbp2: Call scsi_done() directly
scsi: ata: Call scsi_done() directly
scsi: core: Rename scsi_mq_done() into scsi_done() and export it
scsi: core: Use a structure member to track the SCSI command submitter
scsi: core: pm: Only runtime resume if necessary
scsi: sd: Rename sd_resume() into sd_resume_system()
scsi: core: pm: Rely on the device driver core for async power management
scsi: ufs: core: Stop clearing UNIT ATTENTIONS
scsi: core: Fix spelling in a source code comment
scsi: ufs: core: Unbreak the reset handler
scsi: core: Remove include <scsi/scsi_host.h> from scsi_cmnd.h
scsi: sd_zbc: Support disks with more than 2**32 logical blocks

Bean Huo (3):
scsi: ufs: core: Remove return statement in void function
scsi: ufs: core: Fix ufshcd_probe_hba() prototype to match the definition
scsi: ufs: core: Fix NULL pointer dereference

Bikash Hazarika (1):
scsi: qla2xxx: Add support for mailbox passthru

Bodo Stroesser (1):
scsi: target: tcmu: Allocate zeroed pages for data area

Cai Huoqing (2):
scsi: aic7xxx: Fix a function name in comments
scsi: lpfc: Fix a function name in comments

ChanWoo Lee (2):
scsi: ufs: ufs-qcom: Remove unneeded variable 'err'
scsi: ufs: ufshpb: Remove unused parameters

Chi Minghao (1):
scsi: lpfc: Remove unneeded variable

Christoph Hellwig (2):
scsi: target: core: Stop using bdevname()
scsi: aha1542: Use memcpy_{from,to}_bvec()

Christophe JAILLET (1):
scsi: elx: efct: Switch from 'pci_' to 'dma_' API

Colin Ian King (8):
scsi: 3w-xxx: Remove redundant initialization of variable retval
scsi: lpfc: Return NULL rather than a plain 0 integer
scsi: virtio_scsi: Fix spelling mistake "Unsupport" -> "Unsupported"
scsi: target: Fix spelling mistake "CONFLIFT" -> "CONFLICT"
scsi: qla2xxx: Remove redundant initialization of pointer req
scsi: mpt3sas: Clean up some inconsistent indenting
scsi: megaraid: Clean up some inconsistent indenting
scsi: sr: Fix spelling mistake "does'nt" -> "doesn't"

Daejun Park (1):
scsi: ufs: ufshpb: Use proper power management API

Damien Le Moal (3):
scsi: sd: Fix sd_do_mode_sense() buffer length handling
scsi: core: Fix scsi_mode_select() buffer length handling
scsi: core: Fix scsi_mode_sense() buffer length handling

Dan Carpenter (6):
scsi: mpi3mr: Use scnprintf() instead of snprintf()
scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn()
scsi: mpi3mr: Clean up mpi3mr_print_ioc_info()
scsi: elx: efct: Delete stray unlock statement
scsi: lpfc: Use correct scnprintf() limit
scsi: lpfc: Fix sprintf() overflow in lpfc_display_fpin_wwpn()

Ding Hui (1):
scsi: libiscsi: Move ehwait initialization to iscsi_session_setup()

Dmitry Bogdanov (11):
scsi: target: usb: Replace enable attr with ops.enable
scsi: target: ibm_vscsi: Replace enable attr with ops.enable
scsi: target: srpt: Replace enable attr with ops.enable
scsi: target: sbp: Replace enable attr with ops.enable
scsi: target: qla2xxx: Replace enable attr with ops.enable
scsi: target: iscsi: Replace tpg enable attr with ops.enable
scsi: target: core: Add common tpg/enable attribute
scsi: efct: Decrease area under spinlock
scsi: efct: Fix nport free
scsi: efct: Add state in nport sm trace printout
scsi: qla2xxx: Restore initiator in dual mode

Don Brace (3):
scsi: smartpqi: Update version to 2.1.12-055
scsi: smartpqi: Add TEST UNIT READY check for SANITIZE operation
scsi: smartpqi: Update device removal management

Guo Zhi (1):
scsi: advansys: Fix kernel pointer leak

Gustavo A. R. Silva (1):
scsi: target: tcmu: Use struct_size() helper in kmalloc()

Hannes Reinecke (3):
scsi: core: Remove 'current_tag'
scsi: acornscsi: Remove tagged queuing vestiges
scsi: fas216: Kill scmd->tag

Heiner Kallweit (1):
scsi: sd: Make sd_spinup_disk() less noisy

Helge Deller (1):
scsi: ncr53c8xx: Remove unused retrieve_from_waiting_list() function

Igor Pylypiv (2):
scsi: pm80xx: Fix misleading log statement in pm8001_mpi_get_nvmd_resp()
scsi: pm80xx: Replace open coded check with dev_is_expander()

Jaegeuk Kim (1):
scsi: ufs: core: Retry START_STOP on UNIT_ATTENTION

James Smart (29):
scsi: lpfc: Update lpfc version to 14.0.0.3
scsi: lpfc: Allow fabric node recovery if recovery is in progress before devloss
scsi: lpfc: Fix link down processing to address NULL pointer dereference
scsi: lpfc: Allow PLOGI retry if previous PLOGI was aborted
scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine
scsi: lpfc: Correct sysfs reporting of loop support after SFP status change
scsi: lpfc: Wait for successful restart of SLI3 adapter during host sg_reset
scsi: lpfc: Revert LOG_TRACE_EVENT back to LOG_INIT prior to driver_resource_setup()
scsi: lpfc: Fix memory overwrite during FC-GS I/O abort handling
scsi: lpfc: Add support for optional PLDV handling
scsi: lpfc: Fix mailbox command failure during driver initialization
scsi: lpfc: Update lpfc version to 14.0.0.2
scsi: lpfc: Improve PBDE checks during SGL processing
scsi: lpfc: Zero CGN stats only during initial driver load and stat reset
scsi: lpfc: Fix I/O block after enabling managed congestion mode
scsi: lpfc: Adjust bytes received vales during cmf timer interval
scsi: lpfc: Fix EEH support for NVMe I/O
scsi: lpfc: Fix FCP I/O flush functionality for TMF routines
scsi: lpfc: Fix NVMe I/O failover to non-optimized path
scsi: lpfc: Don't remove ndlp on PRLI errors in P2P mode
scsi: lpfc: Fix rediscovery of tape device after LIP
scsi: lpfc: Fix hang on unload due to stuck fport node
scsi: lpfc: Fix premature rpi release for unsolicited TPLS and LS_RJT
scsi: lpfc: Don't release final kref on Fport node while ABTS outstanding
scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq()
scsi: elx: efct: Do not hold lock while calling fc_vport_terminate()
scsi: lpfc: Fix compilation errors on kernels with no CONFIG_DEBUG_FS
scsi: lpfc: Fix CPU to/from endian warnings introduced by ELS processing
scsi: elx: efct: Fix void-pointer-to-enum-cast warning for efc_nport_topology

Jens Axboe (1):
scsi: Remove SCSI CDROM MAINTAINERS entry

Jiapeng Chong (2):
scsi: mpt3sas: Make mpt3sas_dev_attrs static
scsi: ses: Fix unsigned comparison with less than zero

John Garry (4):
scsi: acornscsi: Remove scsi_cmd_to_tag() reference
scsi: core: Delete scsi_{get,free}_host_dev()
scsi: libsas: Co-locate exports with symbols
scsi: hisi_sas: Stop printing queue count in v3 hardware probe

Jonathan Hsu (1):
scsi: ufs: Fix illegal offset in UPIU event trace

Kevin Barnett (2):
scsi: smartpqi: Fix duplicate device nodes for tape changers
scsi: smartpqi: Update LUN reset handler

Konstantin Shelekhin (1):
scsi: target: core: Make logs less verbose

Krzysztof Kozlowski (1):
scsi: ufs: exynos: Unify naming

Len Baker (2):
scsi: advansys: Prefer struct_size() over open-coded arithmetic
scsi: elx: libefc: Prefer kcalloc() over open coded arithmetic

Li Feng (1):
scsi: target: Remove unused function arguments

Luis Chamberlain (2):
scsi: sr: Add error handling support for add_disk()
scsi: sd: Add error handling support for add_disk()

Luo Jiaxing (4):
scsi: hisi_sas: Disable SATA disk phy for severe I_T nexus reset failure
scsi: libsas: Export sas_phy_enable()
scsi: hisi_sas: Increase debugfs_dump_index after dump is completed
scsi: hisi_sas: Rename HISI_SAS_{RESET -> RESETTING}_BIT

Mahesh Rajashekhara (2):
scsi: smartpqi: Avoid failing I/Os for offline devices
scsi: smartpqi: Add controller handshake during kdump

Manish Rangankar (1):
scsi: qla2xxx: Move heartbeat handling from DPC thread to workqueue

Martin Kepplinger (1):
scsi: sd: Print write through due to no caching mode page as warning

Maurizio Lombardi (1):
scsi: target: Fix the pgr/alua_support_store functions

MichelleJin (1):
scsi: fcoe: Use netif_is_bond_master() instead of open code

Mike Christie (6):
scsi: target: Perform ALUA group changes in one step
scsi: target: Replace lun_tg_pt_gp_lock with rcu in I/O path
scsi: target: Fix alua_tg_pt_gps_count tracking
scsi: target: Fix ordered tag handling
scsi: target: Fix ordered CMD_T_SENT handling
scsi: iscsi: Fix iscsi_task use after free

Mike McGowen (3):
scsi: smartpqi: Add 3252-8i PCI id
scsi: smartpqi: Fix boot failure during LUN rebuild
scsi: smartpqi: Add extended report physical LUNs

Ming Lei (1):
scsi: sd: Free scsi_disk device via put_device()

Muneendra Kumar (1):
scsi: documentation: Document Fibre Channel sysfs node for appid

Murthy Bhat (1):
scsi: smartpqi: Capture controller reason codes

Naohiro Aota (1):
scsi: sd_zbc: Ensure buffer size is aligned to SECTOR_SIZE

Nathan Chancellor (1):
scsi: st: Add missing break in switch statement in st_ioctl()

Nilesh Javali (1):
scsi: qla2xxx: Update version to 10.02.07.100-k

Peter Wang (3):
scsi: ufs: ufs-mediatek: Fix wrong location for ref-clk delay
scsi: ufs: mediatek: Support vops pre suspend to disable auto-hibern8
scsi: ufs: ufs-mediatek: Change dbg select by check IP version

Quinn Tran (2):
scsi: qla2xxx: Fix use after free in eh_abort path
scsi: qla2xxx: edif: Use link event to wake up app

Rahul Lakkireddy (1):
scsi: csiostor: Add module softdep on cxgb4

Saurav Kashyap (2):
scsi: qla2xxx: Check for firmware capability before creating QPair
scsi: qla2xxx: Display 16G only as supported speeds for 3830c card

Shreyas Deodhar (1):
scsi: qla2xxx: Call process_response_queue() in Tx path

Sohaib Mohamed (1):
scsi: Documentation: Fix typo in sysfs-driver-ufs

Sreekanth Reddy (2):
scsi: scsi_transport_sas: Add 22.5 Gbps link rate definitions
scsi: mpt3sas: Call cpu_relax() before calling udelay()

Srinivas Kandagatla (1):
scsi: ufs: ufshcd-pltfrm: Fix memory leak due to probe defer

Stanley Chu (2):
scsi: ufs: ufs-mediatek: Fix build error caused by use of sched_clock()
scsi: ufs: ufs-mediatek: Introduce default delay for reference clock

Sumit Saxena (3):
scsi: megaraid_sas: Driver version update to 07.719.03.00-rc1
scsi: megaraid_sas: Add helper functions for irq_context
scsi: megaraid_sas: Fix concurrent access to ISR between IRQ polling and real interrupt

Tong Zhang (1):
scsi: dc395: Fix error case unwinding

Tyrel Datwyler (1):
scsi: ibmvscsi: Use GFP_KERNEL with dma_alloc_coherent() in initialize_event_pool()

Varun Prakash (2):
scsi: target: cxgbit: Enable Delayed ACK
scsi: target: cxgbit: Increase max DataSegmentLength

Viswas G (1):
scsi: pm80xx: Correct inbound and outbound queue logging

Wen Xiong (1):
scsi: ses: Retry failed Send/Receive Diagnostic commands

Xiang Chen (4):
scsi: hisi_sas: Wait for phyup in hisi_sas_control_phy()
scsi: hisi_sas: Initialise devices in .slave_alloc callback
scsi: hisi_sas: Replace del_timer() calls with del_timer_sync()
scsi: hisi_sas: Use managed PCI functions

Ye Bin (2):
scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs()
scsi: scsi_debug: Fix out-of-bound read in resp_readcap16()

Zenghui Yu (1):
scsi: bsg: Fix device unregistration

jing yangyang (1):
scsi: megaraid: Fix Coccinelle warning

And the diffstat:

Documentation/ABI/testing/sysfs-class-fc | 27 ++
Documentation/ABI/testing/sysfs-driver-ufs | 2 +-
MAINTAINERS | 7 -
block/bsg.c | 23 +-
drivers/ata/ahci.h | 8 +-
drivers/ata/ata_piix.c | 8 +-
drivers/ata/libahci.c | 52 ++-
drivers/ata/libata-sata.c | 21 +-
drivers/ata/libata-scsi.c | 29 +-
drivers/ata/pata_macio.c | 2 +-
drivers/ata/sata_mv.c | 2 +-
drivers/ata/sata_nv.c | 4 +-
drivers/ata/sata_sil24.c | 2 +-
drivers/firewire/sbp2.c | 10 +-
drivers/infiniband/ulp/srp/ib_srp.c | 59 ++-
drivers/infiniband/ulp/srpt/ib_srpt.c | 38 +-
drivers/message/fusion/mptfc.c | 8 +-
drivers/message/fusion/mptsas.c | 4 +-
drivers/message/fusion/mptscsih.c | 46 +-
drivers/message/fusion/mptscsih.h | 2 +-
drivers/message/fusion/mptspi.c | 6 +-
drivers/s390/scsi/zfcp_ext.h | 4 +-
drivers/s390/scsi/zfcp_fsf.c | 2 +-
drivers/s390/scsi/zfcp_scsi.c | 8 +-
drivers/s390/scsi/zfcp_sysfs.c | 52 ++-
drivers/scsi/3w-9xxx.c | 18 +-
drivers/scsi/3w-sas.c | 18 +-
drivers/scsi/3w-xxxx.c | 26 +-
drivers/scsi/53c700.c | 20 +-
drivers/scsi/BusLogic.c | 13 +-
drivers/scsi/NCR5380.c | 12 +-
drivers/scsi/a100u2w.c | 5 +-
drivers/scsi/aacraid/aachba.c | 53 ++-
drivers/scsi/aacraid/linit.c | 38 +-
drivers/scsi/advansys.c | 14 +-
drivers/scsi/aha152x.c | 29 +-
drivers/scsi/aha1542.c | 16 +-
drivers/scsi/aha1740.c | 4 +-
drivers/scsi/aic7xxx/aic79xx_osm.c | 6 +-
drivers/scsi/aic7xxx/aic79xx_osm.h | 2 +-
drivers/scsi/aic7xxx/aic7xxx_osm.c | 6 +-
drivers/scsi/aic7xxx/aic7xxx_osm.h | 2 +-
drivers/scsi/arcmsr/arcmsr.h | 2 +-
drivers/scsi/arcmsr/arcmsr_attr.c | 33 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 22 +-
drivers/scsi/arm/Kconfig | 11 -
drivers/scsi/arm/acornscsi.c | 123 ++---
drivers/scsi/arm/arxescsi.c | 1 +
drivers/scsi/arm/cumana_2.c | 1 +
drivers/scsi/arm/eesox.c | 1 +
drivers/scsi/arm/fas216.c | 57 +--
drivers/scsi/arm/fas216.h | 10 +
drivers/scsi/arm/powertec.c | 2 +-
drivers/scsi/arm/queue.c | 2 +-
drivers/scsi/atp870u.c | 17 +-
drivers/scsi/be2iscsi/be_main.c | 21 +-
drivers/scsi/bfa/bfad_attr.c | 68 +--
drivers/scsi/bfa/bfad_im.c | 16 +-
drivers/scsi/bfa/bfad_im.h | 4 +-
drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 8 +-
drivers/scsi/bnx2fc/bnx2fc_io.c | 8 +-
drivers/scsi/bnx2i/bnx2i.h | 2 +-
drivers/scsi/bnx2i/bnx2i_iscsi.c | 2 +-
drivers/scsi/bnx2i/bnx2i_sysfs.c | 15 +-
drivers/scsi/csiostor/csio_init.c | 1 +
drivers/scsi/csiostor/csio_lnode.c | 2 +-
drivers/scsi/csiostor/csio_scsi.c | 32 +-
drivers/scsi/cxlflash/main.c | 46 +-
drivers/scsi/dc395x.c | 12 +-
drivers/scsi/dpt_i2o.c | 13 +-
drivers/scsi/elx/efct/efct_driver.c | 6 +-
drivers/scsi/elx/efct/efct_lio.c | 8 +-
drivers/scsi/elx/efct/efct_scsi.c | 6 +-
drivers/scsi/elx/libefc/efc.h | 2 +-
drivers/scsi/elx/libefc/efc_cmds.c | 7 +-
drivers/scsi/elx/libefc/efc_device.c | 7 +-
drivers/scsi/elx/libefc/efc_fabric.c | 5 +-
drivers/scsi/elx/libefc/efclib.h | 1 +
drivers/scsi/esas2r/esas2r_main.c | 8 +-
drivers/scsi/esp_scsi.c | 12 +-
drivers/scsi/fcoe/fcoe.c | 2 +-
drivers/scsi/fdomain.c | 2 +-
drivers/scsi/fnic/fnic.h | 2 +-
drivers/scsi/fnic/fnic_attrs.c | 17 +-
drivers/scsi/fnic/fnic_main.c | 2 +-
drivers/scsi/fnic/fnic_scsi.c | 122 +++--
drivers/scsi/hisi_sas/hisi_sas.h | 3 +-
drivers/scsi/hisi_sas/hisi_sas_main.c | 113 +++--
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 23 +-
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 35 +-
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 62 ++-
drivers/scsi/hosts.c | 17 +-
drivers/scsi/hpsa.c | 56 +--
drivers/scsi/hptiop.c | 20 +-
drivers/scsi/ibmvscsi/ibmvfc.c | 30 +-
drivers/scsi/ibmvscsi/ibmvscsi.c | 28 +-
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 42 +-
drivers/scsi/imm.c | 6 +-
drivers/scsi/initio.c | 7 +-
drivers/scsi/ipr.c | 48 +-
drivers/scsi/ips.c | 31 +-
drivers/scsi/isci/init.c | 8 +-
drivers/scsi/isci/task.h | 4 -
drivers/scsi/libfc/fc_fcp.c | 6 +-
drivers/scsi/libiscsi.c | 22 +-
drivers/scsi/libsas/sas_init.c | 8 +-
drivers/scsi/libsas/sas_scsi_host.c | 27 +-
drivers/scsi/lpfc/lpfc.h | 1 +
drivers/scsi/lpfc/lpfc_attr.c | 324 ++++++-------
drivers/scsi/lpfc/lpfc_crtn.h | 7 +-
drivers/scsi/lpfc/lpfc_disc.h | 12 +-
drivers/scsi/lpfc/lpfc_els.c | 71 ++-
drivers/scsi/lpfc/lpfc_hbadisc.c | 144 +++++-
drivers/scsi/lpfc/lpfc_hw4.h | 6 +-
drivers/scsi/lpfc/lpfc_init.c | 155 ++++++-
drivers/scsi/lpfc/lpfc_nvme.c | 72 ++-
drivers/scsi/lpfc/lpfc_nvmet.c | 44 +-
drivers/scsi/lpfc/lpfc_scsi.c | 140 +++---
drivers/scsi/lpfc/lpfc_sli.c | 213 ++++++---
drivers/scsi/lpfc/lpfc_sli4.h | 2 +
drivers/scsi/lpfc/lpfc_version.h | 2 +-
drivers/scsi/mac53c94.c | 6 +-
drivers/scsi/megaraid.c | 24 +-
drivers/scsi/megaraid/megaraid_mbox.c | 28 +-
drivers/scsi/megaraid/megaraid_sas.h | 4 +-
drivers/scsi/megaraid/megaraid_sas_base.c | 47 +-
drivers/scsi/megaraid/megaraid_sas_fusion.c | 56 ++-
drivers/scsi/mesh.c | 18 +-
drivers/scsi/mpi3mr/mpi3mr_fw.c | 32 +-
drivers/scsi/mpi3mr/mpi3mr_os.c | 26 +-
drivers/scsi/mpt3sas/mpt3sas_base.c | 4 +-
drivers/scsi/mpt3sas/mpt3sas_base.h | 4 +-
drivers/scsi/mpt3sas/mpt3sas_ctl.c | 86 ++--
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 29 +-
drivers/scsi/mvsas/mv_init.c | 12 +-
drivers/scsi/mvumi.c | 4 +-
drivers/scsi/myrb.c | 60 +--
drivers/scsi/myrs.c | 50 +-
drivers/scsi/ncr53c8xx.c | 39 +-
drivers/scsi/nsp32.c | 7 +-
drivers/scsi/pcmcia/nsp_cs.c | 7 +-
drivers/scsi/pcmcia/sym53c500_cs.c | 14 +-
drivers/scsi/pm8001/pm8001_ctl.c | 70 +--
drivers/scsi/pm8001/pm8001_hwi.c | 12 +-
drivers/scsi/pm8001/pm8001_init.c | 14 +-
drivers/scsi/pm8001/pm8001_sas.c | 15 +
drivers/scsi/pm8001/pm8001_sas.h | 8 +-
drivers/scsi/pm8001/pm80xx_hwi.c | 63 ++-
drivers/scsi/pmcraid.c | 27 +-
drivers/scsi/ppa.c | 6 +-
drivers/scsi/ps3rom.c | 8 +-
drivers/scsi/qedf/qedf.h | 2 +-
drivers/scsi/qedf/qedf_attr.c | 15 +-
drivers/scsi/qedf/qedf_io.c | 19 +-
drivers/scsi/qedf/qedf_main.c | 2 +-
drivers/scsi/qedi/qedi_gbl.h | 2 +-
drivers/scsi/qedi/qedi_iscsi.c | 2 +-
drivers/scsi/qedi/qedi_sysfs.c | 15 +-
drivers/scsi/qla1280.c | 8 +-
drivers/scsi/qla2xxx/qla_attr.c | 149 +++---
drivers/scsi/qla2xxx/qla_bsg.c | 48 ++
drivers/scsi/qla2xxx/qla_bsg.h | 7 +
drivers/scsi/qla2xxx/qla_def.h | 4 +-
drivers/scsi/qla2xxx/qla_gbl.h | 8 +-
drivers/scsi/qla2xxx/qla_gs.c | 3 +-
drivers/scsi/qla2xxx/qla_init.c | 20 +-
drivers/scsi/qla2xxx/qla_isr.c | 4 +-
drivers/scsi/qla2xxx/qla_mbx.c | 35 +-
drivers/scsi/qla2xxx/qla_nvme.c | 20 +-
drivers/scsi/qla2xxx/qla_os.c | 103 ++---
drivers/scsi/qla2xxx/qla_version.h | 6 +-
drivers/scsi/qla2xxx/tcm_qla2xxx.c | 73 +--
drivers/scsi/qla4xxx/ql4_attr.c | 41 +-
drivers/scsi/qla4xxx/ql4_glbl.h | 3 +-
drivers/scsi/qla4xxx/ql4_os.c | 6 +-
drivers/scsi/qlogicfas408.c | 7 +-
drivers/scsi/qlogicpti.c | 7 +-
drivers/scsi/scsi.c | 8 -
drivers/scsi/scsi_debug.c | 19 +-
drivers/scsi/scsi_error.c | 17 +-
drivers/scsi/scsi_lib.c | 64 ++-
drivers/scsi/scsi_pm.c | 105 +----
drivers/scsi/scsi_priv.h | 7 +-
drivers/scsi/scsi_scan.c | 74 +--
drivers/scsi/scsi_sysfs.c | 54 +--
drivers/scsi/scsi_transport_iscsi.c | 8 +-
drivers/scsi/scsi_transport_sas.c | 1 +
drivers/scsi/sd.c | 52 ++-
drivers/scsi/sd_zbc.c | 8 +-
drivers/scsi/ses.c | 24 +-
drivers/scsi/smartpqi/smartpqi.h | 61 ++-
drivers/scsi/smartpqi/smartpqi_init.c | 588 +++++++++++++++++-------
drivers/scsi/smartpqi/smartpqi_sas_transport.c | 6 +-
drivers/scsi/smartpqi/smartpqi_sis.c | 60 ++-
drivers/scsi/smartpqi/smartpqi_sis.h | 4 +-
drivers/scsi/snic/snic.h | 2 +-
drivers/scsi/snic/snic_attrs.c | 19 +-
drivers/scsi/snic/snic_main.c | 2 +-
drivers/scsi/snic/snic_scsi.c | 33 +-
drivers/scsi/sr.c | 7 +-
drivers/scsi/sr_ioctl.c | 2 +-
drivers/scsi/st.c | 1 +
drivers/scsi/stex.c | 10 +-
drivers/scsi/storvsc_drv.c | 4 +-
drivers/scsi/sym53c8xx_2/sym_glue.c | 6 +-
drivers/scsi/ufs/Kconfig | 19 +-
drivers/scsi/ufs/Makefile | 1 +
drivers/scsi/ufs/ufs-exynos.c | 6 +-
drivers/scsi/ufs/ufs-hisi.c | 6 +-
drivers/scsi/ufs/ufs-hwmon.c | 210 +++++++++
drivers/scsi/ufs/ufs-mediatek.c | 111 ++++-
drivers/scsi/ufs/ufs-mediatek.h | 27 ++
drivers/scsi/ufs/ufs-qcom.c | 21 +-
drivers/scsi/ufs/ufs.h | 7 +
drivers/scsi/ufs/ufshcd-pci.c | 78 ++++
drivers/scsi/ufs/ufshcd-pltfrm.c | 4 +-
drivers/scsi/ufs/ufshcd.c | 512 +++++++++------------
drivers/scsi/ufs/ufshcd.h | 49 +-
drivers/scsi/ufs/ufshpb.c | 15 +-
drivers/scsi/virtio_scsi.c | 11 +-
drivers/scsi/vmw_pvscsi.c | 9 +-
drivers/scsi/wd33c93.c | 18 +-
drivers/scsi/wd719x.c | 4 +-
drivers/scsi/xen-scsifront.c | 4 +-
drivers/staging/rts5208/rtsx.c | 9 +-
drivers/staging/unisys/visorhba/visorhba_main.c | 20 +-
drivers/target/iscsi/cxgbit/cxgbit_cm.c | 8 +-
drivers/target/iscsi/cxgbit/cxgbit_main.c | 17 +-
drivers/target/iscsi/cxgbit/cxgbit_target.c | 28 +-
drivers/target/iscsi/iscsi_target_configfs.c | 91 ++--
drivers/target/loopback/tcm_loop.c | 4 +-
drivers/target/sbp/sbp_target.c | 30 +-
drivers/target/target_core_alua.c | 83 ++--
drivers/target/target_core_configfs.c | 33 +-
drivers/target/target_core_device.c | 2 +
drivers/target/target_core_fabric_configfs.c | 78 +++-
drivers/target/target_core_iblock.c | 4 +-
drivers/target/target_core_internal.h | 1 +
drivers/target/target_core_pr.c | 2 +-
drivers/target/target_core_transport.c | 94 ++--
drivers/target/target_core_user.c | 7 +-
drivers/target/target_core_xcopy.c | 14 +-
drivers/usb/gadget/function/f_tcm.c | 31 +-
drivers/usb/image/microtek.c | 5 +-
drivers/usb/storage/scsiglue.c | 13 +-
drivers/usb/storage/uas.c | 13 +-
drivers/usb/storage/usb.c | 4 +-
include/linux/libata.h | 8 +-
include/scsi/libsas.h | 1 +
include/scsi/scsi_cmnd.h | 14 +-
include/scsi/scsi_device.h | 7 +-
include/scsi/scsi_host.h | 27 +-
include/scsi/scsi_transport_sas.h | 1 +
include/target/target_core_base.h | 9 +-
include/target/target_core_fabric.h | 1 +
255 files changed, 4507 insertions(+), 3137 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-class-fc
create mode 100644 drivers/scsi/ufs/ufs-hwmon.c

James