From patchwork Wed Oct 2 20:33:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 832354 Received: from 009.lax.mailroute.net (009.lax.mailroute.net [199.89.1.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F056A81720 for ; Wed, 2 Oct 2024 20:35:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.1.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901345; cv=none; b=iCzzyZ2bTiTFAyO/TW1xvkblFgCSSh17g9/ropfYQ/QvKc8iGov+jo7RNx7NztM1cK7rWE+YjGtrOtmxpZYb0BIB2Vgca/g078Gdxapv2dyTkY9MUVrtPshwGJRQNrpDWiFIdXAW7+qzI0+VOI3tV6YJac9YUTFVoIqIZ4Mk2NU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901345; c=relaxed/simple; bh=Ue1Ne6GOaGmZVRlNhOyVn9zz+iQQknK7UyO8+kzXQyo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YkY2m+2CcAVTzpmi1ormBZJGetj++YOR6X6nLdCDJaVOqp5prezChgP4R4yWEGB1lRNU/TDfis1d/zbSiRYUJ3+Wl/5jZIokcoAjgiofVCYbofIiVGP1Ctft/s19Ud1qxG9RCXAxKeCvaHK70Jv673h/ZHOGmN7cKO0lVk9wDi8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=T4FtacfH; arc=none smtp.client-ip=199.89.1.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="T4FtacfH" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmlz4zl6zlgMWB; Wed, 2 Oct 2024 20:35:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h= content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received; s=mr01; t=1727901340; x=1730493341; bh=Dy6A0 G3Y2ZEBHTZNXV+Hc18RRQiSqlb2jsITLR/He+0=; b=T4FtacfH+IrbBkqd4bz6h gX2UFCFLrx9NrX7akAKtXISmxUw/csxtOPuuymGo9R54ypmyC292s3FPpbYWeC/P k40kIlyyYO/dcObcUP0Ytm/hEn7l99F36fbyh8PRITiBFvhiMMDD0R44FNUrOUEA qGqEsLggjLdLcjpFUBQeu5VnphRRnIGTupdN5B/lbRoU26nxSUY6fKQX6vv3mTeE n4oCIFVqdRty0kKtK436e2LTlD2f+hZt2po7nGs99TYzI3wiMg9AcVCYrdy6/5Ng iktGHt6hXzusf/5JY5NO/kTCkNoYw7Zelk0H/pskqDbK3wFDhVPTK9Of9/rwllaU Q== X-Virus-Scanned: by MailRoute Received: from 009.lax.mailroute.net ([127.0.0.1]) by localhost (009.lax [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP id XqHjONH6pVLV; Wed, 2 Oct 2024 20:35:40 +0000 (UTC) Received: from bvanassche.mtv.corp.google.com (unknown [104.135.204.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bvanassche@acm.org) by 009.lax.mailroute.net (Postfix) with ESMTPSA id 4XJmlv6MNpzlgMW9; Wed, 2 Oct 2024 20:35:39 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Jonathan Corbet Subject: [PATCH v2 01/11] scsi: arcmsr: Remove the changelog Date: Wed, 2 Oct 2024 13:33:53 -0700 Message-ID: <20241002203528.4104996-2-bvanassche@acm.org> X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog In-Reply-To: <20241002203528.4104996-1-bvanassche@acm.org> References: <20241002203528.4104996-1-bvanassche@acm.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Since we typically do not maintain changelogs as text files in the kernel, and since the arcmsr changelog has not been updated since 2008, remove it. Signed-off-by: Bart Van Assche --- Documentation/scsi/ChangeLog.arcmsr | 118 ---------------------------- 1 file changed, 118 deletions(-) delete mode 100644 Documentation/scsi/ChangeLog.arcmsr diff --git a/Documentation/scsi/ChangeLog.arcmsr b/Documentation/scsi/ChangeLog.arcmsr deleted file mode 100644 index 038a3e6ecaa4..000000000000 --- a/Documentation/scsi/ChangeLog.arcmsr +++ /dev/null @@ -1,118 +0,0 @@ -************************************************************************** -** History -** -** REV# DATE NAME DESCRIPTION -** 1.00.00.00 3/31/2004 Erich Chen First release -** 1.10.00.04 7/28/2004 Erich Chen modify for ioctl -** 1.10.00.06 8/28/2004 Erich Chen modify for 2.6.x -** 1.10.00.08 9/28/2004 Erich Chen modify for x86_64 -** 1.10.00.10 10/10/2004 Erich Chen bug fix for SMP & ioctl -** 1.20.00.00 11/29/2004 Erich Chen bug fix with arcmsr_bus_reset when PHY error -** 1.20.00.02 12/09/2004 Erich Chen bug fix with over 2T bytes RAID Volume -** 1.20.00.04 1/09/2005 Erich Chen fits for Debian linux kernel version 2.2.xx -** 1.20.00.05 2/20/2005 Erich Chen cleanly as look like a Linux driver at 2.6.x -** thanks for peoples kindness comment -** Kornel Wieliczek -** Christoph Hellwig -** Adrian Bunk -** Andrew Morton -** Christoph Hellwig -** James Bottomley -** Arjan van de Ven -** 1.20.00.06 3/12/2005 Erich Chen fix with arcmsr_pci_unmap_dma "unsigned long" cast, -** modify PCCB POOL allocated by "dma_alloc_coherent" -** (Kornel Wieliczek's comment) -** 1.20.00.07 3/23/2005 Erich Chen bug fix with arcmsr_scsi_host_template_init -** occur segmentation fault, -** if RAID adapter does not on PCI slot -** and modprobe/rmmod this driver twice. -** bug fix enormous stack usage (Adrian Bunk's comment) -** 1.20.00.08 6/23/2005 Erich Chen bug fix with abort command, -** in case of heavy loading when sata cable -** working on low quality connection -** 1.20.00.09 9/12/2005 Erich Chen bug fix with abort command handling, firmware version check -** and firmware update notify for hardware bug fix -** 1.20.00.10 9/23/2005 Erich Chen enhance sysfs function for change driver's max tag Q number. -** add DMA_64BIT_MASK for backward compatible with all 2.6.x -** add some useful message for abort command -** add ioctl code 'ARCMSR_IOCTL_FLUSH_ADAPTER_CACHE' -** customer can send this command for sync raid volume data -** 1.20.00.11 9/29/2005 Erich Chen by comment of Arjan van de Ven fix incorrect msleep redefine -** cast off sizeof(dma_addr_t) condition for 64bit pci_set_dma_mask -** 1.20.00.12 9/30/2005 Erich Chen bug fix with 64bit platform's ccbs using if over 4G system memory -** change 64bit pci_set_consistent_dma_mask into 32bit -** increcct adapter count if adapter initialize fail. -** miss edit at arcmsr_build_ccb.... -** psge += sizeof(struct _SG64ENTRY *) => -** psge += sizeof(struct _SG64ENTRY) -** 64 bits sg entry would be incorrectly calculated -** thanks Kornel Wieliczek give me kindly notify -** and detail description -** 1.20.00.13 11/15/2005 Erich Chen scheduling pending ccb with FIFO -** change the architecture of arcmsr command queue list -** for linux standard list -** enable usage of pci message signal interrupt -** follow Randy.Danlup kindness suggestion cleanup this code -** 1.20.00.14 05/02/2007 Erich Chen & Nick Cheng -** 1.implement PCI-Express error recovery function and AER capability -** 2.implement the selection of ARCMSR_MAX_XFER_SECTORS_B=4096 -** if firmware version is newer than 1.42 -** 3.modify arcmsr_iop_reset to improve the ability -** 4.modify the ISR, arcmsr_interrupt routine,to prevent the -** inconsistency with sg_mod driver if application directly calls -** the arcmsr driver w/o passing through scsi mid layer -** specially thanks to Yanmin Zhang's openhanded help about AER -** 1.20.00.15 08/30/2007 Erich Chen & Nick Cheng -** 1. support ARC1200/1201/1202 SATA RAID adapter, which is named -** ACB_ADAPTER_TYPE_B -** 2. modify the arcmsr_pci_slot_reset function -** 3. modify the arcmsr_pci_ers_disconnect_forepart function -** 4. modify the arcmsr_pci_ers_need_reset_forepart function -** 1.20.00.15 09/27/2007 Erich Chen & Nick Cheng -** 1. add arcmsr_enable_eoi_mode() on adapter Type B -** 2. add readl(reg->iop2drv_doorbell_reg) in arcmsr_handle_hbb_isr() -** in case of the doorbell interrupt clearance is cached -** 1.20.00.15 10/01/2007 Erich Chen & Nick Cheng -** 1. modify acb->devstate[i][j] -** as ARECA_RAID_GOOD instead of -** ARECA_RAID_GONE in arcmsr_alloc_ccb_pool -** 1.20.00.15 11/06/2007 Erich Chen & Nick Cheng -** 1. add conditional declaration for -** arcmsr_pci_error_detected() and -** arcmsr_pci_slot_reset -** 1.20.00.15 11/23/2007 Erich Chen & Nick Cheng -** 1.check if the sg list member number -** exceeds arcmsr default limit in arcmsr_build_ccb() -** 2.change the returned value type of arcmsr_build_ccb() -** from "void" to "int" -** 3.add the conditional check if arcmsr_build_ccb() -** returns FAILED -** 1.20.00.15 12/04/2007 Erich Chen & Nick Cheng -** 1. modify arcmsr_drain_donequeue() to ignore unknown -** command and let kernel process command timeout. -** This could handle IO request violating max. segments -** while Linux XFS over DM-CRYPT. -** Thanks to Milan Broz's comments -** 1.20.00.15 12/24/2007 Erich Chen & Nick Cheng -** 1.fix the portability problems -** 2.fix type B where we should _not_ iounmap() acb->pmu; -** it's not ioremapped. -** 3.add return -ENOMEM if ioremap() fails -** 4.transfer IS_SG64_ADDR w/ cpu_to_le32() -** in arcmsr_build_ccb -** 5. modify acb->devstate[i][j] as ARECA_RAID_GONE instead of -** ARECA_RAID_GOOD in arcmsr_alloc_ccb_pool() -** 6.fix arcmsr_cdb->Context as (unsigned long)arcmsr_cdb -** 7.add the checking state of -** (outbound_intstatus & ARCMSR_MU_OUTBOUND_HANDLE_INT) == 0 -** in arcmsr_handle_hba_isr -** 8.replace pci_alloc_consistent()/pci_free_consistent() with kmalloc()/kfree() in arcmsr_iop_message_xfer() -** 9. fix the release of dma memory for type B in arcmsr_free_ccb_pool() -** 10.fix the arcmsr_polling_hbb_ccbdone() -** 1.20.00.15 02/27/2008 Erich Chen & Nick Cheng -** 1.arcmsr_iop_message_xfer() is called from atomic context under the -** queuecommand scsi_host_template handler. James Bottomley pointed out -** that the current GFP_KERNEL|GFP_DMA flags are wrong: firstly we are in -** atomic context, secondly this memory is not used for DMA. -** Also removed some unneeded casts. Thanks to Daniel Drake -************************************************************************** From patchwork Wed Oct 2 20:33:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 832353 Received: from 009.lax.mailroute.net (009.lax.mailroute.net [199.89.1.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F20608F40 for ; Wed, 2 Oct 2024 20:36:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.1.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901375; cv=none; b=UnQ5n2Sp8TKKW98f0pNvuzZaQ8rYw5fKlnyuMkRBfGIFMX50iq6kk/W952QptHaqjBt//MNpql4IOTKWjAVpYh2AxkyBHUygPlJW0IcHUngn/2R4UCjUQ/np5hXbP3vbuPK2plRb1UEbhAx6m90AMk+u0KC5l/M/SG8/l/orynE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901375; c=relaxed/simple; bh=jJ5qodNzpkPIYeBsZBzV1pJZstt5ML9c3rFsh6kh+eA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oTjEf+PmahavgPC+o0laVT/V2Q4kLCJQ5ZjBw4+O5+22xJp5rwM1lc32VDI77NeDiWFjj3g8OIHL2S4A+ztVCrkmsPhwqZl/KZX0Igg5TYTF2+Td+B70KZQCIE2eBA7cJVFMrj3SIy0+oTkCGELIEmTiR9Mno2KFNw3bBUQWQQI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=G4H2XfOR; arc=none smtp.client-ip=199.89.1.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="G4H2XfOR" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmmX3sjJzlgMWB; Wed, 2 Oct 2024 20:36:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h= content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received; s=mr01; t=1727901363; x=1730493364; bh=D4Gkg oDMN59t7/YSpRslPGUJtyyXY7l/WKOULpGif9k=; b=G4H2XfORAs+EPTN4GfOZi 5R/tDrBthJdMuEEWf+ONENsF9zlWpHPpOv7D/twDZ9cbvV77wnR9s0zIbXrsyK+K xWHYgFumMuKyp3QaHrn+CLP3pSajM62I+n6aNLfogrGs2hd3jULfZ7aSCm8rKnJQ +7jTj6HxjHj6D/m8aDkHIemyrqjPsaacVNXFltO2WvkdOn4XUQhXBQIWJAd/3LeU xi50KdYVVzTSls8UrSqrZcp03oBklF07UWBtSyFRjOLZFraL3b9abRhflpBCVTWN hCq8xgYyKYfFUsSgUa4HJVNHh8lssXAVhNwo+3B8Tzr0Q1SvWaMt3iWYC+nNkYVT g== X-Virus-Scanned: by MailRoute Received: from 009.lax.mailroute.net ([127.0.0.1]) by localhost (009.lax [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP id VnrL0FKKsVLX; Wed, 2 Oct 2024 20:36:03 +0000 (UTC) Received: from bvanassche.mtv.corp.google.com (unknown [104.135.204.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bvanassche@acm.org) by 009.lax.mailroute.net (Postfix) with ESMTPSA id 4XJmmK4pwVzlgMWC; Wed, 2 Oct 2024 20:36:01 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Jonathan Corbet Subject: [PATCH v2 04/11] scsi: ncr53c8xx: Remove the changelog Date: Wed, 2 Oct 2024 13:33:56 -0700 Message-ID: <20241002203528.4104996-5-bvanassche@acm.org> X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog In-Reply-To: <20241002203528.4104996-1-bvanassche@acm.org> References: <20241002203528.4104996-1-bvanassche@acm.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Since we typically do not maintain changelogs as text files in the Linux kernel, and since the ncr53c8xx changelog has not been updated since 2002, remove it. Signed-off-by: Bart Van Assche --- Documentation/scsi/ChangeLog.ncr53c8xx | 495 ------------------------- 1 file changed, 495 deletions(-) delete mode 100644 Documentation/scsi/ChangeLog.ncr53c8xx diff --git a/Documentation/scsi/ChangeLog.ncr53c8xx b/Documentation/scsi/ChangeLog.ncr53c8xx deleted file mode 100644 index 50bf850da838..000000000000 --- a/Documentation/scsi/ChangeLog.ncr53c8xx +++ /dev/null @@ -1,495 +0,0 @@ -Sat May 12 12:00 2001 Gerard Roudier (groudier@club-internet.fr) - * version ncr53c8xx-3.4.3b - - Ensure LEDC bit in GPCNTL is cleared when reading the NVRAM. - Fix sent by Stig Telfer . - - Define scsi_set_pci_device() as nil for kernel < 2.4.4. - -Mon Feb 12 22:30 2001 Gerard Roudier (groudier@club-internet.fr) - * version ncr53c8xx-3.4.3 - - Call pci_enable_device() as AC wants this to be done. - - Get both the BAR cookies actual and PCI BAR values. - (see Changelog.sym53c8xx rev. 1.7.3 for details) - - Merge changes for linux-2.4 that declare the host template - in the driver object also when the driver is statically - linked with the kernel. - -Sun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr) - * version ncr53c8xx-3.4.2 - - See Changelog.sym53c8xx, driver version 1.7.2. - -Wed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr) - * version ncr53c8xx-3.4.1 - - Provide OpenFirmware path through the proc FS on PPC. - - Remove trailing argument #2 from a couple of #undefs. - -Sun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr) - * version ncr53c8xx-3.4.0 - - Remove the PROFILE C and SCRIPTS code. - This facility was not this useful and thus was not longer - desirable given the increasing complexity of the driver code. - - Merges from FreeBSD sym-1.6.2 driver: - * Clarify memory barriers needed by the driver for architectures - that implement a weak memory ordering. - - General cleanup: - Move definitions for barriers and IO/MMIO operations to the - sym53c8xx_defs.h header files. They are now shared by the - both drivers. - Use SCSI_NCR_IOMAPPED instead of NCR_IOMAPPED. - -Thu May 11 12:30 2000 Pam Delaney (pam.delaney@lsil.com) - * revision 3.3b - -Mon Apr 24 12:00 2000 Gerard Roudier (groudier@club-internet.fr) - * revision 3.2i - - Return value 1 (instead of 0) from the driver setup routine. - - Let the driver also attach controllers that have been set to - OFF in the NVRAM as it did prior to revision 3.2g. - -Sat Apr 1 12:00 2000 Gerard Roudier (groudier@club-internet.fr) - * revision 3.2h - - Fix a compilation problem on Alpha introduced in version 3.2g. - (`port' changed to `base_io'). - - Move from `sym' to this driver a tiny change for __sparc__ that - applies to cache line size (? Probably from David S Miller). - - Make sure no data transfer will happen for Scsi_Cmnd requests - that supply SCSI_DATA_NONE direction (this avoids some BUG() - statement in the PCI code when a data buffer is also supplied). - -Thu Mar 16 9:30 2000 Pam Delaney (pam.delaney@lsil.com) - * revision 3.3b-3 - - Added exclusion for the 53C1010 and 53C1010_66 chips - to the driver (change to sym53c8xx_comm.h). - -Mon March 6 23:15 2000 Gerard Roudier (groudier@club-internet.fr) - * revision 3.2g - - Add the file sym53c8xx_comm.h that collects code that should - be shared by sym53c8xx and ncr53c8xx drivers. For now, it is - a header file that is only included by the ncr53c8xx driver, - but things will be cleaned up later. This code addresses - notably: - * Chip detection and PCI related initialisations - * NVRAM detection and reading - * DMA mapping - * Boot setup command - * And some other ... - - Add support for the new dynamic dma mapping kernel interface. - Requires Linux-2.3.47 (tested with pre-2.3.47-6). - - Get data transfer direction from the scsi command structure - (Scsi_Cmnd) when this information is available. - -Mon March 6 23:15 2000 Gerard Roudier (groudier@club-internet.fr) - * revision 3.2g - - Add the file sym53c8xx_comm.h that collects code that should - be shared by sym53c8xx and ncr53c8xx drivers. For now, it is - a header file that is only included by the ncr53c8xx driver, - but things will be cleaned up later. This code addresses - notably: - * Chip detection and PCI related initialisations - * NVRAM detection and reading - * DMA mapping - * Boot setup command - * And some other ... - - Add support for the new dynamic dma mapping kernel interface. - Requires Linux-2.3.47 (tested with pre-2.3.47-6). - - Get data transfer direction from the scsi command structure - (Scsi_Cmnd) when this information is available. - -Fri Jan 14 14:00 2000 Pam Delaney (pam.delaney@lsil.com) - * revision pre-3.3b-1 - - Merge parallel driver series 3.31 and 3.2e - -Tue Jan 11 14:00 2000 Pam Delaney (pam.delaney@lsil.com) - * revision 3.31 - - Added support for mounting disks on wide-narrow-wide - scsi configurations. - - Built off of version 3.30 - -Mon Jan 10 13:30 2000 Pam Delaney (pam.delaney@lsil.com) - * revision 3.30 - - Added capability to use the integrity checking code - in the kernel (optional). - - Disabled support for the 53C1010. - - Built off of version 3.2c - -Sat Jan 8 22:00 2000 Gerard Roudier (groudier@club-internet.fr) - * revision 3.2e - - Add year 2000 copyright. - - Display correctly bus signals when bus is detected wrong. - - Remove the dead code that broke driver 3.2d. - -Mon Dec 6 22:00 1999 Gerard Roudier (groudier@club-internet.fr) - * revision 3.2d - - Change messages written by the driver at initialisation and - through the /proc FS (rather cosmetic changes that consist in - printing out the PCI bus number and device/function). - - Get rid of the old PCI bios interface, but preserve kernel 2.0 - compatibility from a simple wrapper. - - Remove the compilation condition about having to acquire the - io_request_lock since it seems to be a definite feature now.:) - - proc_dir structure no longer needed for kernel >= 2.3.27. - - Change the driver detection code by the sym53c8xx one, modulo - some minor changes. The driver can now attach any number of - controllers (>40) and does no longer hoger stack space at - initialisation. - - Definitely disable overlapped PCI arbitration for all dual - function chips, since I cannot make sure for what chip revisions - it is actually safe. - - Add support for the SYM53C1510D. - - Update the poor Tekram sync factor table. - - Remove the compilation condition about having to acquire the - io_request_lock since it seems to be a definite feature now.:) - - proc_dir structure no longer needed for kernel >= 2.3.27. - -Sat Sep 11 18:00 1999 Gerard Roudier (groudier@club-internet.fr) - * revision 3.2c - - Handle correctly (hopefully) jiffies wrap-around. - - Restore the entry used to detect 875 until revision 0xff. - (I removed it inadvertently, it seems :) ) - - Replace __initfunc() which is deprecated stuff by __init which - is not yet so. ;-) - - Add support of some 'resource handling' for linux-2.3.13. - Basically the BARs have been changed to something more complex - in the pci_dev structure. - - Remove some deprecated code. - -Sat May 10 11:00 1999 Gerard Roudier (groudier@club-internet.fr) - * revision pre-3.2b-1 - - Support for the 53C895A by Pamela Delaney - The 53C895A contains all of the features of the 896 but has only - one channel and has a 32 bit PCI bus. It does 64 bit PCI addressing - using dual cycle PCI data transfers. - - Miscellaneous minor fixes. - - Some additions to the README.ncr53c8xx file. - -Sun Apr 11 10:00 1999 Gerard Roudier (groudier@club-internet.fr) - * revision 3.2a - - Add 'hostid:#id' boot option. This option allows to change the - default SCSI id the driver uses for controllers. - - Remove nvram layouts and driver set-up structures from the C source, - and use the one defined in sym53c8xx_defs.h file. - (shared by both drivers). - - Set for now MAX LUNS to 16 (instead of 8). - -Thu Mar 11 23:00 1999 Gerard Roudier (groudier@club-internet.fr) - * revision 3.2 (8xx-896 driver bundle) - - Only define the host template in ncr53c8xx.h and include the - sym53c8xx_defs.h file. - - Declare static all symbols that do not need to be visible from - outside the driver code. - - Add 'excl' boot command option that allows to pass to the driver - io address of devices not to attach. - - Add info() function called from the host template to print - driver/host information. - - Minor documentation additions. - -Sat Mar 6 11:00 1999 Gerard Roudier (groudier@club-internet.fr) - * revision 3.1h - - Fix some oooold bug that hangs the bus if a device rejects a - negotiation. Btw, the corresponding stuff also needed some cleanup - and thus the change is a bit larger than it could have been. - - Still some typo that made compilation fail for 64 bit (trivial fix). - -Sun Feb 14:00 1999 Gerard Roudier (groudier@club-internet.fr) - * revision 3.1g - - Deal correctly with 64 bit PCI address registers on Linux 2.2. - Pointed out by Leonard Zubkoff. - - Allow to tune request_irq() flags from the boot command line using - ncr53c8xx=irqm:??, as follows: - a) If bit 0x10 is set in irqm, IRQF_SHARED flag is not used. - b) If bit 0x20 is set in irqm, IRQF_DISABLED flag is not used. - By default the driver uses both IRQF_SHARED and IRQF_DISABLED. - Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by - a 53C8XX adapter and a network board. - - Tiny misspelling fixed (ABORT instead of ABRT). Was fortunately - harmless. - - Negotiate SYNC data transfers with CCS devices. - -Sat Jan 16 17:30 1999 Gerard Roudier (groudier@club-internet.fr) - * revision 3.1f - - Some PCI fix-ups not needed any more for PPC (from Cort). - - Cache line size set to 16 DWORDS for Sparc (from DSM). - - Waiting list look-up didn't work for the first command of the list. - - Remove 2 useless lines of code. - -Sun Dec 13 18:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.1e - - Same work-around as for the 53c876 rev <= 0x15 for 53c896 rev 1: - Disable overlapped arbitration. This will not make difference - since the chip has on-chip RAM. - -Thu Nov 26 22:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.1d - - The SISL RAID change requires now remap_pci_mem() stuff to be - compiled for __i386__ when normal IOs are used. - - Minor spelling fixes in doc files. - -Sat Nov 21 18:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.1c - - Ignore chips that are driven by SISL RAID (DAC 960). - Change sent by Leonard Zubkoff and slightly reworked. - - Still a buglet in the tags initial settings that needed to be fixed. - It was not possible to disable TGQ at system startup for devices - that claim TGQ support. The driver used at least 2 for the queue - depth but didn't keep track of user settings for tags depth lower - than 2. - -Wed Nov 11 10:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.1b - - The driver was unhappy when configured with default_tags > MAX_TAGS - Hopefully doubly-fixed. - - Update the Configure.help driver section that speaks of TAGS. - -Wed Oct 21 21:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.1a - - Changes from Eddie Dost for Sparc and Alpha: - ioremap/iounmap support for Sparc. - pcivtophys changed to bus_dvma_to_phys. - - Add the 53c876 description to the chip table. This is only useful - for printing the right name of the controller. - - DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15). - - Add additional checking of INQUIRY data: - Check INQUIRY data received length is at least 7. Byte 7 of - inquiry data contains device features bits and the driver might - be confused by garbage. Also check peripheral qualifier. - - Cleanup of the SCSI tasks management: - Remove the special case for 32 tags. Now the driver only uses the - scheme that allows up to 64 tags per LUN. - Merge some code from the 896 driver. - Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could - use any tag number from 1 to 253 and some non conformant devices - might have problems with large tag numbers. - - 'no_sync' changed to 'no_disc' in the README file. This is an old - and trivial mistake that seems to demonstrate the README file is - not often read. :) - -Sun Oct 4 14:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.0i - - Cosmetic changes for sparc (but not for the driver) that needs - __irq_itoa() to be used for printed IRQ value to be understandable. - - Some problems with the driver that didn't occur using driver 2.5f - were due to a SCSI selection problem triggered by a clearly - documented feature that in fact seems not to work: (53C8XX chips - are claimed by the manuals to be able to execute SCSI scripts just - after arbitration while the SCSI core is performing SCSI selection). - This optimization is broken and has been removed. - - Some broken scsi devices are confused when a negotiation is started - on a LUN that does not correspond to a real device. According to - SCSI specs, this is a device firmware bug. This has been worked - around by only starting negotiation if the LUN has previously be - used for at least 1 successful SCSI command. - - The 'last message sent' printed out on M_REJECT message reception - was read from the SFBR i/o register after the previous message had - been sent. - This was not correct and affects all previous driver versions and - the original FreeBSD one as well. The SCSI scripts has been fixed - so that it now provides the right information to the C code. - -Sat Jul 18 13:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.0g - - Preliminary fixes for Big Endian (sent by Eddie C. Dost). - Big Endian architectures should work again with the driver. - Eddie's patch has been partially applied since current 2.1.109 - does not have all the Sparc changes of the vger tree. - - Use of BITS_PER_LONG instead of (~0UL == 0xffffffffUL) has fixed - the problem observed when the driver was compiled using EGCS or - PGCC. - -Mon Jul 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.0f - - Some spelling fixes. - - linux/config.h misplaced in ncr53c8xx.h - - MODULE_PARM stuff added for linux 2.1. - - check INQUIRY response data format is exactly 2. - - use BITS_PER_LONG if defined. - -Sun Jun 28 12:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.0e - - Some cleanup, spelling fixes, version checks, documentations - changes, etc ... - -Sat Jun 20 20:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.0c - - Add a boot setup option that allows to set up device queue depths - at boot-up. This option is very useful since Linux does not - allow to change scsi device queue depth once the system has been - booted up. - -Sun Jun 15 23:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.0a - - Support for up to 64 TAGS per LUN. - - Rewrite the TARGET vs LUN capabilities management. - CmdQueue is now handled as a LUN capability as it shall be. - This also fixes a bug triggered when disabling tagged command - queuing for a device that had this feature enabled. - - Remove the ncr_opennings() stuff that was useless under Linux - and hard to understand to me. - - Add "setverbose" procfs driver command. It allows to tune - verbose level after boot-up. Setting this level to zero, for - example avoid flooding the syslog file. - - Add KERN_XXX to some printk's. - -Tue Jun 10 23:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 3.0 - - Linux config changes for 2.0.34: - Remove NVRAM detection config option. This option is now enabled - by default but can be disabled by editing the driver header file. - Add a PROFILE config option. - - Update Configure.help - - Add calls to new function mdelay() for milli-seconds delay if - kernel version >= 2.1.105. - - Replace all printf(s) by printk(s). After all, the ncr53c8xx is - a driver for Linux. - - Perform auto-sense on COMMAND TERMINATED. Not sure it is useful. - - Some other minor changes. - -Tue Jun 4 23:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 2.6n - - Code cleanup and simplification: - Remove kernel 1.2.X and 1.3.X support. - Remove the _old_ target capabilities table. - Remove the error recovery code that hasn't been really useful. - Use a single alignment boundary (CACHE_LINE_SIZE) for data - structures. - - Several aggressive SCRIPTS optimizations and changes: - Reselect SCRIPTS code rewritten. - Support for selection/reselection without ATN. - And some others. - - Miscallaneous changes in the C code: - Count actual number of CCB queued to the controller (future use). - Lots of other minor changes. - -Wed May 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 2.6m - - Problem of missed SCSI bus reset with the 53C895 fixed by - Richard Waltham. The 53C895 needs about 650 us for the bus - mode to settle. Delays used while resetting the controller - and the bus have been adjusted. Thanks Richard! - - Some simplification for 64 bit arch done ccb address testing. - - Add a check of the MSG_OUT phase after Selection with ATN. - - The new tagged queue stuff seems ok, so some informationnal - message have been conditioned by verbose >= 3. - - Do not reset if a SBMC interrupt reports the same bus mode. - - Print out the whole driver set-up. Some options were missing and - the print statement was misplaced for modules. - - Ignore a SCSI parity interrupt if the chip is not connected to - the SCSI bus. - -Sat May 1 16:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 2.6l - - Add CCB done queue support for Alpha and perhaps some other - architectures. - - Add some barriers to enforce memory ordering for x86 and - Alpha architectures. - - Fix something that looks like an old bug in the nego SIR - interrupt code in case of negotiation failure. - -Sat Apr 25 21:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 2.6k - - Remove all accesses to the on-chip RAM from the C code: - Use SCRIPTS to load the on-chip RAM. - Use SCRIPTS to repair the start queue on selection timeout. - Use the copy of script in main memory to calculate the chip - context on phase mismatch. - - The above allows now to use the on-chip RAM without requiring - to get access to the on-chip RAM from the C code. This makes - on-chip RAM usable for linux-1.2.13 and for Linux-Alpha for - instance. - - Some simplifications and cleanups in the SCRIPTS and C code. - - Buglet fixed in parity error recovery SCRIPTS (never tested). - - Minor updates in README.ncr53c8xx. - -Wed Apr 15 21:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 2.6j - - Incorporate changes from linux-2.1.95 ncr53c8xx driver version. - - Add SMP support for linux-2.1.95 and above. - - Fix a bug when QUEUE FULL is returned and no commands are - disconnected. This happens with Atlas I / L912 and may happen - with Atlas II / LXY4. - - Nail another one on CHECK condition when requeuing the command - for auto-sense. - - Call scsi_done() for all completed commands after interrupt - handling. - - Increase the done queue to 24 entries. - -Sat Apr 4 20:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 2.6i - - CTEST0 is used by the 53C885 for Power Management and - priority setting between the 2 functions. - Use SDID instead as actual target number. Just have had to - overwrite it with SSID on reselection. - - Split DATA_IN and DATA_OUT scripts into 2 sub-scripts. - 64 segments are moved from on-chip RAM scripts. - If more segments, a script in main memory is used for the - additional segments. - - Since the SCRIPTS processor continues SCRIPTS execution after - having won arbitration, do some stuff prior to testing any SCSI - phase on reselection. This should have the vertue to process - scripts in parallel with the SCSI core performing selection. - - Increase the done queue to 12 entries. - -Sun Mar 29 12:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 2.6h - - Some fixes. - -Tue Mar 26 23:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 2.6g - - New done queue. 8 entries by default (6 always usable). - Can be increased if needed. - - Resources management using doubly linked queues. - - New auto-sense and QUEUE FULL handling that does not need to - stall the NCR queue any more. - - New CCB starvation avoiding algorithm. - - Prepare CCBs for SCSI commands that cannot be queued, instead of - inserting these commands into the waiting list. The waiting list - is now only used while resetting and when memory for CCBs is not - yet available? - -Sun Feb 8 22:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 2.6f - - Some fixes in order to really support the 53C895, at least with - FAST-20 devices. - - Heavy changes in the target/lun resources management to allow - the scripts to jump directly to the CCB on reselection instead - of walking on the lun CCBs list. Up to 32 tags per lun are now - supported without script processor and PCI traffic overhead. - -Sun Jan 11 22:00 1998 Gerard Roudier (groudier@club-internet.fr) - * revision 2.6d - - new (different ?) implementation of the start queue: - Use a simple CALL to a launch script in the CCB. - - implement a minimal done queue (1 entry :-) ). - this avoid scanning all CCBs on INT FLY (Only scan all CCBs, on - overflow). Hit ratio is better than 99.9 % on my system, so no - need to have a larger done queue. - - generalization of the restart of CCB on special condition as - Abort, QUEUE FULL, CHECK CONDITION. - This has been called 'silly scheduler'. - - make all the profiling code conditioned by a config option. - This spare some PCI traffic and C code when this feature is not - needed. - - handle more cleanly the situation where direction is unknown. - The pointers patching is now performed by the SCRIPTS processor. - - remove some useless scripts instructions. - - Ported from driver 2.5 series: - ------------------------------ - - Use FAST-5 instead of SLOW for slow scsi devices according to - new SPI-2 draft. - - Make some changes in order to accommodate with 875 rev <= 3 - device errata listing 397. Minor consequences are: - . Leave use of PCI Write and Invalidate under user control. - Now, by default the driver does not enable PCI MWI and option - 'specf:y' is required in order to enable this feature. - . Memory Read Line is not enabled for 875 and 875-like chips. - . Programmed burst length set to 64 DWORDS (instead of 128). - (Note: SYMBIOS uses 32 DWORDS for the SDMS BIOS) - - Add 'buschk' boot option. - This option enables checking of SCSI BUS data lines after SCSI - RESET (set by default). (Submitted by Richard Waltham). - - Update the README file. - - Dispatch CONDITION MET and RESERVATION CONFLICT scsi status - as OK driver status. - - Update the README file and the Symbios NVRAM format definition - with removable media flags values (available with SDMS 4.09). - - Several PCI configuration registers fix-ups for powerpc. - (Patch sent by Cort). From patchwork Wed Oct 2 20:33:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 832352 Received: from 009.lax.mailroute.net (009.lax.mailroute.net [199.89.1.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3A33E8F40 for ; Wed, 2 Oct 2024 20:36:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.1.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901389; cv=none; b=a8UzjL6RksDIX1m17WKKS3LQvHtWmCrCSGgEBfLd/91BpOZd6+soRFGsCSoe6V3fgijwqBk3z4MreMwCfwKxHpQIqJKRmNALr6pz7EKV8I6hA/kdKvE8qKDHi8x84c/1jQ0KWYzL0kJKQVInBkBm0b7vZP7iLu45adBq3v28+bw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901389; c=relaxed/simple; bh=TnvNzIPxRqnoVDWbDVc5U5oEo3D0z0kKOnrLjGfLEtQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zfi21C9fpTDMqTFqcNsti8oIenJsXn08YerTuVnPpH+UTGlc7wz++K/zNCe8HFNK/ORTRDNhJRlAWrsArvQJry5Mv8ip3gvHLpSAYTHgzjzrFRUPd93CJU1WnATk4QHI7+QRHUjHjMEj47u9eyPjquUqq1U4TpEc+z93wmH6U1o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=2GjycDLv; arc=none smtp.client-ip=199.89.1.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="2GjycDLv" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmmn5m4NzlgMVN; Wed, 2 Oct 2024 20:36:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h= content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received; s=mr01; t=1727901372; x=1730493373; bh=QKui+ dYOyAao4c94XqQRbrEa5zd795y5WnpFO/Yx1J8=; b=2GjycDLvgY8QTq5eurbsJ gJ8x5ZlbT7PEeSEsfwnNjVFTK0jlETGTHjQI2IOfWjFbXYsN59osUf5TD3Z+iHmq zR7Wwm6zRvCgigW1TuaT2SqkUuUk5IhDas367BWURupnpJje8KZ/AzaOA7K1VGu4 NThSRkxjRd0je1y+Zw141XywBsu66yMDmc0JwAVKhje2Y3mfvWrlRlFs1Sia15a0 hyqUZpR/LnhlfdyzH3idiKPXj0KRa6WKhtTFfgmLKxX0Cd3hm2+KXIsv4TiYrmqm SXTOhin4KpxS/els8Di4OrXGByxlE6GOJy3UXjU1jOdVEnAzhG+lRVHbZNRf2M2L A== X-Virus-Scanned: by MailRoute Received: from 009.lax.mailroute.net ([127.0.0.1]) by localhost (009.lax [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP id A3SJwxw0NRmP; Wed, 2 Oct 2024 20:36:12 +0000 (UTC) Received: from bvanassche.mtv.corp.google.com (unknown [104.135.204.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bvanassche@acm.org) by 009.lax.mailroute.net (Postfix) with ESMTPSA id 4XJmmX1NwzzlgMVy; Wed, 2 Oct 2024 20:36:12 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Jonathan Corbet Subject: [PATCH v2 05/11] scsi: sym53c8xx: Remove the changelog Date: Wed, 2 Oct 2024 13:33:57 -0700 Message-ID: <20241002203528.4104996-6-bvanassche@acm.org> X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog In-Reply-To: <20241002203528.4104996-1-bvanassche@acm.org> References: <20241002203528.4104996-1-bvanassche@acm.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Since we typically do not maintain changelogs as text files in the Linux kernel, and since the ncr53c8xx changelog has not been updated since 2002, remove it. Signed-off-by: Bart Van Assche --- Documentation/scsi/ChangeLog.sym53c8xx | 593 ----------------------- Documentation/scsi/ChangeLog.sym53c8xx_2 | 144 ------ 2 files changed, 737 deletions(-) delete mode 100644 Documentation/scsi/ChangeLog.sym53c8xx delete mode 100644 Documentation/scsi/ChangeLog.sym53c8xx_2 diff --git a/Documentation/scsi/ChangeLog.sym53c8xx b/Documentation/scsi/ChangeLog.sym53c8xx deleted file mode 100644 index 3435227a2bed..000000000000 --- a/Documentation/scsi/ChangeLog.sym53c8xx +++ /dev/null @@ -1,593 +0,0 @@ -Sat May 12 12:00 2001 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.7.3c - - Ensure LEDC bit in GPCNTL is cleared when reading the NVRAM. - Fix sent by Stig Telfer . - - Backport from SYM-2 the work-around that allows to support - hardwares that fail PCI parity checking. - - Check that we received at least 8 bytes of INQUIRY response - for byte 7, that contains device capabilities, to be valid. - - Define scsi_set_pci_device() as nil for kernel < 2.4.4. - - + A couple of minor changes. - -Sat Apr 7 19:30 2001 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.7.3b - - Fix an unaligned LOAD from scripts (was used as dummy read). - - In ncr_soft_reset(), only try to ABORT the current operation - for chips that support SRUN bit in ISTAT1 and if SCRIPTS are - currently running, as 896 and 1010 manuals suggest. - - In the CCB abort path, do not assume that the CCB is currently - queued to SCRIPTS. This is not always true, notably after a - QUEUE FULL status or when using untagged commands. - -Sun Mar 4 18:30 2001 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.7.3a - - Fix an issue in the ncr_int_udc() (unexpected disconnect) - handling. If the DSA didn't match a CCB, a bad write to - memory could happen. - -Mon Feb 12 22:30 2001 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.7.3 - - Support for hppa. - Tiny patch sent to me by Robert Hirst. - - Tiny patch for ia64 sent to me by Pamela Delaney. - -Tue Feb 6 13:30 2001 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.7.3-pre1 - - Call pci_enable_device() as AC wants this to be done. - - Get both the BAR cookies used by CPU and actual PCI BAR - values used from SCRIPTS. Recent PCI chips are able to - access themselves using internal cycles, but they compare - BAR values to destination address to make decision. - Earlier chips simply use PCI transactions to access IO - registers from SCRIPTS. - The bus_dvma_to_mem() interface that reverses the actual - PCI BAR value from the BAR cookie is now useless. - This point had been discussed at the list and the solution - got approved by PCI code maintainer (Martin Mares). - - Merge changes for linux-2.4 that declare the host template - in the driver object also when the driver is statically - linked with the kernel. - - Increase SCSI message size up to 12 bytes, given that 8 - bytes was not enough for the PPR message (fix). - - Add field 'maxoffs_st' (max offset for ST data transfers). - The C1010 supports offset 62 in DT mode but only 31 in - ST mode, to 2 different values for the max SCSI offset - are needed. Replace the obviously wrong masking of the - offset against 0x1f for ST mode by a lowering to - maxoffs_st of the SCSI offset in ST mode. - - Refine a work-around for the C1010-66. Revision 1 does - not requires extra cycles in DT DATA OUT phase. - - Add a missing endian-ization (abrt_tbl.addr). - - Minor clean-up in the np structure for fields accessed - from SCRIPTS that requires special alignments. - -Sun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.7.2 - - Remove the hack for PPC added in previous driver version. - - Add FE_DAC feature bit to distinguish between 64 bit PCI - addressing (FE_DAC) and 64 bit PCI interface (FE_64BIT). - - Get rid of the boot command line "ultra:" argument. - This parameter wasn't that clever since we can use "sync:" - for Ultra/Ultra2 settings, and for Ultra3 we may want to - pass PPR options (for now only DT clocking). - - Add FE_VARCLK feature bit that indicates that SCSI clock - frequency may vary depending on board design and thus, - the driver should try to evaluate the SCSI clock. - - Simplify the way the driver determine the SCSI clock: - ULTRA3 -> 160 MHz, ULTRA2 -> 80 MHz otherwise 40 MHz. - Measure the SCSI clock frequency if FE_VARCLK is set. - - Remove FE_CLK80 feature bit that got useless. - - Add support for the SYM53C875A (Pamela Delaney). - -Wed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.7.1 - - Provide OpenFirmware path through the proc FS on PPC. - - Download of on-chip SRAM using memcpy_toio() doesn't work - on PPC. Restore previous method (MEMORY MOVE from SCRIPTS). - - Remove trailing argument #2 from a couple of #undefs. - -Sun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.7.0 - - Remove the PROFILE C and SCRIPTS code. - This facility was not this useful and thus was not longer - desirable given the increasing complexity of the driver code. - - Merges from FreeBSD sym-1.6.2 driver: - * Clarify memory barriers needed by the driver for architectures - that implement a weak memory ordering. - * Simpler handling of illegal phases and data overrun from - SCRIPTS. These errors are now immediately reported to - the C code by an interrupt. - * Sync the residual handling code with sym-1.6.2 and now - report `resid' to user for linux version >= 2.3.99 - - General cleanup: - Move definitions for barriers and IO/MMIO operations to the - sym53c8xx_defs.h header files. They are now shared by the - both drivers. - Remove unused options that claimed to optimize for the 896. - If fact, they were not this clever. :) - Use SCSI_NCR_IOMAPPED instead of NCR_IOMAPPED. - Remove a couple of unused fields from data structures. - -Thu May 11 12:40 2000 Pam Delaney (pam.delaney@lsil.com) - * version sym53c8xx-1.6b - - Merged version. - -Mon Apr 24 12:00 2000 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5m - - Return value 1 (instead of 0) from the driver setup routine. - - Do not enable PCI DAC cycles. This just broke support for - SYM534C896 on sparc64. Problem fixed by David S. Miller. - -Fri Apr 14 9:00 2000 Pam Delaney (pam.delaney@lsil.com) - * version sym53c8xx-1.6b-9 - - Added 53C1010_66 support. - - Small fix to integrity checking code. - - Removed requirement for integrity checking if want to run - at ultra 3. - -Sat Apr 1 12:00 2000 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5l - - Tiny change for __sparc__ appeared in 2.3.99-pre4.1 that - applies to cache line size (? Probably from David S Miller). - - Make sure no data transfer will happen for Scsi_Cmnd requests - that supply SCSI_DATA_NONE direction (this avoids some BUG() - statement in the PCI code when a data buffer is also supplied). - -Sat Mar 11 12:00 2000 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.6b-5 - - Test against expected data transfer direction from SCRIPTS. - - Add support for the new dynamic dma mapping kernel interface. - Requires Linux-2.3.47 (tested with pre-2.3.47-6). - Many thanks to David S. Miller for his preliminary changes - that have been useful guidelines. - - Get data transfer direction from the scsi command structure - (Scsi_Cmnd) with kernels that provide this information. - -Mon Mar 6 23:30 2000 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5k - - Test against expected data transfer direction from SCRIPTS. - - Revert the change in 'ncr_flush_done_cmds()' but unmap the - scsi dma buffer prior to queueing the command to our done - list. - - Miscellaneous (minor) fixes in the code added in driver - version 1.5j. - -Mon Feb 14 4:00 2000 Pam Delaney (pam.delaney@lsil.com) - * version sym53c8xx-pre-1.6b-2. - - Updated the SCRIPTS error handling of the SWIDE - condition - to remove any reads of the sbdl - register. Changes needed because the 896 and 1010 - chips will check parity in some special circumstances. - This will cause a parity error interrupt if not in - data phase. Changes based on those made in the - FreeBSD driver version 1.3.2. - -Sun Feb 20 11:00 2000 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5j - - Add support for the new dynamic dma mapping kernel interface. - Requires Linux-2.3.47 (tested with pre-2.3.47-6). - Many thanks to David S. Miller for his preliminary changes - that have been useful guidelines, for having reviewed the - code and having tested this driver version on Ultra-Sparc. - - 2 tiny bugs fixed in the PCI wrapper that provides support - for early kernels without pci device structure. - - Get data transfer direction from the scsi command structure - (Scsi_Cmnd) with kernels that provide this information. - - Fix an old bug that only affected 896 rev. 1 when driver - profile support option was set in kernel configuration. - -Fri Jan 14 14:00 2000 Pam Delaney (pam.delaney@lsil.com) - * version sym53c8xx-pre-1.6b-1. - - Merge parallel driver series 1.61 and 1.5e - -Tue Jan 11 14:00 2000 Pam Delaney (pam.delaney@lsil.com) - * version sym53c8xx-1.61 - - Added support for mounting disks on wide-narrow-wide - scsi configurations. - - Modified offset to be a maximum of 31 in ST mode, - 62 in DT mode. - - Based off of 1.60 - -Mon Jan 10 10:00 2000 Pam Delaney (pam.delaney@lsil.com) - * version sym53c8xx-1.60 - - Added capability to use the integrity checking code - in the kernel (optional). - - Added PPR negotiation. - - Added support for 53C1010 Ultra 3 part. - - Based off of 1.5f - -Sat Jan 8 22:00 2000 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5h - - Add year 2000 copyright. - - Display correctly bus signals when bus is detected wrong. - - Some fix for Sparc from DSM that went directly to kernel tree. - -Mon Dec 6 22:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5g - - Change messages written by the driver at initialisation and - through the /proc FS (rather cosmetic changes that consist in - printing out the PCI bus number and PCI device/function). - - Ensure the SCRIPTS processor is stopped while calibrating the - SCSI clock (the initialisation code has been a bit reworked). - Change moved to the FreeBSD sym_hipd driver). - - Some fixes in the MODIFY_DP/IGN_RESIDUE code and residual - calculation (moved from FreeBSD sym_hipd driver). - - Add NVRAM support for Tekram boards that use 24C16 EEPROM. - Code moved from the FreeBSD sym_hipd driver, since it has - been that one that got this feature first. - - Definitely disable overlapped PCI arbitration for all dual - function chips, since I cannot make sure for what chip revisions - it is actually safe. - - Add support for the SYM53C1510D (also for ncr53c8xx). - - Fix up properly the PCI latency timer when needed or asked for. - - Get rid of the old PCI bios interface, but preserve kernel 2.0 - compatibility from a simple wrapper. - - Update the poor Tekram sync factor table. - - Fix in a tiny 'printk' bug that may oops in case of extended - errors (unrecovered parity error, data overrun, etc ...) - (Sent by Pamela Delaney from LSILOGIC) - - Remove the compilation condition about having to acquire the - io_request_lock since it seems to be a definite feature now.:) - - Change get_pages by GetPages since Linux >= 2.3.27 now wants - get_pages to ever be used as a kernel symbol (from 2.3.27). - - proc_dir structure no longer needed for kernel >= 2.3.27. - -Sun Oct 3 19:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5f - - Change the way the driver checks the PCI clock frequency, so - that overclocked PCI BUS up to 48 MHz will not be refused. - The more the BUS is overclocked, the less the driver will - guarantee that its measure of the SCSI clock is correct. - - Backport some minor improvements of SCRIPTS from the sym_hipd - driver. - - Backport the code rewrite of the START QUEUE dequeuing (on - bad scsi status received) from the sym_hipd driver. - -Sat Sep 11 11:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5e - - New linux-2.3.13 __setup scheme support added. - - Cleanup of the extended error status handling: - Use 1 bit per error type. - - Also save the extended error status prior to auto-sense. - - Add the FE_DIFF chip feature bit to indicate support of - diff probing from GPIO3 (825/825A/876/875). - - Remove the quirk handling that has been useless since day one. - - Work-around PCI chips being reported twice on some platforms. - - Add some redundant PCI reads in order to deal with common - bridge misbehaviour regarding posted write flushing. - - Add some other conditional code for people who have to deal - with really broken bridges (they will have to edit a source - file to try these options). - - Handle correctly (hopefully) jiffies wrap-around. - - Restore the entry used to detect 875 until revision 0xff. - (I removed it inadvertently, it seems :) ) - - Replace __initfunc() which is deprecated stuff by __init which - is not yet so. ;-) - - Rewrite the MESSAGE IN scripts more generic by using a MOVE - table indirect. Extended messages of any size are accepted now. - (Size is limited to 8 for now, but a constant is just to be - increased if necessary) - - Fix some bug in the fully untested MDP handling:) and share - some code between MDP handling and residual calculation. - - Calculate the data transfer residual as the 2's complement - integer (A positive value in returned on data overrun, and - a negative one on underrun). - - Add support of some 'resource handling' for linux-2.3.13. - Basically the BARs have been changed to something more complex - in the pci_dev structure. - - Remove some deprecated code. - -Sat Jun 5 11:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5c - - Do not negotiate on auto-sense if we are currently using 8 bit - async transfer for the target. - - Only check for SISL/RAID on i386 platforms. - (A problem has been reported on PPC with that code). - - On MSG REJECT for a negotiation, the driver attempted to restart - the SCRIPT processor when this one was already running. - -Sat May 29 12:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5b - - Force negotiation prior auto-sense. - This ensures that the driver will be able to grab the sense data - from a device that has received a BUS DEVICE RESET message from - another initiator. - - Complete all disconnected CCBs for a logical UNIT if we are told - about a UNIT ATTENTION for a RESET condition by this target. - - Add the control command 'cleardev' that allows to send a ABORT - message to a logical UNIT (for test purpose). - -Tue May 25 23:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5a - - Add support for task abort and bus device reset SCSI message - and implement proper synchronisation with SCRIPTS to handle - correctly task abortion without races. - - Send an ABORT message (if untagged) or ABORT TAG message (if tagged) - when the driver is told to abort a command that is disconnected and - complete the command with appropriate error. - If the aborted command is not yet started, remove it from the start - queue and complete it with error. - - Add the control command 'resetdev' that allows to send a BUS - DEVICE RESET message to a target (for test purpose). - - Clean-up some unused or useless code. - -Fri May 21 23:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.5 - - Add support for CHMOV with Wide controllers. - - Handling of the SWIDE (low byte residue at the end of a CHMOV - in DATA IN phase with WIDE transfer when the byte count gets odd). - - Handling of the IGNORE WIDE RESIDUE message. - Handled from SCRIPTS as possible with some optimizations when both - a wide device and the controller are odd at the same time (SWIDE - present and IGNORE WIDE RESIDUE message on the BUS at the same time). - - Check against data OVERRUN/UNDERRUN condition at the end of a data - transfer, whatever a SWIDE is present (OVERRUN in DATA IN phase) - or the SODL is full (UNDERRUN in DATA out phase). - - Handling of the MODIFY DATA POINTER message. - This one cannot be handled from SCRIPTS, but hopefully it will not - happen very often. :) - - Large rewrite of the SCSI MESSAGE handling. - -Sun May 9 11:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.4 - - Support for IMMEDIATE ARBITRATION. - See the README file for detailed information about this feature. - Requires both a compile option and a boot option. - - Minor SCRIPTS optimization in reselection pattern for LUN 0. - - Simpler algorithm to deal with SCSI command starvation. - Just use 2 tag counters in flip/flop and switch to the other - one every 3 seconds. - - Do some work in SCRIPTS after the SELECT instruction and prior - to testing for a PHASE. SYMBIOS say this feature is working fine. - (Btw, only problems with Toshiba 3401B had been reported). - - Measure the PCI clock speed and do not attach controllers if - result is greater than 37 MHz. Since the precision of the - algorithm (from Stefan Esser) is better than 2%, this should - be fine. - - Fix the misdetection of SYM53C875E (was detected as a 876). - - Fix the misdetection of SYM53C810 not A (was detected as a 810A). - - Support for up to 256 TAGS per LUN (CMD_PER_LUN). - Currently limited to 255 due to Linux limitation. :) - - Support for up to 508 active commands (CAN_QUEUE). - - Support for the 53C895A by Pamela Delaney - The 53C895A contains all of the features of the 896 but has only - one channel and has a 32 bit PCI bus. It does 64 bit PCI addressing - using dual cycle PCI data transfers. - - Miscellaneous minor fixes. - - Some additions to the README.ncr53c8xx file. - -Tue Apr 15 10:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.3e - - Support for any number of LUNs (64) (SPI2-compliant). - (Btw, this may only be ever useful under linux-2.2 ;-)) - -Sun Apr 11 10:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.3d - - Add 'hostid:#id' boot option. This option allows to change the - default SCSI id the driver uses for controllers. - - Make SCRIPTS not use self-mastering for PCI. - There were still 2 places the driver used this feature of the - 53C8XX family. - - Move some data structures (nvram layouts and driver set-up) to - the sym53c8xx_defs.h file. So, the both drivers will share them. - - Set MAX LUNS to 16 (instead of 8). - -Sat Mar 20 21:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.3b - - Add support for NCR PQS PDS. - James Bottomley - - Allow value 0 for host ID. - - Support more than 8 controllers (> 40 in fact :-) ) - - Add 'excl=#ioaddr' boot option: exclude controller. - (Version 1.3a driver) - -Thu Mar 11 23:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.3 (8xx-896 driver bundle) - - Equivalent changes as ncr53c8xx-3.2 due to the driver bundle. - (See Changelog.ncr53c8xx) - - Do a normal soft reset as first chip reset, since aborting current - operation may raise an interrupt we are not able to handle since - the interrupt handler is not yet established. - -Sat Mar 6 11:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.2b - - Fix some oooold bug that hangs the bus if a device rejects a - negotiation. Btw, the corresponding stuff also needed some cleanup - and thus the change is a bit larger than it could have been. - - Still some typo that made compilation fail for 64 bit (trivial fix). - -Sun Feb 21 20:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.2a - - The rewrite of the interrupt handling broke the SBMC interrupt - handling due to a 1 bit mask tiny error. Hopefully fixed. - - If INQUIRY came from a scatter list, the driver looked into - the scatterlist instead of the data.:) Since this should never - happen, we just discard the data if use_sg is not zero. - -Fri Feb 12 23:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.2 - - Major rewrite of the interrupt handling and recovery stuff for - the support of non compliant SCSI removal, insertion and all - kinds of screw-up that may happen on the SCSI BUS. - Hopefully, the driver is now unbreakable or may-be, it is just - quite broken. :-) - Many thanks to Johnson Russel (Symbios) for having responded to - my questions and for his interesting advices and comments about - support of SCSI hot-plug. - - Add 'recovery' option to driver set-up. - - Negotiate SYNC data transfers with CCS devices. - - Deal correctly with 64 bit PCI address registers on Linux 2.2. - Pointed out by Leonard Zubkoff. - -Sun Jan 31 18:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.1a - - Some 896 chip revisions (all for now :-)), may hang-up if the - soft reset bit is set at the wrong time while SCRIPTS are running. - We need to first abort the current SCRIPTS operation prior to - resetting the chip. This fix has been sent to me by SYMBIOS/LSI - and I just translated it into ncr53c8xx syntax. - Must be considered 100 % trustable, unless I did some mistake - when translating it. :-) - -Sun Jan 24 18:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.1 - - Major rewrite of the SCSI parity error handling. - The information contained in the data manuals is incomplete about - this feature. - I asked SYMBIOS about and got in reply the explanations that are - _indeed_ missing in the data manuals. - - Allow to tune request_irq() flags from the boot command line using - ncr53c8xx=irqm:??, as follows: - a) If bit 0x10 is set in irqm, SA_SHIRQ flag is not used. - b) If bit 0x20 is set in irqm, SA_INTERRUPT flag is not used. - By default the driver uses both SA_SHIRQ and SA_INTERRUPT. - Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by - a 53C8XX adapter and a network board. - - Fix for 64 bit PCI address register calculation. (Lance Robinson) - - Fix for big-endian in phase mismatch handling. (Michal Jaegermann) - -Fri Jan 1 20:00 1999 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.0a - - Waiting list look-up didn't work for the first command of the list. - Hopefully fixed, but tested on paper only. ;) - - Remove the most part of PPC specific code for Linux-2.2. - Thanks to Cort. - - Some other minors changes. - -Sat Dec 19 21:00 1998 Gerard Roudier (groudier@club-internet.fr) - * version sym53c8xx-1.0 - - Define some new IO registers for the 896 (istat1, mbox0, mbox1) - - Revamp slightly the Symbios NVRAM lay-out based on the excerpt of - the header file I received from Symbios. - - Check the PCI bus number for the boot order (Using a fast - PCI controller behind a PCI-PCI bridge seems sub-optimal). - - Disable overlapped PCI arbitration for the 896 revision 1. - - Reduce a bit the number of IO register reads for phase mismatch - by reading DWORDS at a time instead of BYTES. - -Thu Dec 3 24:00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.18 - - I received this afternoon a 896 from SYMBIOS and started testing - the driver with this beast. After having fixed 3 buglets, it worked - with all features enabled including the phase mismatch handling - from SCRIPTS. Since this feature is not yet tested enough, the - boot option 'ncr53c8xx=specf:1' is still required to enable the - driver to handle PM from SCRIPTS. - -Sun Nov 29 18:00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.17 - - The SISL RAID change requires now remap_pci_mem() stuff to be - compiled for __i386__ when normal IOs are used. - - The PCI memory read from SCRIPTS that should ensure ordering - was in fact misplaced. BTW, this may explain why broken PCI - device drivers regarding ordering are working so well. ;-) - - Rewrite ncr53c8xx_setup (boot command line options) since the - binary code was a bit too bloated in my opinion. - - Make the code simpler in the wakeup_done routine. - -Tue Nov 24 23:00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.16 - - Add SCSI_NCR_OPTIMIZE_896_1 compile option and 'optim' boot option. - When set, the driver unconditionally assumes that the interrupt - handler is called for command completion, then clears INTF, scans - the done queue and returns if some completed CCB is found. If no - completed CCB are found, interrupt handling will proceed normally. - With a 896 that handles MA from SCRIPTS, this can be a great win, - since the driver will never performs PCI read transactions, but - only PCI write transactions that may be posted. - If the driver haven't to also raise the SIGP this would be perfect. - Even with this penalty, I think that this will work great. - Obviously this optimization makes sense only if the IRQ is not - shared with another device. - - Still a buglet in the tags initial settings that needed to be fixed. - It was not possible to disable TGQ at system startup for devices - that claim TGQ support. The driver used at least 2 for the queue - depth but didn't keep track of user settings for tags depth lower - than 2. - -Thu Nov 19 23:00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.15 - - Add support for hardware LED control of the 896. - - Ignore chips that are driven by SISL RAID (DAC 960). - Change sent by Leonard Zubkoff and slightly reworked. - - Prevent 810A rev 11 and 860 rev 1 from using cache line based - transactions since those early chip revisions may use such on - LOAD/STORE instructions (work-around). - - Remove some useless and bloat code from the pci init stuff. - - Do not use the readX()/writeX() kernel functions for __i386__, - since they perform useless masking operations in order to deal - with broken driver in 2.1.X kernel. - -Wed Nov 11 10:00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.14 - - The driver was unhappy when configured with default_tags > MAX_TAGS - Hopefully doubly-fixed. - - Set PCI_PARITY in PCI_COMMAND register in not set (PCI fix-up). - - Print out some message if phase mismatch is handled from SCRIPTS. - -Sun Nov 1 14H00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.13 - - Some rewrite of the device detection code. This code had been - patched too much and needed to be face-lifted a bit. - Remove all platform dependent fix-ups that was not needed or - conflicted with some other driver code as work-arounds. - Reread the NVRAM before the calling of ncr_attach(). This spares - stack space and so allows to handle more boards. - Handle 64 bit base addresses under linux-2.0.X. - Set MASTER bit in PCI COMMAND register if not set. - -Wed Oct 30 22H00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.12 - - Damned! I just broke the driver for Alpha by leaving a stale - instruction in the source code. Hopefully fixed. - - Do not set PFEN when it is useless. Doing so we are sure that BOF - will be active, since the manual appears to be very unclear on what - feature is actually used by the chip when both PFEN and BOF are - set. - -Sat Oct 24 16H00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.11 - - LOAD/STORE instructions were miscompiled for register offsets - beyond 0x7f. This broke accesses to 896' new registers. - - Disable by default Phase Mismatch handling from SCRIPTS, since - current 896 rev.1 seems not to operate safely with the driver - when this feature is enabled (and above LOAD/STORE fix applied). - I will change the default to 'enabled' when this problem will be - solved. - Using boot option 'ncr53c8xx=specf:1' enables this feature. - - Implement a work-around (DEL 472 - ITEM 5) that should allow the - driver to safely enable hardware phase mismatch with 896 rev. 1. - -Tue Oct 20 22H00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.10 - - Add the 53c876 description to the chip table. This is only useful - for printing the right name of the controller. - - Add additional checking of INQUIRY data: - Check INQUIRY data received length is at least 7. Byte 7 of - inquiry data contains device features bits and the driver might - be confused by garbage. Also check peripheral qualifier. - - Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could - use any tag number from 1 to 253 and some non conformant devices - might have problems with large tag numbers. - - Use NAME53C and NAME53C8XX for chip name prefix chip family name. - Just give a try using "sym53c" and "sym53c8xx" instead of "ncr53c" - and "ncr53c8xx". :-) - -Sun Oct 11 17H00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.9 - - DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15). - - Break ncr_scatter() into 2 functions in order to guarantee best - possible code optimization for the case we get a scatter list. - - Add the code intended to support up to 1 tera-byte for 64 bit systems. - It is probably too early, but I wanted to complete the thing. - -Sat Oct 3 14H00 1998 Gerard Roudier (groudier@club-internet.fr) - * version pre-sym53c8xx-0.8 - - Do some testing with io_mapped and fix what needed to be so. - - Wait for SCSI selection to complete or time-out immediately after - the chip won arbitration, since executing SCRIPTS while the SCSI - core is performing SCSI selection breaks the selection procedure - at least for some chip revisions. - - Interrupt the SCRIPTS if a device does not go to MSG OUT phase after - having been selected with ATN. Such a situation is not recoverable, - better to fail when we are stuck. diff --git a/Documentation/scsi/ChangeLog.sym53c8xx_2 b/Documentation/scsi/ChangeLog.sym53c8xx_2 deleted file mode 100644 index 9180eb343991..000000000000 --- a/Documentation/scsi/ChangeLog.sym53c8xx_2 +++ /dev/null @@ -1,144 +0,0 @@ -Sat Dec 30 21:30 2000 Gerard Roudier - * version sym-2.1.0-20001230 - - Initial release of SYM-2. - -Mon Jan 08 21:30 2001 Gerard Roudier - * version sym-2.1.1-20010108 - - Change a couple of defines containing ncr or NCR by their - equivalent containing sym or SYM instead. - -Sun Jan 14 22:30 2001 Gerard Roudier - * version sym-2.1.2-20010114 - - Fix a couple of printfs: - * Add the target number to the display of transfer parameters. - * Make the display of TCQ and queue depth clearer. - -Wed Jan 17 23:30 2001 Gerard Roudier - * version sym-2.1.3-20010117 - - Wrong residual values were returned in some situations. - This broke cdrecord with linux-2.4.0, for example. - -Sat Jan 20 18:00 2001 Gerard Roudier - * version sym-2.1.4-20010120 - - Add year 2001 to Copyright. - - A tiny bug in the dma memory freeing path has been fixed. - (Driver unload failed with a bad address reference). - -Wed Jan 24 21:00 2001 Gerard Roudier - * version sym-2.1.5-20010124 - - Make the driver work under Linux-2.4.x when statically linked - with the kernel. - - Check against memory allocation failure for SCRIPTZ and add the - missing free of this memory on instance detach. - - Check against GPIO3 pulled low for HVD controllers (driver did - just the opposite). - Misdetection of BUS mode was triggered on module reload only, - since BIOS settings were trusted instead on first load. - -Wed Feb 7 21:00 2001 Gerard Roudier - * version sym-2.1.6-20010207 - - Call pci_enable_device() as wished by kernel maintainers. - - Change the sym_queue_scsiio() interface. - This is intended to simplify portability. - - Move the code intended to deal with the downloading of SCRIPTS - from SCRIPTS :) in the patch method (was wrongly placed in - the SCRIPTS setup method). - - Add a missing cpu_to_scr() (np->abort_tbl.addr) - - Remove a wrong cpu_to_scr() (np->targtbl_ba) - - Cleanup a bit the PPR failure recovery code. - -Sat Mar 3 21:00 2001 Gerard Roudier - - Add option SYM_OPT_ANNOUNCE_TRANSFER_RATE and move the - corresponding code to file sym_misc.c. - Also move the code that sniffes INQUIRY to sym_misc.c. - This allows to share the corresponding code with NetBSD - without polluating the core driver source (sym_hipd.c). - - Add optional code that handles IO timeouts from the driver. - (not used under Linux, but required for NetBSD) - - Do not assume any longer that PAGE_SHIFT and PAGE_SIZE are - defined at compile time, as at least NetBSD uses variables - in memory for that. - - Refine a work-around for the C1010-33 that consists in - disabling internal LOAD/STORE. Was applied up to revision 1. - Is now only applied to revision 0. - - Some code reorganisations due to code moves between files. - -Tues Apr 10 21:00 2001 Gerard Roudier - * version sym-2.1.9-20010412 - - Reset 53C896 and 53C1010 chip according to the manual. - (i.e.: set the ABRT bit in ISTAT if SCRIPTS are running) - - Set #LUN in request sense only if scsi version <= 2 and - #LUN <= 7. - - Set busy_itl in LCB to 1 if the LCB is allocated and a - SCSI command is active. This is a simplification. - - In sym_hcb_free(), do not scan the free_ccbq if no CCBs - has been allocated. This fixes a panic if attach failed. - - Add DT/ST (double/simple transition) in the transfer - negotiation announce. - - Forces the max number of tasks per LUN to at least 64. - - Use pci_set_dma_mask() for linux-2.4.3 and above. - - A couple of comments fixes. - -Wed May 22:00 2001 Gerard Roudier - * version sym-2.1.10-20010509 - - Mask GPCNTL against 0x1c (was 0xfc) for the reading of the NVRAM. - This ensure LEDC bit will not be set on 896 and later chips. - Fix sent by Chip Salzenberg . - - Define the number of PQS BUSes supported. - Fix sent by Stig Telfer - - Miscellaneous common code rearrangements due to NetBSD accel - ioctl support, without impact on Linux (hopefully). - -Mon July 2 12:00 2001 Gerard Roudier - * version sym-2.1.11-20010702 - - Add Tekram 390 U2B/U2W SCSI LED handling. - Submitted by Chip Salzenberg - - Add call to scsi_set_pci_device() for kernels >= 2.4.4. - - Check pci dma mapping failures and complete the IO with some - error when such mapping fails. - - Fill in instance->max_cmd_len for kernels > 2.4.0. - - A couple of tiny fixes ... - -Sun Sep 9 18:00 2001 Gerard Roudier - * version sym-2.1.12-20010909 - - Change my email address. - - Add infrastructure for the forthcoming 64 bit DMA addressing support. - (Based on PCI 64 bit patch from David S. Miller) - - Do not use anymore vm_offset_t type. - -Sat Sep 15 20:00 2001 Gerard Roudier - * version sym-2.1.13-20010916 - - Add support for 64 bit DMA addressing using segment registers. - 16 registers for up to 4 GB x 16 -> 64 GB. - -Sat Sep 22 12:00 2001 Gerard Roudier - * version sym-2.1.14-20010922 - - Complete rewrite of the eh handling. The driver is now using a - semaphore in order to behave synchronously as required by the eh - threads. A timer is also used to prevent from waiting indefinitely. - -Sun Sep 30 17:00 2001 Gerard Roudier - * version sym-2.1.15-20010930 - - Include unconditionally as expected by latest - kernels. - - Use del_timer_sync() for recent kernels to kill the driver timer - on module release. - -Sun Oct 28 15:00 2001 Gerard Roudier - * version sym-2.1.16-20011028 - - Slightly simplify driver configuration. - - Prepare a new patch against linux-2.4.13. - -Sat Nov 17 10:00 2001 Gerard Roudier - * version sym-2.1.17 - - Fix a couple of gcc/gcc3 warnings. - - Allocate separately from the HCB the array for CCBs hashed by DSA. - All driver memory allocations are now not greater than 1 PAGE - even on PPC64 / 4KB PAGE surprising setup. - -Sat Dec 01 18:00 2001 Gerard Roudier - * version sym-2.1.17a - - Use u_long instead of U32 for the IO base cookie. This is more - consistent with what archs are expecting. - - Use MMIO per default for Power PC instead of some fake normal IO, - as Paul Mackerras stated that MMIO works fine now on this arch. From patchwork Wed Oct 2 20:33:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 832351 Received: from 009.lax.mailroute.net (009.lax.mailroute.net [199.89.1.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 451B31D278D for ; Wed, 2 Oct 2024 20:37:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.1.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901449; cv=none; b=c1TWdaTGWpeUjdWP8gF7VLsTEDFNvizIjEWqA++5filuZHeel80MN/pRBQ9rQOcJfD3rGcSHSafjLjwGuadrxKtisXK2Qt6G0gV2z6IKNQn3CntSncIfarDSTQ/ZYZk1vCV/ZvuxldaNpAyMAWPWQyV4lKb+vywH/pMGEkUe6lc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901449; c=relaxed/simple; bh=CCL/v6kRU4w83CeAI1pZGW0tbAcxsAtne08MF3AfO3E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sHGzyNEw3M4Fk6ATx8g9ZQxNNbWmGL4UInIBYF1Y87WceDUoI5vQvxF3Qi4HGf3A37gAx1FuTz1lF+x1yH+vPUY3ImrM5F0OdNLuWO3dAJx1OSOcRUGLx+kwloliU5BVzJZuNv7GchJ4gVTdPKkzchnEVFEZf5nxdpBiAo4BqRo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=X5HJ5DBV; arc=none smtp.client-ip=199.89.1.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="X5HJ5DBV" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmp008CyzlgMWH; Wed, 2 Oct 2024 20:37:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h= content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received; s=mr01; t=1727901442; x=1730493443; bh=NxLgy kgem6v0qTdUsDCHC/2cdg3o/9EA4n3IQelwP/Y=; b=X5HJ5DBViqUhou0kTRvAu BmHKyyWW8MQCRnZV3+4Ot65u0H+q3ofMdicoouYFD1QFWtNo9dj78IMDT8i8QauD yv5P/vWPHtIot5nFI15VLMSMcs2tY25TxZvJkJHRJ45BPph9p0wuZFK4glNNo4ZH gznTblJD88qPtXVI5qWZ7w0BeNFH5GI46IEa6yGUPl9HATfJcQhG79gIYTqFcBIi VwqUdSIfJHiJUzjyb+2MpS/gvFi/pra4ls5ZQ1hL8trI/iaAlsXVJ2Bcs39n4JuI KW24B077T4A3wvOJrcmH/umBVEtL0lLKhy8MRO1JgGRHM978j+5ccS0wpNL2/JeC Q== X-Virus-Scanned: by MailRoute Received: from 009.lax.mailroute.net ([127.0.0.1]) by localhost (009.lax [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP id juxMYdvVCwYv; Wed, 2 Oct 2024 20:37:22 +0000 (UTC) Received: from bvanassche.mtv.corp.google.com (unknown [104.135.204.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bvanassche@acm.org) by 009.lax.mailroute.net (Postfix) with ESMTPSA id 4XJmn34GFnzlgMWB; Wed, 2 Oct 2024 20:36:39 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Damien Le Moal , Jonathan Corbet , Randy Dunlap Subject: [PATCH v2 07/11] scsi: core: Rename .slave_alloc() and .slave_destroy() in the documentation Date: Wed, 2 Oct 2024 13:33:59 -0700 Message-ID: <20241002203528.4104996-8-bvanassche@acm.org> X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog In-Reply-To: <20241002203528.4104996-1-bvanassche@acm.org> References: <20241002203528.4104996-1-bvanassche@acm.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Update the SCSI documentation such that it uses the new names for these methods. Cc: Damien Le Moal Signed-off-by: Bart Van Assche --- Documentation/scsi/scsi_mid_low_api.rst | 50 ++++++++++++------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/Documentation/scsi/scsi_mid_low_api.rst b/Documentation/scsi/scsi_mid_low_api.rst index 2df29b92e196..aba832d590eb 100644 --- a/Documentation/scsi/scsi_mid_low_api.rst +++ b/Documentation/scsi/scsi_mid_low_api.rst @@ -112,9 +112,9 @@ Those usages in group c) should be handled with care, especially in a that are shared with the mid level and other layers. All functions defined within an LLD and all data defined at file scope -should be static. For example the slave_alloc() function in an LLD +should be static. For example the sdev_prep() function in an LLD called "xxx" could be defined as -``static int xxx_slave_alloc(struct scsi_device * sdev) { /* code */ }`` +``static int xxx_sdev_prep(struct scsi_device * sdev) { /* code */ }`` .. [#] the scsi_host_alloc() function is a replacement for the rather vaguely named scsi_register() function in most situations. @@ -149,18 +149,18 @@ scsi devices of which only the first 2 respond:: scsi_add_host() ----> scsi_scan_host() -------+ | - slave_alloc() + sdev_prep() slave_configure() --> scsi_change_queue_depth() | - slave_alloc() + sdev_prep() slave_configure() | - slave_alloc() *** - slave_destroy() *** + sdev_prep() *** + sdev_destroy() *** *** For scsi devices that the mid level tries to scan but do not - respond, a slave_alloc(), slave_destroy() pair is called. + respond, a sdev_prep(), sdev_destroy() pair is called. If the LLD wants to adjust the default queue settings, it can invoke scsi_change_queue_depth() in its slave_configure() routine. @@ -176,8 +176,8 @@ same:: ===----------------------=========-----------------===------ scsi_remove_host() ---------+ | - slave_destroy() - slave_destroy() + sdev_destroy() + sdev_destroy() scsi_host_put() It may be useful for a LLD to keep track of struct Scsi_Host instances @@ -202,7 +202,7 @@ An LLD can use this sequence to make the mid level aware of a SCSI device:: ===-------------------=========--------------------===------ scsi_add_device() ------+ | - slave_alloc() + sdev_prep() slave_configure() [--> scsi_change_queue_depth()] In a similar fashion, an LLD may become aware that a SCSI device has been @@ -218,12 +218,12 @@ upper layers with this sequence:: ===----------------------=========-----------------===------ scsi_remove_device() -------+ | - slave_destroy() + sdev_destroy() It may be useful for an LLD to keep track of struct scsi_device instances -(a pointer is passed as the parameter to slave_alloc() and +(a pointer is passed as the parameter to sdev_prep() and slave_configure() callbacks). Such instances are "owned" by the mid-level. -struct scsi_device instances are freed after slave_destroy(). +struct scsi_device instances are freed after sdev_destroy(). Reference Counting @@ -331,7 +331,7 @@ Details:: * bus scan when an HBA is added (i.e. scsi_scan_host()). So it * should only be called if the HBA becomes aware of a new scsi * device (lu) after scsi_scan_host() has completed. If successful - * this call can lead to slave_alloc() and slave_configure() callbacks + * this call can lead to sdev_prep() and slave_configure() callbacks * into the LLD. * * Defined in: drivers/scsi/scsi_scan.c @@ -375,7 +375,7 @@ Details:: * * Notes: Can be invoked any time on a SCSI device controlled by this * LLD. [Specifically during and after slave_configure() and prior to - * slave_destroy().] Can safely be invoked from interrupt code. + * sdev_destroy().] Can safely be invoked from interrupt code. * * Defined in: drivers/scsi/scsi.c [see source code for more notes] * @@ -506,7 +506,7 @@ Details:: * Notes: If an LLD becomes aware that a scsi device (lu) has * been removed but its host is still present then it can request * the removal of that scsi device. If successful this call will - * lead to the slave_destroy() callback being invoked. sdev is an + * lead to the sdev_destroy() callback being invoked. sdev is an * invalid pointer after this call. * * Defined in: drivers/scsi/scsi_sysfs.c . @@ -657,9 +657,9 @@ Summary: - ioctl - driver can respond to ioctls - proc_info - supports /proc/scsi/{driver_name}/{host_no} - queuecommand - queue scsi command, invoke 'done' on completion - - slave_alloc - prior to any commands being sent to a new device + - sdev_prep - prior to any commands being sent to a new device - slave_configure - driver fine tuning for given device after attach - - slave_destroy - given device is about to be shut down + - sdev_destroy - given device is about to be shut down Details:: @@ -960,7 +960,7 @@ Details:: /** - * slave_alloc - prior to any commands being sent to a new device + * sdev_prep - prior to any commands being sent to a new device * (i.e. just prior to scan) this call is made * @sdp: pointer to new device (about to be scanned) * @@ -976,12 +976,12 @@ Details:: * exist but the mid level is just about to scan for it (i.e. send * and INQUIRY command plus ...). If a device is found then * slave_configure() will be called while if a device is not found - * slave_destroy() is called. + * sdev_destroy() is called. * For more details see the include/scsi/scsi_host.h file. * * Optionally defined in: LLD **/ - int slave_alloc(struct scsi_device *sdp) + int sdev_prep(struct scsi_device *sdp) /** @@ -992,7 +992,7 @@ Details:: * * Returns 0 if ok. Any other return is assumed to be an error and * the device is taken offline. [offline devices will _not_ have - * slave_destroy() called on them so clean up resources.] + * sdev_destroy() called on them so clean up resources.] * * Locks: none * @@ -1008,7 +1008,7 @@ Details:: /** - * slave_destroy - given device is about to be shut down. All + * sdev_destroy - given device is about to be shut down. All * activity has ceased on this device. * @sdp: device that is about to be shut down * @@ -1023,12 +1023,12 @@ Details:: * by this driver for given device should be freed now. No further * commands will be sent for this sdp instance. [However the device * could be re-attached in the future in which case a new instance - * of struct scsi_device would be supplied by future slave_alloc() + * of struct scsi_device would be supplied by future sdev_prep() * and slave_configure() calls.] * * Optionally defined in: LLD **/ - void slave_destroy(struct scsi_device *sdp) + void sdev_destroy(struct scsi_device *sdp) From patchwork Wed Oct 2 20:34:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 832349 Received: from 009.lax.mailroute.net (009.lax.mailroute.net [199.89.1.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70D831D0E3F for ; Wed, 2 Oct 2024 20:40:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.1.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901628; cv=none; b=loG7FAESYRBQ7BB51NFKH39BGTAni/Pr0EIMnGTK6YjU/neW67lSEVip5lDI51qkgEPH+kmts5aPEfqVvViwui2w0V8uW5EZnVSGjpM0zGcnYrZJqzTJ5J2I1FKAYKdUl7T/ShZ4Lm7L1mqD/xHviC2ERTD4tlZQggs4MmDivQM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901628; c=relaxed/simple; bh=v2kQWjnvS5BHTqefK1aALf/+DDOS8oohrsR0pD54IpA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=M4TZ8fxCDzLw6PQ86h6joDqcPAIm/g7orIKMh+j8tSjao3h9ltwYRv9gtnVGKINNYvbZwv+1WZzoPojLCQqGBri34ycapAsZyyXE79J0WBKHAaGAPjTWBWSRQWMFxYet02iIstYkgufiY0DTAiiwCMA1D12vB09K81o0LUgt8JY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=dZc8Tv0l; arc=none smtp.client-ip=199.89.1.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="dZc8Tv0l" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmsP01rZzlgMVN; Wed, 2 Oct 2024 20:40:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h= content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received; s=mr01; t=1727901447; x=1730493448; bh=eJqkR 0PiaV6MofSvkLGPsIyeDDdSmdnqhLuI6jk7FMs=; b=dZc8Tv0lJi3n8O1AyQZgQ jvzo+A1A27NzpASL75YNRgeJ1xypoO2M8fnRDLp4NZn1FDJ7MhbCmn+8ftQxCqbg Sa+Sysyeuw//1K1bDBQB76/q1BAG5iVaVQYPodonmomjSEaqwV/vrJzUZm6w5pVd p+sJQlPEZNRWcxq4FJhe7R9NImjm3p1cHoKpiRnQnGUGrVUaqy8XQhQYqdWp19Wk Goxd3umm69cd6jIY/eyhkYJS5UKuNgTsS5btDCcLKlJUF5tgJD6/+8EE87zOufL6 D+WuEiGUbhv56vmHGwo1JjCqGM+etzmcslhE2PQeKaCDpApD2uEoJcoKE5Ngnnwa g== X-Virus-Scanned: by MailRoute Received: from 009.lax.mailroute.net ([127.0.0.1]) by localhost (009.lax [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP id QmIGzZEnsmKX; Wed, 2 Oct 2024 20:37:27 +0000 (UTC) Received: from bvanassche.mtv.corp.google.com (unknown [104.135.204.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bvanassche@acm.org) by 009.lax.mailroute.net (Postfix) with ESMTPSA id 4XJmnY3jqzzlgMWL; Wed, 2 Oct 2024 20:37:05 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Geoff Levand , Khalid Aziz , Damien Le Moal , Jason Gunthorpe , Leon Romanovsky , Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , Steffen Maier , Benjamin Block , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Adam Radford , "James E.J. Bottomley" , Adaptec OEM Raid Solutions , Matthew Wilcox , Hannes Reinecke , Anil Gurumurthy , Sudarsana Kalluru , Saurav Kashyap , Javed Hasan , GR-QLogic-Storage-Upstream@marvell.com, Don Brace , Tyrel Datwyler , Michael Ellerman , James Smart , Dick Kennedy , Nilesh Javali , Karan Tilak Kumar , Sesidhar Baddela , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Juergen Gross , Stefano Stabellini , Greg Kroah-Hartman , ching Huang , Bjorn Helgaas , Soumya Negi Subject: [PATCH v2 09/11] scsi: Convert SCSI drivers to .sdev_configure() Date: Wed, 2 Oct 2024 13:34:01 -0700 Message-ID: <20241002203528.4104996-10-bvanassche@acm.org> X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog In-Reply-To: <20241002203528.4104996-1-bvanassche@acm.org> References: <20241002203528.4104996-1-bvanassche@acm.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The only difference between the .sdev_configure() and .slave_configure() methods is that the former accepts an additional 'limits' argument. Convert all SCSI drivers that define a .slave_configure() method to .sdev_configure(). This patch prepares for removing the .slave_configure() method. No functionality has been changed. Acked-by: Geoff Levand # for ps3rom Acked-by: Khalid Aziz # for the BusLogic driver Cc: Damien Le Moal Signed-off-by: Bart Van Assche --- drivers/infiniband/ulp/srp/ib_srp.c | 5 +++-- drivers/message/fusion/mptfc.c | 2 +- drivers/message/fusion/mptsas.c | 6 +++--- drivers/message/fusion/mptscsih.c | 4 ++-- drivers/message/fusion/mptscsih.h | 3 ++- drivers/message/fusion/mptspi.c | 7 ++++--- drivers/s390/scsi/zfcp_scsi.c | 5 +++-- drivers/scsi/3w-9xxx.c | 7 ++++--- drivers/scsi/3w-sas.c | 7 ++++--- drivers/scsi/3w-xxxx.c | 8 ++++---- drivers/scsi/53c700.c | 7 ++++--- drivers/scsi/BusLogic.c | 7 ++++--- drivers/scsi/BusLogic.h | 3 ++- drivers/scsi/aacraid/linit.c | 8 +++++--- drivers/scsi/advansys.c | 23 ++++++++++++----------- drivers/scsi/aic7xxx/aic79xx_osm.c | 4 ++-- drivers/scsi/aic7xxx/aic7xxx_osm.c | 4 ++-- drivers/scsi/arcmsr/arcmsr_hba.c | 8 +++++--- drivers/scsi/bfa/bfad_im.c | 6 +++--- drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 5 +++-- drivers/scsi/csiostor/csio_scsi.c | 6 +++--- drivers/scsi/esp_scsi.c | 6 +++--- drivers/scsi/hpsa.c | 8 +++++--- drivers/scsi/ibmvscsi/ibmvfc.c | 7 ++++--- drivers/scsi/ibmvscsi/ibmvscsi.c | 8 +++++--- drivers/scsi/ips.c | 6 +++--- drivers/scsi/ips.h | 3 ++- drivers/scsi/lpfc/lpfc_scsi.c | 21 ++++++++++++++------- drivers/scsi/mvumi.c | 5 +++-- drivers/scsi/myrb.c | 5 +++-- drivers/scsi/myrs.c | 5 +++-- drivers/scsi/ncr53c8xx.c | 7 ++++--- drivers/scsi/ps3rom.c | 5 +++-- drivers/scsi/qedf/qedf_main.c | 5 +++-- drivers/scsi/qla1280.c | 6 +++--- drivers/scsi/qla2xxx/qla_os.c | 4 ++-- drivers/scsi/qlogicpti.c | 5 +++-- drivers/scsi/scsi_debug.c | 7 ++++--- drivers/scsi/scsi_scan.c | 2 +- drivers/scsi/smartpqi/smartpqi_init.c | 5 +++-- drivers/scsi/snic/snic_main.c | 6 +++--- drivers/scsi/stex.c | 4 ++-- drivers/scsi/storvsc_drv.c | 5 +++-- drivers/scsi/sym53c8xx_2/sym_glue.c | 5 +++-- drivers/scsi/xen-scsifront.c | 7 ++++--- drivers/staging/rts5208/rtsx.c | 4 ++-- 46 files changed, 163 insertions(+), 123 deletions(-) diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 2916e77f589b..d17289803b99 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c @@ -2844,7 +2844,8 @@ static int srp_target_alloc(struct scsi_target *starget) return 0; } -static int srp_slave_configure(struct scsi_device *sdev) +static int srp_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct Scsi_Host *shost = sdev->host; struct srp_target_port *target = host_to_target(shost); @@ -3067,7 +3068,7 @@ static const struct scsi_host_template srp_template = { .name = "InfiniBand SRP initiator", .proc_name = DRV_NAME, .target_alloc = srp_target_alloc, - .slave_configure = srp_slave_configure, + .sdev_configure = srp_sdev_configure, .info = srp_target_info, .init_cmd_priv = srp_init_cmd_priv, .exit_cmd_priv = srp_exit_cmd_priv, diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c index c86ca66ad326..415fc1c9a11b 100644 --- a/drivers/message/fusion/mptfc.c +++ b/drivers/message/fusion/mptfc.c @@ -114,7 +114,7 @@ static const struct scsi_host_template mptfc_driver_template = { .queuecommand = mptfc_qcmd, .target_alloc = mptfc_target_alloc, .sdev_prep = mptfc_sdev_prep, - .slave_configure = mptscsih_slave_configure, + .sdev_configure = mptscsih_sdev_configure, .target_destroy = mptfc_target_destroy, .sdev_destroy = mptscsih_sdev_destroy, .change_queue_depth = mptscsih_change_queue_depth, diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 932f67aace1e..9807b61beea6 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c @@ -1710,7 +1710,7 @@ mptsas_firmware_event_work(struct work_struct *work) static int -mptsas_slave_configure(struct scsi_device *sdev) +mptsas_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { struct Scsi_Host *host = sdev->host; MPT_SCSI_HOST *hd = shost_priv(host); @@ -1736,7 +1736,7 @@ mptsas_slave_configure(struct scsi_device *sdev) mptsas_add_device_component_starget(ioc, scsi_target(sdev)); out: - return mptscsih_slave_configure(sdev); + return mptscsih_sdev_configure(sdev, lim); } static int @@ -2006,7 +2006,7 @@ static const struct scsi_host_template mptsas_driver_template = { .queuecommand = mptsas_qcmd, .target_alloc = mptsas_target_alloc, .sdev_prep = mptsas_sdev_prep, - .slave_configure = mptsas_slave_configure, + .sdev_configure = mptsas_sdev_configure, .target_destroy = mptsas_target_destroy, .sdev_destroy = mptscsih_sdev_destroy, .change_queue_depth = mptscsih_change_queue_depth, diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index 50ea4ee65d5c..a9604ba3c805 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c @@ -2399,7 +2399,7 @@ mptscsih_change_queue_depth(struct scsi_device *sdev, int qdepth) * Return non-zero if fails. */ int -mptscsih_slave_configure(struct scsi_device *sdev) +mptscsih_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { struct Scsi_Host *sh = sdev->host; VirtTarget *vtarget; @@ -3303,7 +3303,7 @@ EXPORT_SYMBOL(mptscsih_show_info); EXPORT_SYMBOL(mptscsih_info); EXPORT_SYMBOL(mptscsih_qcmd); EXPORT_SYMBOL(mptscsih_sdev_destroy); -EXPORT_SYMBOL(mptscsih_slave_configure); +EXPORT_SYMBOL(mptscsih_sdev_configure); EXPORT_SYMBOL(mptscsih_abort); EXPORT_SYMBOL(mptscsih_dev_reset); EXPORT_SYMBOL(mptscsih_target_reset); diff --git a/drivers/message/fusion/mptscsih.h b/drivers/message/fusion/mptscsih.h index 9f1cde8e76a8..ece451c575e1 100644 --- a/drivers/message/fusion/mptscsih.h +++ b/drivers/message/fusion/mptscsih.h @@ -117,7 +117,8 @@ extern int mptscsih_qcmd(struct scsi_cmnd *SCpnt); extern int mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 id, u64 lun, int ctx2abort, ulong timeout); extern void mptscsih_sdev_destroy(struct scsi_device *device); -extern int mptscsih_slave_configure(struct scsi_device *device); +extern int mptscsih_sdev_configure(struct scsi_device *device, + struct queue_limits *lim); extern int mptscsih_abort(struct scsi_cmnd * SCpnt); extern int mptscsih_dev_reset(struct scsi_cmnd * SCpnt); extern int mptscsih_target_reset(struct scsi_cmnd * SCpnt); diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c index 2fe8cecff458..53a47a2437d0 100644 --- a/drivers/message/fusion/mptspi.c +++ b/drivers/message/fusion/mptspi.c @@ -746,7 +746,8 @@ static int mptspi_sdev_prep(struct scsi_device *sdev) return 0; } -static int mptspi_slave_configure(struct scsi_device *sdev) +static int mptspi_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct _MPT_SCSI_HOST *hd = shost_priv(sdev->host); VirtTarget *vtarget = scsi_target(sdev)->hostdata; @@ -754,7 +755,7 @@ static int mptspi_slave_configure(struct scsi_device *sdev) mptspi_initTarget(hd, vtarget, sdev); - ret = mptscsih_slave_configure(sdev); + ret = mptscsih_sdev_configure(sdev, lim); if (ret) return ret; @@ -829,7 +830,7 @@ static const struct scsi_host_template mptspi_driver_template = { .queuecommand = mptspi_qcmd, .target_alloc = mptspi_target_alloc, .sdev_prep = mptspi_sdev_prep, - .slave_configure = mptspi_slave_configure, + .sdev_configure = mptspi_sdev_configure, .target_destroy = mptspi_target_destroy, .sdev_destroy = mptspi_sdev_destroy, .change_queue_depth = mptscsih_change_queue_depth, diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c index 2e217b007b9c..a8e272cc34d9 100644 --- a/drivers/s390/scsi/zfcp_scsi.c +++ b/drivers/s390/scsi/zfcp_scsi.c @@ -49,7 +49,8 @@ static void zfcp_scsi_sdev_destroy(struct scsi_device *sdev) put_device(&zfcp_sdev->port->dev); } -static int zfcp_scsi_slave_configure(struct scsi_device *sdp) +static int zfcp_scsi_sdev_configure(struct scsi_device *sdp, + struct queue_limits *lim) { if (sdp->tagged_supported) scsi_change_queue_depth(sdp, default_depth); @@ -428,7 +429,7 @@ static const struct scsi_host_template zfcp_scsi_host_template = { .eh_target_reset_handler = zfcp_scsi_eh_target_reset_handler, .eh_host_reset_handler = zfcp_scsi_eh_host_reset_handler, .sdev_prep = zfcp_scsi_sdev_prep, - .slave_configure = zfcp_scsi_slave_configure, + .sdev_configure = zfcp_scsi_sdev_configure, .sdev_destroy = zfcp_scsi_sdev_destroy, .change_queue_depth = scsi_change_queue_depth, .host_reset = zfcp_scsi_sysfs_host_reset, diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c index 6fb61c88ea11..97bcdf84386d 100644 --- a/drivers/scsi/3w-9xxx.c +++ b/drivers/scsi/3w-9xxx.c @@ -1968,13 +1968,14 @@ static char *twa_string_lookup(twa_message_type *table, unsigned int code) } /* End twa_string_lookup() */ /* This function gets called when a disk is coming on-line */ -static int twa_slave_configure(struct scsi_device *sdev) +static int twa_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { /* Force 60 second timeout */ blk_queue_rq_timeout(sdev->request_queue, 60 * HZ); return 0; -} /* End twa_slave_configure() */ +} /* End twa_sdev_configure() */ static const struct scsi_host_template driver_template = { .module = THIS_MODULE, @@ -1984,7 +1985,7 @@ static const struct scsi_host_template driver_template = { .bios_param = twa_scsi_biosparam, .change_queue_depth = scsi_change_queue_depth, .can_queue = TW_Q_LENGTH-2, - .slave_configure = twa_slave_configure, + .sdev_configure = twa_sdev_configure, .this_id = -1, .sg_tablesize = TW_APACHE_MAX_SGL_LENGTH, .max_sectors = TW_MAX_SECTORS, diff --git a/drivers/scsi/3w-sas.c b/drivers/scsi/3w-sas.c index caa6713a62a4..8ed7126d82bb 100644 --- a/drivers/scsi/3w-sas.c +++ b/drivers/scsi/3w-sas.c @@ -1523,13 +1523,14 @@ static void twl_shutdown(struct pci_dev *pdev) } /* End twl_shutdown() */ /* This function configures unit settings when a unit is coming on-line */ -static int twl_slave_configure(struct scsi_device *sdev) +static int twl_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { /* Force 60 second timeout */ blk_queue_rq_timeout(sdev->request_queue, 60 * HZ); return 0; -} /* End twl_slave_configure() */ +} /* End twl_sdev_configure() */ static const struct scsi_host_template driver_template = { .module = THIS_MODULE, @@ -1539,7 +1540,7 @@ static const struct scsi_host_template driver_template = { .bios_param = twl_scsi_biosparam, .change_queue_depth = scsi_change_queue_depth, .can_queue = TW_Q_LENGTH-2, - .slave_configure = twl_slave_configure, + .sdev_configure = twl_sdev_configure, .this_id = -1, .sg_tablesize = TW_LIBERATOR_MAX_SGL_LENGTH, .max_sectors = TW_MAX_SECTORS, diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c index 2c0fb6da0e60..82fb9dc8dac9 100644 --- a/drivers/scsi/3w-xxxx.c +++ b/drivers/scsi/3w-xxxx.c @@ -172,7 +172,7 @@ Initialize queues correctly when loading with no valid units. 1.02.00.034 - Fix tw_decode_bits() to handle multiple errors. Add support for user configurable cmd_per_lun. - Add support for sht->slave_configure(). + Add support for sht->sdev_configure(). 1.02.00.035 - Improve tw_allocate_memory() memory allocation. Fix tw_chrdev_ioctl() to sleep correctly. 1.02.00.036 - Increase character ioctl timeout to 60 seconds. @@ -2221,13 +2221,13 @@ static void tw_shutdown(struct pci_dev *pdev) } /* End tw_shutdown() */ /* This function gets called when a disk is coming online */ -static int tw_slave_configure(struct scsi_device *sdev) +static int tw_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { /* Force 60 second timeout */ blk_queue_rq_timeout(sdev->request_queue, 60 * HZ); return 0; -} /* End tw_slave_configure() */ +} /* End tw_sdev_configure() */ static const struct scsi_host_template driver_template = { .module = THIS_MODULE, @@ -2237,7 +2237,7 @@ static const struct scsi_host_template driver_template = { .bios_param = tw_scsi_biosparam, .change_queue_depth = scsi_change_queue_depth, .can_queue = TW_Q_LENGTH-2, - .slave_configure = tw_slave_configure, + .sdev_configure = tw_sdev_configure, .this_id = -1, .sg_tablesize = TW_MAX_SGL_LENGTH, .max_sectors = TW_MAX_SECTORS, diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c index 9568401b80e9..9169d10165f6 100644 --- a/drivers/scsi/53c700.c +++ b/drivers/scsi/53c700.c @@ -159,7 +159,8 @@ STATIC int NCR_700_host_reset(struct scsi_cmnd * SCpnt); STATIC void NCR_700_chip_setup(struct Scsi_Host *host); STATIC void NCR_700_chip_reset(struct Scsi_Host *host); STATIC int NCR_700_sdev_prep(struct scsi_device *SDpnt); -STATIC int NCR_700_slave_configure(struct scsi_device *SDpnt); +STATIC int NCR_700_sdev_configure(struct scsi_device *SDpnt, + struct queue_limits *lim); STATIC void NCR_700_sdev_destroy(struct scsi_device *SDpnt); static int NCR_700_change_queue_depth(struct scsi_device *SDpnt, int depth); @@ -330,7 +331,7 @@ NCR_700_detect(struct scsi_host_template *tpnt, tpnt->can_queue = NCR_700_COMMAND_SLOTS_PER_HOST; tpnt->sg_tablesize = NCR_700_SG_SEGMENTS; tpnt->cmd_per_lun = NCR_700_CMD_PER_LUN; - tpnt->slave_configure = NCR_700_slave_configure; + tpnt->sdev_configure = NCR_700_sdev_configure; tpnt->sdev_destroy = NCR_700_sdev_destroy; tpnt->sdev_prep = NCR_700_sdev_prep; tpnt->change_queue_depth = NCR_700_change_queue_depth; @@ -2029,7 +2030,7 @@ NCR_700_sdev_prep(struct scsi_device *SDp) } STATIC int -NCR_700_slave_configure(struct scsi_device *SDp) +NCR_700_sdev_configure(struct scsi_device *SDp, struct queue_limits *lim) { struct NCR_700_Host_Parameters *hostdata = (struct NCR_700_Host_Parameters *)SDp->host->hostdata[0]; diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c index 2135a2b3e2d0..d04b5feec2eb 100644 --- a/drivers/scsi/BusLogic.c +++ b/drivers/scsi/BusLogic.c @@ -2153,14 +2153,15 @@ static void __init blogic_inithoststruct(struct blogic_adapter *adapter, } /* - blogic_slaveconfig will actually set the queue depth on individual + blogic_sdev_configure will actually set the queue depth on individual scsi devices as they are permanently added to the device chain. We shamelessly rip off the SelectQueueDepths code to make this work mostly like it used to. Since we don't get called once at the end of the scan but instead get called for each device, we have to do things a bit differently. */ -static int blogic_slaveconfig(struct scsi_device *dev) +static int blogic_sdev_configure(struct scsi_device *dev, + struct queue_limits *lim) { struct blogic_adapter *adapter = (struct blogic_adapter *) dev->host->hostdata; @@ -3672,7 +3673,7 @@ static const struct scsi_host_template blogic_template = { .name = "BusLogic", .info = blogic_drvr_info, .queuecommand = blogic_qcmd, - .slave_configure = blogic_slaveconfig, + .sdev_configure = blogic_sdev_configure, .bios_param = blogic_diskparam, .eh_host_reset_handler = blogic_hostreset, #if 0 diff --git a/drivers/scsi/BusLogic.h b/drivers/scsi/BusLogic.h index 7d1ec10f2430..61bf26d4fc10 100644 --- a/drivers/scsi/BusLogic.h +++ b/drivers/scsi/BusLogic.h @@ -1274,7 +1274,8 @@ static inline void blogic_incszbucket(unsigned int *cmdsz_buckets, static const char *blogic_drvr_info(struct Scsi_Host *); static int blogic_qcmd(struct Scsi_Host *h, struct scsi_cmnd *); static int blogic_diskparam(struct scsi_device *, struct block_device *, sector_t, int *); -static int blogic_slaveconfig(struct scsi_device *); +static int blogic_sdev_configure(struct scsi_device *, + struct queue_limits *lim); static void blogic_qcompleted_ccb(struct blogic_ccb *); static irqreturn_t blogic_inthandler(int, void *); static int blogic_resetadapter(struct blogic_adapter *, bool hard_reset); diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index 68f4dbcfff49..91170a67cc91 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c @@ -377,15 +377,17 @@ static int aac_biosparm(struct scsi_device *sdev, struct block_device *bdev, } /** - * aac_slave_configure - compute queue depths + * aac_sdev_configure - compute queue depths * @sdev: SCSI device we are considering + * @lim: Request queue limits * * Selects queue depths for each target device based on the host adapter's * total capacity and the queue depth supported by the target device. * A queue depth of one automatically disables tagged queueing. */ -static int aac_slave_configure(struct scsi_device *sdev) +static int aac_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct aac_dev *aac = (struct aac_dev *)sdev->host->hostdata; int chn, tid; @@ -1487,7 +1489,7 @@ static const struct scsi_host_template aac_driver_template = { .queuecommand = aac_queuecommand, .bios_param = aac_biosparm, .shost_groups = aac_host_groups, - .slave_configure = aac_slave_configure, + .sdev_configure = aac_sdev_configure, .change_queue_depth = aac_change_queue_depth, .sdev_groups = aac_dev_groups, .eh_abort_handler = aac_eh_abort, diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c index fd4fcb37863d..8fededa1a751 100644 --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c @@ -4496,7 +4496,7 @@ static int AdvInitAsc3550Driver(ADV_DVC_VAR *asc_dvc) /* * Microcode operating variables for WDTR, SDTR, and command tag - * queuing will be set in slave_configure() based on what a + * queuing will be set in sdev_configure() based on what a * device reports it is capable of in Inquiry byte 7. * * If SCSI Bus Resets have been disabled, then directly set @@ -5013,7 +5013,7 @@ static int AdvInitAsc38C0800Driver(ADV_DVC_VAR *asc_dvc) /* * Microcode operating variables for WDTR, SDTR, and command tag - * queuing will be set in slave_configure() based on what a + * queuing will be set in sdev_configure() based on what a * device reports it is capable of in Inquiry byte 7. * * If SCSI Bus Resets have been disabled, then directly set @@ -5508,7 +5508,7 @@ static int AdvInitAsc38C1600Driver(ADV_DVC_VAR *asc_dvc) /* * Microcode operating variables for WDTR, SDTR, and command tag - * queuing will be set in slave_configure() based on what a + * queuing will be set in sdev_configure() based on what a * device reports it is capable of in Inquiry byte 7. * * If SCSI Bus Resets have been disabled, then directly set @@ -7219,7 +7219,7 @@ static void AscAsyncFix(ASC_DVC_VAR *asc_dvc, struct scsi_device *sdev) } static void -advansys_narrow_slave_configure(struct scsi_device *sdev, ASC_DVC_VAR *asc_dvc) +advansys_narrow_sdev_configure(struct scsi_device *sdev, ASC_DVC_VAR *asc_dvc) { ASC_SCSI_BIT_ID_TYPE tid_bit = 1 << sdev->id; ASC_SCSI_BIT_ID_TYPE orig_use_tagged_qng = asc_dvc->use_tagged_qng; @@ -7345,7 +7345,7 @@ static void advansys_wide_enable_ppr(ADV_DVC_VAR *adv_dvc, } static void -advansys_wide_slave_configure(struct scsi_device *sdev, ADV_DVC_VAR *adv_dvc) +advansys_wide_sdev_configure(struct scsi_device *sdev, ADV_DVC_VAR *adv_dvc) { AdvPortAddr iop_base = adv_dvc->iop_base; unsigned short tidmask = 1 << sdev->id; @@ -7391,16 +7391,17 @@ advansys_wide_slave_configure(struct scsi_device *sdev, ADV_DVC_VAR *adv_dvc) * Set the number of commands to queue per device for the * specified host adapter. */ -static int advansys_slave_configure(struct scsi_device *sdev) +static int advansys_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct asc_board *boardp = shost_priv(sdev->host); if (ASC_NARROW_BOARD(boardp)) - advansys_narrow_slave_configure(sdev, - &boardp->dvc_var.asc_dvc_var); + advansys_narrow_sdev_configure(sdev, + &boardp->dvc_var.asc_dvc_var); else - advansys_wide_slave_configure(sdev, - &boardp->dvc_var.adv_dvc_var); + advansys_wide_sdev_configure(sdev, + &boardp->dvc_var.adv_dvc_var); return 0; } @@ -10612,7 +10613,7 @@ static const struct scsi_host_template advansys_template = { .queuecommand = advansys_queuecommand, .eh_host_reset_handler = advansys_reset, .bios_param = advansys_biosparam, - .slave_configure = advansys_slave_configure, + .sdev_configure = advansys_sdev_configure, .cmd_size = sizeof(struct advansys_cmd), }; diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c index 9f65c5150119..3f992228dc57 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm.c +++ b/drivers/scsi/aic7xxx/aic79xx_osm.c @@ -701,7 +701,7 @@ ahd_linux_sdev_prep(struct scsi_device *sdev) } static int -ahd_linux_slave_configure(struct scsi_device *sdev) +ahd_linux_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { if (bootverbose) sdev_printk(KERN_INFO, sdev, "Slave Configure\n"); @@ -907,7 +907,7 @@ struct scsi_host_template aic79xx_driver_template = { .max_sectors = 8192, .cmd_per_lun = 2, .sdev_prep = ahd_linux_sdev_prep, - .slave_configure = ahd_linux_slave_configure, + .sdev_configure = ahd_linux_sdev_configure, .target_alloc = ahd_linux_target_alloc, .target_destroy = ahd_linux_target_destroy, }; diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c index 122dce89a009..83bec830bb16 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -664,7 +664,7 @@ ahc_linux_sdev_prep(struct scsi_device *sdev) } static int -ahc_linux_slave_configure(struct scsi_device *sdev) +ahc_linux_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { if (bootverbose) sdev_printk(KERN_INFO, sdev, "Slave Configure\n"); @@ -792,7 +792,7 @@ struct scsi_host_template aic7xxx_driver_template = { .max_sectors = 8192, .cmd_per_lun = 2, .sdev_prep = ahc_linux_sdev_prep, - .slave_configure = ahc_linux_slave_configure, + .sdev_configure = ahc_linux_sdev_configure, .target_alloc = ahc_linux_target_alloc, .target_destroy = ahc_linux_target_destroy, }; diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c index 35860c61468b..6a32e3e0d516 100644 --- a/drivers/scsi/arcmsr/arcmsr_hba.c +++ b/drivers/scsi/arcmsr/arcmsr_hba.c @@ -143,7 +143,8 @@ static irqreturn_t arcmsr_interrupt(struct AdapterControlBlock *acb); static void arcmsr_free_irq(struct pci_dev *, struct AdapterControlBlock *); static void arcmsr_wait_firmware_ready(struct AdapterControlBlock *acb); static void arcmsr_set_iop_datetime(struct timer_list *); -static int arcmsr_slave_config(struct scsi_device *sdev); +static int arcmsr_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim); static int arcmsr_adjust_disk_queue_depth(struct scsi_device *sdev, int queue_depth) { if (queue_depth > ARCMSR_MAX_CMD_PERLUN) @@ -160,7 +161,7 @@ static const struct scsi_host_template arcmsr_scsi_host_template = { .eh_abort_handler = arcmsr_abort, .eh_bus_reset_handler = arcmsr_bus_reset, .bios_param = arcmsr_bios_param, - .slave_configure = arcmsr_slave_config, + .sdev_configure = arcmsr_sdev_configure, .change_queue_depth = arcmsr_adjust_disk_queue_depth, .can_queue = ARCMSR_DEFAULT_OUTSTANDING_CMD, .this_id = ARCMSR_SCSI_INITIATOR_ID, @@ -3344,7 +3345,8 @@ static int arcmsr_queue_command_lck(struct scsi_cmnd *cmd) static DEF_SCSI_QCMD(arcmsr_queue_command) -static int arcmsr_slave_config(struct scsi_device *sdev) +static int arcmsr_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { unsigned int dev_timeout; diff --git a/drivers/scsi/bfa/bfad_im.c b/drivers/scsi/bfa/bfad_im.c index fad91a5c5a71..240ffbf91032 100644 --- a/drivers/scsi/bfa/bfad_im.c +++ b/drivers/scsi/bfa/bfad_im.c @@ -783,7 +783,7 @@ bfad_thread_workq(struct bfad_s *bfad) * Return non-zero if fails. */ static int -bfad_im_slave_configure(struct scsi_device *sdev) +bfad_im_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { scsi_change_queue_depth(sdev, bfa_lun_queue_depth); return 0; @@ -801,7 +801,7 @@ struct scsi_host_template bfad_im_scsi_host_template = { .eh_target_reset_handler = bfad_im_reset_target_handler, .sdev_prep = bfad_im_sdev_prep, - .slave_configure = bfad_im_slave_configure, + .sdev_configure = bfad_im_sdev_configure, .sdev_destroy = bfad_im_sdev_destroy, .this_id = -1, @@ -824,7 +824,7 @@ struct scsi_host_template bfad_im_vport_template = { .eh_target_reset_handler = bfad_im_reset_target_handler, .sdev_prep = bfad_im_sdev_prep, - .slave_configure = bfad_im_slave_configure, + .sdev_configure = bfad_im_sdev_configure, .sdev_destroy = bfad_im_sdev_destroy, .this_id = -1, diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c index bc3873211d6c..d84727ce5a0f 100644 --- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c +++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c @@ -2652,7 +2652,8 @@ static int bnx2fc_cpu_offline(unsigned int cpu) return 0; } -static int bnx2fc_slave_configure(struct scsi_device *sdev) +static int bnx2fc_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { if (!bnx2fc_queue_depth) return 0; @@ -2959,7 +2960,7 @@ static struct scsi_host_template bnx2fc_shost_template = { .dma_boundary = 0x7fff, .max_sectors = 0x3fbf, .track_queue_depth = 1, - .slave_configure = bnx2fc_slave_configure, + .sdev_configure = bnx2fc_sdev_configure, .shost_groups = bnx2fc_host_groups, .cmd_size = sizeof(struct bnx2fc_priv), }; diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c index b30c0e19a78a..7d261264ad49 100644 --- a/drivers/scsi/csiostor/csio_scsi.c +++ b/drivers/scsi/csiostor/csio_scsi.c @@ -2237,7 +2237,7 @@ csio_sdev_prep(struct scsi_device *sdev) } static int -csio_slave_configure(struct scsi_device *sdev) +csio_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { scsi_change_queue_depth(sdev, csio_lun_qdepth); return 0; @@ -2277,7 +2277,7 @@ struct scsi_host_template csio_fcoe_shost_template = { .eh_abort_handler = csio_eh_abort_handler, .eh_device_reset_handler = csio_eh_lun_reset_handler, .sdev_prep = csio_sdev_prep, - .slave_configure = csio_slave_configure, + .sdev_configure = csio_sdev_configure, .sdev_destroy = csio_sdev_destroy, .scan_finished = csio_scan_finished, .this_id = -1, @@ -2296,7 +2296,7 @@ struct scsi_host_template csio_fcoe_shost_vport_template = { .eh_abort_handler = csio_eh_abort_handler, .eh_device_reset_handler = csio_eh_lun_reset_handler, .sdev_prep = csio_sdev_prep, - .slave_configure = csio_slave_configure, + .sdev_configure = csio_sdev_configure, .sdev_destroy = csio_sdev_destroy, .scan_finished = csio_scan_finished, .this_id = -1, diff --git a/drivers/scsi/esp_scsi.c b/drivers/scsi/esp_scsi.c index 06551b4f8bac..623408689931 100644 --- a/drivers/scsi/esp_scsi.c +++ b/drivers/scsi/esp_scsi.c @@ -2261,7 +2261,7 @@ static void esp_init_swstate(struct esp *esp) INIT_LIST_HEAD(&esp->active_cmds); INIT_LIST_HEAD(&esp->esp_cmd_pool); - /* Start with a clear state, domain validation (via ->slave_configure, + /* Start with a clear state, domain validation (via ->sdev_configure, * spi_dv_device()) will attempt to enable SYNC, WIDE, and tagged * commands. */ @@ -2463,7 +2463,7 @@ static int esp_sdev_prep(struct scsi_device *dev) return 0; } -static int esp_slave_configure(struct scsi_device *dev) +static int esp_sdev_configure(struct scsi_device *dev, struct queue_limits *lim) { struct esp *esp = shost_priv(dev->host); struct esp_target_data *tp = &esp->target[dev->id]; @@ -2668,7 +2668,7 @@ const struct scsi_host_template scsi_esp_template = { .target_alloc = esp_target_alloc, .target_destroy = esp_target_destroy, .sdev_prep = esp_sdev_prep, - .slave_configure = esp_slave_configure, + .sdev_configure = esp_sdev_configure, .sdev_destroy = esp_sdev_destroy, .eh_abort_handler = esp_eh_abort_handler, .eh_bus_reset_handler = esp_eh_bus_reset_handler, diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index 674278cd6ff3..72eb72a48d7e 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c @@ -284,7 +284,8 @@ static int hpsa_change_queue_depth(struct scsi_device *sdev, int qdepth); static int hpsa_eh_device_reset_handler(struct scsi_cmnd *scsicmd); static int hpsa_sdev_prep(struct scsi_device *sdev); -static int hpsa_slave_configure(struct scsi_device *sdev); +static int hpsa_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim); static void hpsa_sdev_destroy(struct scsi_device *sdev); static void hpsa_update_scsi_devices(struct ctlr_info *h); @@ -979,7 +980,7 @@ static const struct scsi_host_template hpsa_driver_template = { .eh_device_reset_handler = hpsa_eh_device_reset_handler, .ioctl = hpsa_ioctl, .sdev_prep = hpsa_sdev_prep, - .slave_configure = hpsa_slave_configure, + .sdev_configure = hpsa_sdev_configure, .sdev_destroy = hpsa_sdev_destroy, #ifdef CONFIG_COMPAT .compat_ioctl = hpsa_compat_ioctl, @@ -2142,7 +2143,8 @@ static int hpsa_sdev_prep(struct scsi_device *sdev) /* configure scsi device based on internal per-device structure */ #define CTLR_TIMEOUT (120 * HZ) -static int hpsa_slave_configure(struct scsi_device *sdev) +static int hpsa_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct hpsa_scsi_dev_t *sd; int queue_depth; diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c index e8b6a9a779a0..b095d979640d 100644 --- a/drivers/scsi/ibmvscsi/ibmvfc.c +++ b/drivers/scsi/ibmvscsi/ibmvfc.c @@ -3441,7 +3441,7 @@ static int ibmvfc_target_alloc(struct scsi_target *starget) } /** - * ibmvfc_slave_configure - Configure the device + * ibmvfc_sdev_configure - Configure the device * @sdev: struct scsi_device device to configure * * Enable allow_restart for a device if it is a disk. Adjust the @@ -3450,7 +3450,8 @@ static int ibmvfc_target_alloc(struct scsi_target *starget) * Returns: * 0 **/ -static int ibmvfc_slave_configure(struct scsi_device *sdev) +static int ibmvfc_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct Scsi_Host *shost = sdev->host; unsigned long flags = 0; @@ -3697,7 +3698,7 @@ static const struct scsi_host_template driver_template = { .eh_target_reset_handler = ibmvfc_eh_target_reset_handler, .eh_host_reset_handler = ibmvfc_eh_host_reset_handler, .sdev_prep = ibmvfc_sdev_prep, - .slave_configure = ibmvfc_slave_configure, + .sdev_configure = ibmvfc_sdev_configure, .target_alloc = ibmvfc_target_alloc, .scan_finished = ibmvfc_scan_finished, .change_queue_depth = ibmvfc_change_queue_depth, diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c index 71f3e9563520..16a1aac11911 100644 --- a/drivers/scsi/ibmvscsi/ibmvscsi.c +++ b/drivers/scsi/ibmvscsi/ibmvscsi.c @@ -1860,14 +1860,16 @@ static void ibmvscsi_handle_crq(struct viosrp_crq *crq, } /** - * ibmvscsi_slave_configure: Set the "allow_restart" flag for each disk. + * ibmvscsi_sdev_configure: Set the "allow_restart" flag for each disk. * @sdev: struct scsi_device device to configure + * @lim: Request queue limits * * Enable allow_restart for a device if it is a disk. Adjust the * queue_depth here also as is required by the documentation for * struct scsi_host_template. */ -static int ibmvscsi_slave_configure(struct scsi_device *sdev) +static int ibmvscsi_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct Scsi_Host *shost = sdev->host; unsigned long lock_flags = 0; @@ -2091,7 +2093,7 @@ static struct scsi_host_template driver_template = { .eh_abort_handler = ibmvscsi_eh_abort_handler, .eh_device_reset_handler = ibmvscsi_eh_device_reset_handler, .eh_host_reset_handler = ibmvscsi_eh_host_reset_handler, - .slave_configure = ibmvscsi_slave_configure, + .sdev_configure = ibmvscsi_sdev_configure, .change_queue_depth = ibmvscsi_change_queue_depth, .host_reset = ibmvscsi_host_reset, .cmd_per_lun = IBMVSCSI_CMDS_PER_LUN_DEFAULT, diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c index 10cf5775a939..cce6c6b409ad 100644 --- a/drivers/scsi/ips.c +++ b/drivers/scsi/ips.c @@ -364,7 +364,7 @@ static struct scsi_host_template ips_driver_template = { .proc_name = "ips", .show_info = ips_show_info, .write_info = ips_write_info, - .slave_configure = ips_slave_configure, + .sdev_configure = ips_sdev_configure, .bios_param = ips_biosparam, .this_id = -1, .sg_tablesize = IPS_MAX_SG, @@ -1166,7 +1166,7 @@ static int ips_biosparam(struct scsi_device *sdev, struct block_device *bdev, /****************************************************************************/ /* */ -/* Routine Name: ips_slave_configure */ +/* Routine Name: ips_sdev_configure */ /* */ /* Routine Description: */ /* */ @@ -1174,7 +1174,7 @@ static int ips_biosparam(struct scsi_device *sdev, struct block_device *bdev, /* */ /****************************************************************************/ static int -ips_slave_configure(struct scsi_device * SDptr) +ips_sdev_configure(struct scsi_device *SDptr, struct queue_limits *lim) { ips_ha_t *ha; int min; diff --git a/drivers/scsi/ips.h b/drivers/scsi/ips.h index 65edf000e447..8ac932ec4444 100644 --- a/drivers/scsi/ips.h +++ b/drivers/scsi/ips.h @@ -400,7 +400,8 @@ */ static int ips_biosparam(struct scsi_device *sdev, struct block_device *bdev, sector_t capacity, int geom[]); - static int ips_slave_configure(struct scsi_device *SDptr); + static int ips_sdev_configure(struct scsi_device *SDptr, + struct queue_limits *lim); /* * Raid Command Formats diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c index 6726fa91306c..29b79c8505e4 100644 --- a/drivers/scsi/lpfc/lpfc_scsi.c +++ b/drivers/scsi/lpfc/lpfc_scsi.c @@ -6342,8 +6342,9 @@ lpfc_sdev_prep(struct scsi_device *sdev) } /** - * lpfc_slave_configure - scsi_host_template slave_configure entry point + * lpfc_sdev_configure - scsi_host_template sdev_configure entry point * @sdev: Pointer to scsi_device. + * @lim: Request queue limits. * * This routine configures following items * - Tag command queuing support for @sdev if supported. @@ -6353,7 +6354,7 @@ lpfc_sdev_prep(struct scsi_device *sdev) * 0 - Success **/ static int -lpfc_slave_configure(struct scsi_device *sdev) +lpfc_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { struct lpfc_vport *vport = (struct lpfc_vport *) sdev->host->hostdata; struct lpfc_hba *phba = vport->phba; @@ -6737,7 +6738,13 @@ lpfc_no_command(struct Scsi_Host *shost, struct scsi_cmnd *cmnd) } static int -lpfc_no_sdev(struct scsi_device *sdev) +lpfc_prep_no_sdev(struct scsi_device *sdev) +{ + return -ENODEV; +} + +static int +lpfc_config_no_sdev(struct scsi_device *sdev, struct queue_limits *lim) { return -ENODEV; } @@ -6748,8 +6755,8 @@ struct scsi_host_template lpfc_template_nvme = { .proc_name = LPFC_DRIVER_NAME, .info = lpfc_info, .queuecommand = lpfc_no_command, - .sdev_prep = lpfc_no_sdev, - .slave_configure = lpfc_no_sdev, + .sdev_prep = lpfc_prep_no_sdev, + .sdev_configure = lpfc_config_no_sdev, .scan_finished = lpfc_scan_finished, .this_id = -1, .sg_tablesize = 1, @@ -6773,7 +6780,7 @@ struct scsi_host_template lpfc_template = { .eh_target_reset_handler = lpfc_target_reset_handler, .eh_host_reset_handler = lpfc_host_reset_handler, .sdev_prep = lpfc_sdev_prep, - .slave_configure = lpfc_slave_configure, + .sdev_configure = lpfc_sdev_configure, .sdev_destroy = lpfc_sdev_destroy, .scan_finished = lpfc_scan_finished, .this_id = -1, @@ -6800,7 +6807,7 @@ struct scsi_host_template lpfc_vport_template = { .eh_bus_reset_handler = NULL, .eh_host_reset_handler = NULL, .sdev_prep = lpfc_sdev_prep, - .slave_configure = lpfc_slave_configure, + .sdev_configure = lpfc_sdev_configure, .sdev_destroy = lpfc_sdev_destroy, .scan_finished = lpfc_scan_finished, .this_id = -1, diff --git a/drivers/scsi/mvumi.c b/drivers/scsi/mvumi.c index d9d366ec17dc..96549e7f5705 100644 --- a/drivers/scsi/mvumi.c +++ b/drivers/scsi/mvumi.c @@ -2000,7 +2000,8 @@ static struct mvumi_instance_template mvumi_instance_9580 = { .reset_host = mvumi_reset_host_9580, }; -static int mvumi_slave_configure(struct scsi_device *sdev) +static int mvumi_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct mvumi_hba *mhba; unsigned char bitcount = sizeof(unsigned char) * 8; @@ -2172,7 +2173,7 @@ static const struct scsi_host_template mvumi_template = { .module = THIS_MODULE, .name = "Marvell Storage Controller", - .slave_configure = mvumi_slave_configure, + .sdev_configure = mvumi_sdev_configure, .queuecommand = mvumi_queue_command, .eh_timed_out = mvumi_timed_out, .eh_host_reset_handler = mvumi_host_reset, diff --git a/drivers/scsi/myrb.c b/drivers/scsi/myrb.c index bc5b2473cadf..0d6370c23ebc 100644 --- a/drivers/scsi/myrb.c +++ b/drivers/scsi/myrb.c @@ -1715,7 +1715,8 @@ static int myrb_sdev_prep(struct scsi_device *sdev) return myrb_pdev_sdev_prep(sdev); } -static int myrb_slave_configure(struct scsi_device *sdev) +static int myrb_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct myrb_ldev_info *ldev_info; @@ -2209,7 +2210,7 @@ static const struct scsi_host_template myrb_template = { .queuecommand = myrb_queuecommand, .eh_host_reset_handler = myrb_host_reset, .sdev_prep = myrb_sdev_prep, - .slave_configure = myrb_slave_configure, + .sdev_configure = myrb_sdev_configure, .sdev_destroy = myrb_sdev_destroy, .bios_param = myrb_biosparam, .cmd_size = sizeof(struct myrb_cmdblk), diff --git a/drivers/scsi/myrs.c b/drivers/scsi/myrs.c index d2bc2843a274..775ebda81f7d 100644 --- a/drivers/scsi/myrs.c +++ b/drivers/scsi/myrs.c @@ -1882,7 +1882,8 @@ static int myrs_sdev_prep(struct scsi_device *sdev) return 0; } -static int myrs_slave_configure(struct scsi_device *sdev) +static int myrs_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct myrs_hba *cs = shost_priv(sdev->host); struct myrs_ldev_info *ldev_info; @@ -1922,7 +1923,7 @@ static const struct scsi_host_template myrs_template = { .queuecommand = myrs_queuecommand, .eh_host_reset_handler = myrs_host_reset, .sdev_prep = myrs_sdev_prep, - .slave_configure = myrs_slave_configure, + .sdev_configure = myrs_sdev_configure, .sdev_destroy = myrs_sdev_destroy, .cmd_size = sizeof(struct myrs_cmdblk), .shost_groups = myrs_shost_groups, diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c index 5181107ba0ab..7949b1c7d94d 100644 --- a/drivers/scsi/ncr53c8xx.c +++ b/drivers/scsi/ncr53c8xx.c @@ -7796,7 +7796,8 @@ static int ncr53c8xx_sdev_prep(struct scsi_device *device) return 0; } -static int ncr53c8xx_slave_configure(struct scsi_device *device) +static int ncr53c8xx_sdev_configure(struct scsi_device *device, + struct queue_limits *lim) { struct Scsi_Host *host = device->host; struct ncb *np = ((struct host_data *) host->hostdata)->ncb; @@ -8093,8 +8094,8 @@ struct Scsi_Host * __init ncr_attach(struct scsi_host_template *tpnt, tpnt->shost_groups = ncr53c8xx_host_groups; tpnt->queuecommand = ncr53c8xx_queue_command; - tpnt->slave_configure = ncr53c8xx_slave_configure; - tpnt->sdev_prep = ncr53c8xx_sdev_prep; + tpnt->sdev_configure = ncr53c8xx_sdev_configure; + tpnt->sdev_prep = ncr53c8xx_sdev_prep; tpnt->eh_bus_reset_handler = ncr53c8xx_bus_reset; tpnt->can_queue = SCSI_NCR_CAN_QUEUE; tpnt->this_id = 7; diff --git a/drivers/scsi/ps3rom.c b/drivers/scsi/ps3rom.c index 90495a832f34..92fe5c5c5bb0 100644 --- a/drivers/scsi/ps3rom.c +++ b/drivers/scsi/ps3rom.c @@ -61,7 +61,8 @@ enum lv1_atapi_in_out { }; -static int ps3rom_slave_configure(struct scsi_device *scsi_dev) +static int ps3rom_sdev_configure(struct scsi_device *scsi_dev, + struct queue_limits *lim) { struct ps3rom_private *priv = shost_priv(scsi_dev->host); struct ps3_storage_device *dev = priv->dev; @@ -325,7 +326,7 @@ static irqreturn_t ps3rom_interrupt(int irq, void *data) static const struct scsi_host_template ps3rom_host_template = { .name = DEVICE_NAME, - .slave_configure = ps3rom_slave_configure, + .sdev_configure = ps3rom_sdev_configure, .queuecommand = ps3rom_queuecommand, .can_queue = 1, .this_id = 7, diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c index cf13148ba281..d18458289535 100644 --- a/drivers/scsi/qedf/qedf_main.c +++ b/drivers/scsi/qedf/qedf_main.c @@ -982,7 +982,8 @@ static int qedf_eh_host_reset(struct scsi_cmnd *sc_cmd) return SUCCESS; } -static int qedf_slave_configure(struct scsi_device *sdev) +static int qedf_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { if (qedf_queue_depth) { scsi_change_queue_depth(sdev, qedf_queue_depth); @@ -1003,7 +1004,7 @@ static const struct scsi_host_template qedf_host_template = { .eh_device_reset_handler = qedf_eh_device_reset, /* lun reset */ .eh_target_reset_handler = qedf_eh_target_reset, /* target reset */ .eh_host_reset_handler = qedf_eh_host_reset, - .slave_configure = qedf_slave_configure, + .sdev_configure = qedf_sdev_configure, .dma_boundary = QED_HW_DMA_BOUNDARY, .sg_tablesize = QEDF_MAX_BDS_PER_CMD, .can_queue = FCOE_PARAMS_NUM_TASKS, diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c index 8958547ac111..360867838abd 100644 --- a/drivers/scsi/qla1280.c +++ b/drivers/scsi/qla1280.c @@ -1159,7 +1159,7 @@ qla1280_set_target_parameters(struct scsi_qla_host *ha, int bus, int target) /************************************************************************** - * qla1280_slave_configure + * qla1280_sdev_configure * * Description: * Determines the queue depth for a given device. There are two ways @@ -1170,7 +1170,7 @@ qla1280_set_target_parameters(struct scsi_qla_host *ha, int bus, int target) * default queue depth (dependent on the number of hardware SCBs). **************************************************************************/ static int -qla1280_slave_configure(struct scsi_device *device) +qla1280_sdev_configure(struct scsi_device *device, struct queue_limits *lim) { struct scsi_qla_host *ha; int default_depth = 3; @@ -4121,7 +4121,7 @@ static const struct scsi_host_template qla1280_driver_template = { .proc_name = "qla1280", .name = "Qlogic ISP 1280/12160", .info = qla1280_info, - .slave_configure = qla1280_slave_configure, + .sdev_configure = qla1280_sdev_configure, .queuecommand = qla1280_queuecommand, .eh_abort_handler = qla1280_eh_abort, .eh_device_reset_handler= qla1280_eh_device_reset, diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index f04033dbf12d..344ece55b5e5 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -1947,7 +1947,7 @@ qla2xxx_sdev_prep(struct scsi_device *sdev) } static int -qla2xxx_slave_configure(struct scsi_device *sdev) +qla2xxx_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { scsi_qla_host_t *vha = shost_priv(sdev->host); struct req_que *req = vha->req; @@ -8086,7 +8086,7 @@ struct scsi_host_template qla2xxx_driver_template = { .eh_bus_reset_handler = qla2xxx_eh_bus_reset, .eh_host_reset_handler = qla2xxx_eh_host_reset, - .slave_configure = qla2xxx_slave_configure, + .sdev_configure = qla2xxx_sdev_configure, .sdev_prep = qla2xxx_sdev_prep, .sdev_destroy = qla2xxx_sdev_destroy, diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c index 6177f4798f3a..cc632c6b603a 100644 --- a/drivers/scsi/qlogicpti.c +++ b/drivers/scsi/qlogicpti.c @@ -975,7 +975,8 @@ static inline void update_can_queue(struct Scsi_Host *host, u_int in_ptr, u_int host->sg_tablesize = QLOGICPTI_MAX_SG(num_free); } -static int qlogicpti_slave_configure(struct scsi_device *sdev) +static int qlogicpti_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct qlogicpti *qpti = shost_priv(sdev->host); int tgt = sdev->id; @@ -1292,7 +1293,7 @@ static const struct scsi_host_template qpti_template = { .name = "qlogicpti", .info = qlogicpti_info, .queuecommand = qlogicpti_queuecommand, - .slave_configure = qlogicpti_slave_configure, + .sdev_configure = qlogicpti_sdev_configure, .eh_abort_handler = qlogicpti_abort, .eh_host_reset_handler = qlogicpti_reset, .can_queue = QLOGICPTI_REQ_QUEUE_LEN, diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index aca10454bd91..bba8edd75b53 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -5890,14 +5890,15 @@ static int scsi_debug_sdev_prep(struct scsi_device *sdp) return 0; } -static int scsi_debug_slave_configure(struct scsi_device *sdp) +static int scsi_debug_sdev_configure(struct scsi_device *sdp, + struct queue_limits *lim) { struct sdebug_dev_info *devip = (struct sdebug_dev_info *)sdp->hostdata; struct dentry *dentry; if (sdebug_verbose) - pr_info("slave_configure <%u %u %u %llu>\n", + pr_info("sdev_configure <%u %u %u %llu>\n", sdp->host->host_no, sdp->channel, sdp->id, sdp->lun); if (sdp->host->max_cmd_len != SDEBUG_MAX_CMD_LEN) sdp->host->max_cmd_len = SDEBUG_MAX_CMD_LEN; @@ -8715,7 +8716,7 @@ static struct scsi_host_template sdebug_driver_template = { .name = "SCSI DEBUG", .info = scsi_debug_info, .sdev_prep = scsi_debug_sdev_prep, - .slave_configure = scsi_debug_slave_configure, + .sdev_configure = scsi_debug_sdev_configure, .sdev_destroy = scsi_debug_sdev_destroy, .ioctl = scsi_debug_ioctl, .queuecommand = scsi_debug_queuecommand, diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 768a469f3f7f..8eae48b0b821 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -316,7 +316,7 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget, sdev->hostdata = hostdata; /* if the device needs this changing, it may do so in the - * slave_configure function */ + * sdev_configure function */ sdev->max_device_blocked = SCSI_DEFAULT_DEVICE_BLOCKED; /* diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c index 2c1e16ebe890..685b306ce5b3 100644 --- a/drivers/scsi/smartpqi/smartpqi_init.c +++ b/drivers/scsi/smartpqi/smartpqi_init.c @@ -6558,7 +6558,8 @@ static inline bool pqi_is_tape_changer_device(struct pqi_scsi_dev *device) return device->devtype == TYPE_TAPE || device->devtype == TYPE_MEDIUM_CHANGER; } -static int pqi_slave_configure(struct scsi_device *sdev) +static int pqi_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { int rc = 0; struct pqi_scsi_dev *device; @@ -7550,7 +7551,7 @@ static const struct scsi_host_template pqi_driver_template = { .eh_abort_handler = pqi_eh_abort_handler, .ioctl = pqi_ioctl, .sdev_prep = pqi_sdev_prep, - .slave_configure = pqi_slave_configure, + .sdev_configure = pqi_sdev_configure, .sdev_destroy = pqi_sdev_destroy, .map_queues = pqi_map_queues, .sdev_groups = pqi_sdev_groups, diff --git a/drivers/scsi/snic/snic_main.c b/drivers/scsi/snic/snic_main.c index c8d90586f51b..acab3cce6562 100644 --- a/drivers/scsi/snic/snic_main.c +++ b/drivers/scsi/snic/snic_main.c @@ -57,11 +57,11 @@ snic_sdev_prep(struct scsi_device *sdev) } /* - * snic_slave_configure : callback function to SCSI Mid Layer, called on + * snic_sdev_configure : callback function to SCSI Mid Layer, called on * scsi device initialization. */ static int -snic_slave_configure(struct scsi_device *sdev) +snic_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { struct snic *snic = shost_priv(sdev->host); u32 qdepth = 0, max_ios = 0; @@ -108,7 +108,7 @@ static const struct scsi_host_template snic_host_template = { .eh_device_reset_handler = snic_device_reset, .eh_host_reset_handler = snic_host_reset, .sdev_prep = snic_sdev_prep, - .slave_configure = snic_slave_configure, + .sdev_configure = snic_sdev_configure, .change_queue_depth = snic_change_queue_depth, .this_id = -1, .cmd_per_lun = SNIC_DFLT_QUEUE_DEPTH, diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c index 0e81125df8c7..0e5c7609dcc4 100644 --- a/drivers/scsi/stex.c +++ b/drivers/scsi/stex.c @@ -584,7 +584,7 @@ static void return_abnormal_state(struct st_hba *hba, int status) spin_unlock_irqrestore(hba->host->host_lock, flags); } static int -stex_slave_config(struct scsi_device *sdev) +stex_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { sdev->use_10_for_rw = 1; sdev->use_10_for_ms = 1; @@ -1481,7 +1481,7 @@ static const struct scsi_host_template driver_template = { .proc_name = DRV_NAME, .bios_param = stex_biosparam, .queuecommand = stex_queuecommand, - .slave_configure = stex_slave_config, + .sdev_configure = stex_sdev_configure, .eh_abort_handler = stex_abort, .eh_host_reset_handler = stex_reset, .this_id = -1, diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index a5d615326993..b692cf54fe20 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c @@ -1574,7 +1574,8 @@ static int storvsc_device_alloc(struct scsi_device *sdevice) return 0; } -static int storvsc_device_configure(struct scsi_device *sdevice) +static int storvsc_sdev_configure(struct scsi_device *sdevice, + struct queue_limits *lim) { blk_queue_rq_timeout(sdevice->request_queue, (storvsc_timeout * HZ)); @@ -1876,7 +1877,7 @@ static struct scsi_host_template scsi_driver = { .proc_name = "storvsc_host", .eh_timed_out = storvsc_eh_timed_out, .sdev_prep = storvsc_device_alloc, - .slave_configure = storvsc_device_configure, + .sdev_configure = storvsc_sdev_configure, .cmd_per_lun = 2048, .this_id = -1, /* Ensure there are no gaps in presented sgls */ diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c index c1075aaf6501..94fc65dcdb51 100644 --- a/drivers/scsi/sym53c8xx_2/sym_glue.c +++ b/drivers/scsi/sym53c8xx_2/sym_glue.c @@ -825,7 +825,8 @@ static int sym53c8xx_sdev_prep(struct scsi_device *sdev) /* * Linux entry point for device queue sizing. */ -static int sym53c8xx_slave_configure(struct scsi_device *sdev) +static int sym53c8xx_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct sym_hcb *np = sym_get_hcb(sdev->host); struct sym_tcb *tp = &np->target[sdev->id]; @@ -1685,7 +1686,7 @@ static const struct scsi_host_template sym2_template = { .cmd_size = sizeof(struct sym_ucmd), .queuecommand = sym53c8xx_queue_command, .sdev_prep = sym53c8xx_sdev_prep, - .slave_configure = sym53c8xx_slave_configure, + .sdev_configure = sym53c8xx_sdev_configure, .sdev_destroy = sym53c8xx_sdev_destroy, .eh_abort_handler = sym53c8xx_eh_abort_handler, .eh_target_reset_handler = sym53c8xx_eh_target_reset_handler, diff --git a/drivers/scsi/xen-scsifront.c b/drivers/scsi/xen-scsifront.c index 8ac3b284c2ef..924025305753 100644 --- a/drivers/scsi/xen-scsifront.c +++ b/drivers/scsi/xen-scsifront.c @@ -735,7 +735,8 @@ static int scsifront_dev_reset_handler(struct scsi_cmnd *sc) return scsifront_action_handler(sc, VSCSIIF_ACT_SCSI_RESET); } -static int scsifront_sdev_configure(struct scsi_device *sdev) +static int scsifront_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct vscsifrnt_info *info = shost_priv(sdev->host); int err; @@ -776,7 +777,7 @@ static const struct scsi_host_template scsifront_sht = { .queuecommand = scsifront_queuecommand, .eh_abort_handler = scsifront_eh_abort_handler, .eh_device_reset_handler = scsifront_dev_reset_handler, - .slave_configure = scsifront_sdev_configure, + .sdev_configure = scsifront_sdev_configure, .sdev_destroy = scsifront_sdev_destroy, .cmd_per_lun = VSCSIIF_DEFAULT_CMD_PER_LUN, .can_queue = VSCSIIF_MAX_REQS, @@ -1074,7 +1075,7 @@ static void scsifront_do_lun_hotplug(struct vscsifrnt_info *info, int op) continue; /* - * Front device state path, used in slave_configure called + * Front device state path, used in sdev_configure called * on successfull scsi_add_device, and in sdev_destroy called * on remove of a device. */ diff --git a/drivers/staging/rts5208/rtsx.c b/drivers/staging/rts5208/rtsx.c index 27662e465f49..e1f83f397f72 100644 --- a/drivers/staging/rts5208/rtsx.c +++ b/drivers/staging/rts5208/rtsx.c @@ -68,7 +68,7 @@ static int sdev_prep(struct scsi_device *sdev) return 0; } -static int slave_configure(struct scsi_device *sdev) +static int sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { /* Set the SCSI level to at least 2. We'll leave it at 3 if that's * what is originally reported. We need this to avoid confusing @@ -199,7 +199,7 @@ static const struct scsi_host_template rtsx_host_template = { .this_id = -1, .sdev_prep = sdev_prep, - .slave_configure = slave_configure, + .sdev_configure = sdev_configure, /* lots of sg segments can be handled */ .sg_tablesize = SG_ALL, From patchwork Wed Oct 2 20:34:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 832350 Received: from 009.lax.mailroute.net (009.lax.mailroute.net [199.89.1.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC859217311 for ; Wed, 2 Oct 2024 20:37:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.1.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901454; cv=none; b=asHeTxt6pQZlHfZEJ8Fplbggi0/g3HHK+pokTdQsEOcqdc7VKVeCdD97WOdKS/jfhfyH5ecB/efoK42WPSpYWOKw8eUBQJYf131gvd762W7SwadRRIwlVAAayzEFBHM35ZLD8wCbcxnOH6CY3mwQyEPzZi+Sh/7hov+dhghCuOk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901454; c=relaxed/simple; bh=nQDyX/T4WoLjTuuuecubjQFu1zobeceqGNCVJpNPsXs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BIiVwPTh5KGKe2+ACAbwD9H3jnzhnZRRzihm+a/3GfW9nBCPP73lfj8MJzOA2i4knDh72+QVkXua0VZOn/9UekrensA9BzJpsazHrSPzYpZKTmQqu7K9+WZGb0jYeCJH9IiNYxVqsuqfAWEleGJuxyH9i8iGvxUFT7SxLfpU/jw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=c+8jNPK+; arc=none smtp.client-ip=199.89.1.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="c+8jNPK+" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmp447Z7zlgMW9; Wed, 2 Oct 2024 20:37:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h= content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received; s=mr01; t=1727901447; x=1730493448; bh=DxPZv BsOKAmZV+18q53mmDtkfHqrUNijWaCEwXHAcuY=; b=c+8jNPK+Q1X+MWLW67GnI jvh7Q69TNoUmBkum4Ix1X+NxFwju/gTAvnYP4KG9DFSULkPXiumRBX4C5QQIKwPj 2KOYMvVdRtMnaSe9mg7qbmdYaYxQYTOLdK7bY518B0JId1ukyD357s+WTmlsg4N+ uxI5g/phsYtYtpDhqJKI5VAHNUC16netK0ImmyCId29mubGuCGF9P1KFEHi2u5+6 SVlRuKRaQyqK0ftgbJB+f+vwokql4zGn8LBckFJI/ubD4xvz2OZV/s4ew8OSagNT g95hrtX9aFJyeQdH9MWQBdZtT8b88wCP2VSJl7rvDrntsEg9C7RqabN4Jy64kckN w== X-Virus-Scanned: by MailRoute Received: from 009.lax.mailroute.net ([127.0.0.1]) by localhost (009.lax [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP id qVMMuP603WBX; Wed, 2 Oct 2024 20:37:27 +0000 (UTC) Received: from bvanassche.mtv.corp.google.com (unknown [104.135.204.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bvanassche@acm.org) by 009.lax.mailroute.net (Postfix) with ESMTPSA id 4XJmnk0cRQzlgMWQ; Wed, 2 Oct 2024 20:37:13 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Damien Le Moal , Jonathan Corbet , Randy Dunlap Subject: [PATCH v2 11/11] scsi: core: Update .slave_configure() references in the documentation Date: Wed, 2 Oct 2024 13:34:03 -0700 Message-ID: <20241002203528.4104996-12-bvanassche@acm.org> X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog In-Reply-To: <20241002203528.4104996-1-bvanassche@acm.org> References: <20241002203528.4104996-1-bvanassche@acm.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Now that .slave_configure() support has been removed, change all references to .slave_configure() into .device_configure() in the SCSI documentation. Cc: Damien Le Moal Signed-off-by: Bart Van Assche --- Documentation/scsi/scsi_mid_low_api.rst | 30 ++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Documentation/scsi/scsi_mid_low_api.rst b/Documentation/scsi/scsi_mid_low_api.rst index aba832d590eb..9addae8caf0f 100644 --- a/Documentation/scsi/scsi_mid_low_api.rst +++ b/Documentation/scsi/scsi_mid_low_api.rst @@ -150,10 +150,10 @@ scsi devices of which only the first 2 respond:: scsi_scan_host() -------+ | sdev_prep() - slave_configure() --> scsi_change_queue_depth() + sdev_configure() --> scsi_change_queue_depth() | sdev_prep() - slave_configure() + sdev_configure() | sdev_prep() *** sdev_destroy() *** @@ -163,7 +163,7 @@ scsi devices of which only the first 2 respond:: respond, a sdev_prep(), sdev_destroy() pair is called. If the LLD wants to adjust the default queue settings, it can invoke -scsi_change_queue_depth() in its slave_configure() routine. +scsi_change_queue_depth() in its sdev_configure() routine. When an HBA is being removed it could be as part of an orderly shutdown associated with the LLD module being unloaded (e.g. with the "rmmod" @@ -203,7 +203,7 @@ An LLD can use this sequence to make the mid level aware of a SCSI device:: scsi_add_device() ------+ | sdev_prep() - slave_configure() [--> scsi_change_queue_depth()] + sdev_configure() [--> scsi_change_queue_depth()] In a similar fashion, an LLD may become aware that a SCSI device has been removed (unplugged) or the connection to it has been interrupted. Some @@ -222,7 +222,7 @@ upper layers with this sequence:: It may be useful for an LLD to keep track of struct scsi_device instances (a pointer is passed as the parameter to sdev_prep() and -slave_configure() callbacks). Such instances are "owned" by the mid-level. +sdev_configure() callbacks). Such instances are "owned" by the mid-level. struct scsi_device instances are freed after sdev_destroy(). @@ -331,7 +331,7 @@ Details:: * bus scan when an HBA is added (i.e. scsi_scan_host()). So it * should only be called if the HBA becomes aware of a new scsi * device (lu) after scsi_scan_host() has completed. If successful - * this call can lead to sdev_prep() and slave_configure() callbacks + * this call can lead to sdev_prep() and sdev_configure() callbacks * into the LLD. * * Defined in: drivers/scsi/scsi_scan.c @@ -374,7 +374,7 @@ Details:: * Might block: no * * Notes: Can be invoked any time on a SCSI device controlled by this - * LLD. [Specifically during and after slave_configure() and prior to + * LLD. [Specifically during and after sdev_configure() and prior to * sdev_destroy().] Can safely be invoked from interrupt code. * * Defined in: drivers/scsi/scsi.c [see source code for more notes] @@ -627,14 +627,14 @@ Interface functions are supplied (defined) by LLDs and their function pointers are placed in an instance of struct scsi_host_template which is passed to scsi_host_alloc() [or scsi_register() / init_this_scsi_driver()]. Some are mandatory. Interface functions should be declared static. The -accepted convention is that driver "xyz" will declare its slave_configure() +accepted convention is that driver "xyz" will declare its sdev_configure() function as:: - static int xyz_slave_configure(struct scsi_device * sdev); + static int xyz_sdev_configure(struct scsi_device * sdev); and so forth for all interface functions listed below. -A pointer to this function should be placed in the 'slave_configure' member +A pointer to this function should be placed in the 'sdev_configure' member of a "struct scsi_host_template" instance. A pointer to such an instance should be passed to the mid level's scsi_host_alloc() [or scsi_register() / init_this_scsi_driver()]. @@ -658,7 +658,7 @@ Summary: - proc_info - supports /proc/scsi/{driver_name}/{host_no} - queuecommand - queue scsi command, invoke 'done' on completion - sdev_prep - prior to any commands being sent to a new device - - slave_configure - driver fine tuning for given device after attach + - sdev_configure - driver fine tuning for given device after attach - sdev_destroy - given device is about to be shut down @@ -975,7 +975,7 @@ Details:: * prior to its initial scan. The corresponding scsi device may not * exist but the mid level is just about to scan for it (i.e. send * and INQUIRY command plus ...). If a device is found then - * slave_configure() will be called while if a device is not found + * sdev_configure() will be called while if a device is not found * sdev_destroy() is called. * For more details see the include/scsi/scsi_host.h file. * @@ -985,7 +985,7 @@ Details:: /** - * slave_configure - driver fine tuning for given device just after it + * sdev_configure - driver fine tuning for given device just after it * has been first scanned (i.e. it responded to an * INQUIRY) * @sdp: device that has just been attached @@ -1004,7 +1004,7 @@ Details:: * * Optionally defined in: LLD **/ - int slave_configure(struct scsi_device *sdp) + int sdev_configure(struct scsi_device *sdp) /** @@ -1024,7 +1024,7 @@ Details:: * commands will be sent for this sdp instance. [However the device * could be re-attached in the future in which case a new instance * of struct scsi_device would be supplied by future sdev_prep() - * and slave_configure() calls.] + * and sdev_configure() calls.] * * Optionally defined in: LLD **/