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 Reviewed-by: Damien Le Moal --- 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:54 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: 832660 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 B7409217306 for ; Wed, 2 Oct 2024 20:35:50 +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=1727901352; cv=none; b=CrWSPaWnZguBUIoZezaREj7q35yqpCLjIayAEhxcC/q2krZtwWVdHVvIGJJN9CsbVO/i+bniIO7sxPnfjoOUn3USLryFag9WYEwmkefeRmqsVgCEcZ43i5/2EgoBromNsfqQgotOCY7nNpDu1lvFmkv2SQmtJkI3839D8zJf1os= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901352; c=relaxed/simple; bh=gUJMRrpgsIfjBWGyXH7lY17khB0zLXGRAUVVrJuHot4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pz/4LhaYDSMIBhnZGBcDeeQwPqZKKSASMiKZjKIIqFLoFMxiIZ7sqDAra10dtbUMohdolR7cIL17vfIM8+7FJAc0Mwqo/dvfgr5dQuBCagTXW031+m6vvh4JvDHgOsnWKz3E+xJptv0O00cNJnTyc9FqGyQARUNh0mErEtQTBk8= 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=I7d1A8/f; 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="I7d1A8/f" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmm61MBtzlgMWB; Wed, 2 Oct 2024 20:35:50 +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=1727901347; x=1730493348; bh=OaRvv NDL9ZHE5oZ9Typot3CJVACz662PkqYVyW+cGdA=; b=I7d1A8/fHJu5e7FLWaO+r sARHFh8vjFffi1zSvPq7Y90rvwsJovo7XK7ulPPhczxoWfQNMoGd9FqONL/kvSTA 6vp2H63iBn3FF/eA2Lp0mLv3xiTPNSwgIoJSMwFhao1zs8djm/bpeK1j0r0P4eeL 0lCR4DXN+ttqp8RSHuhOtyAFaak3tnjnCQ2WJDUEuZ2LGkBZCw6mlVIfXKS5Cnk3 qWN33YkpcZOv9/opkkppvAtkIbx0T1VG/h2KyjB7GtbB+KCdBNq7XYT/WzjHwsQ6 Lp62PRVD9lJNyCoehec2a/dt+Slmi/eVLfWwmm1bgxkldwLgSnCGgZ65k0Fo74EC 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 9kxZ05Raqaia; Wed, 2 Oct 2024 20:35:47 +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 4XJmm26yZnzlgMW9; Wed, 2 Oct 2024 20:35:46 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Jonathan Corbet Subject: [PATCH v2 02/11] scsi: ips: Remove the changelog Date: Wed, 2 Oct 2024 13:33:54 -0700 Message-ID: <20241002203528.4104996-3-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 ips changelog has not been updated since 2002, remove it. Signed-off-by: Bart Van Assche --- Documentation/scsi/ChangeLog.ips | 122 ------------------------------- 1 file changed, 122 deletions(-) delete mode 100644 Documentation/scsi/ChangeLog.ips diff --git a/Documentation/scsi/ChangeLog.ips b/Documentation/scsi/ChangeLog.ips deleted file mode 100644 index 5019f5182bf4..000000000000 --- a/Documentation/scsi/ChangeLog.ips +++ /dev/null @@ -1,122 +0,0 @@ -IBM ServeRAID driver Change Log -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - 5.00.01 - Sarasota ( 5i ) adapters must always be scanned first - - Get rid on IOCTL_NEW_COMMAND code - - Add Extended DCDB Commands for Tape Support in 5I - - 4.90.11 - Don't actually RESET unless it's physically required - - Remove unused compile options - - 4.90.08 - Data Corruption if First Scatter Gather Element is > 64K - - 4.90.08 - Increase Delays in Flashing ( Trombone Only - 4H ) - - 4.90.05 - Use New PCI Architecture to facilitate Hot Plug Development - - 4.90.01 - Add ServeRAID Version Checking - - 4.80.26 - Clean up potential code problems ( Arjan's recommendations ) - - 4.80.21 - Change memcpy() to copy_to_user() in NVRAM Page 5 IOCTL path - - 4.80.20 - Set max_sectors in Scsi_Host structure ( if >= 2.4.7 kernel ) - - 5 second delay needed after resetting an i960 adapter - - 4.80.14 - Take all semaphores off stack - - Clean Up New_IOCTL path - - 4.80.04 - Eliminate calls to strtok() if 2.4.x or greater - - Adjustments to Device Queue Depth - - 4.80.00 - Make ia64 Safe - - 4.72.01 - I/O Mapped Memory release ( so "insmod ips" does not Fail ) - - Don't Issue Internal FFDC Command if there are Active Commands - - Close Window for getting too many IOCTL's active - - 4.72.00 - Allow for a Scatter-Gather Element to exceed MAX_XFER Size - - 4.71.00 - Change all memory allocations to not use GFP_DMA flag - - Code Clean-Up for 2.4.x kernel - - 4.70.15 - Fix Breakup for very large ( non-SG ) requests - - 4.70.13 - Don't release HA Lock in ips_next() until SC taken off queue - - Unregister SCSI device in ips_release() - - Don't Send CDB's if we already know the device is not present - - 4.70.12 - Corrective actions for bad controller ( during initialization ) - - 4.70.09 - Use a Common ( Large Buffer ) for Flashing from the JCRM CD - - Add IPSSEND Flash Support - - Set Sense Data for Unknown SCSI Command - - Use Slot Number from NVRAM Page 5 - - Restore caller's DCDB Structure - - 4.20.14 - Update patch files for kernel 2.4.0-test5 - - 4.20.13 - Fix some failure cases / reset code - - Hook into the reboot_notifier to flush the controller - cache - - 4.20.03 - Rename version to coincide with new release schedules - - Performance fixes - - Fix truncation of /proc files with cat - - Merge in changes through kernel 2.4.0test1ac21 - - 4.10.13 - Fix for dynamic unload and proc file system - - 4.10.00 - Add support for ServeRAID 4M/4L - - 4.00.06 - Fix timeout with initial FFDC command - - 4.00.05 - Remove wish_block from init routine - - Use linux/spinlock.h instead of asm/spinlock.h for kernels - 2.3.18 and later - - Sync with other changes from the 2.3 kernels - - 4.00.04 - Rename structures/constants to be prefixed with IPS_ - - 4.00.03 - Add alternative passthru interface - - Add ability to flash ServeRAID BIOS - - 4.00.02 - Fix problem with PT DCDB with no buffer - - 4.00.01 - Add support for First Failure Data Capture - - 4.00.00 - Add support for ServeRAID 4 - - 3.60.02 - Make DCDB direction based on lookup table. - - Only allow one DCDB command to a SCSI ID at a time. - - 3.60.01 - Remove bogus error check in passthru routine. - - 3.60.00 - Bump max commands to 128 for use with ServeRAID - firmware 3.60. - - Change version to 3.60 to coincide with ServeRAID release - numbering. - - 1.00.00 - Initial Public Release - - Functionally equivalent to 0.99.05 - - 0.99.05 - Fix an oops on certain passthru commands - - 0.99.04 - Fix race condition in the passthru mechanism - -- this required the interface to the utilities to change - - Fix error recovery code - - 0.99.03 - Make interrupt routine handle all completed request on the - adapter not just the first one - - Make sure passthru commands get woken up if we run out of - SCBs - - Send all of the commands on the queue at once rather than - one at a time since the card will support it. - - 0.99.02 - Added some additional debug statements to print out - errors if an error occurs while trying to read/write - to a logical drive (IPS_DEBUG). - - - Fixed read/write errors when the adapter is using an - 8K stripe size. - From patchwork Wed Oct 2 20:33:55 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: 832659 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 76CE081720 for ; Wed, 2 Oct 2024 20:36:14 +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=1727901379; cv=none; b=dYIzpgDHPi6YT4Bk6+9I5Yvkj6RzBF5GhVB0JxGuWdg6rOO6xQvYqXLfNO3NKOdEtyyMAZTcOLPte4QrnIudiqitMfnidI5pM/Dw7N6H/74KfvMrMkpMBy46di7FNkDltqeAgfd/3xoCoTSUcW1jYEfOoNmmjsuho2vMM63w1Kw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901379; c=relaxed/simple; bh=BsYA2Le1juae9iS6Gt0rricx3oJfJiscZpVzkvDo3I4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q7IKO4G/eiLNj/Ywch06EZk2QaJaBCpf4/a0znYv3JRW/Nzy5KWu2VaLiUFY6F1+FVPOvZ5IOJ/kB31u6DOG0MkPb2LHHleo3rF/NPpQJCJYlp1ILbUqMJ44DTXF+123ef2J3Pk9EUYljFTPTpVeMsicsM7i5WaaMIfDK+WDqKU= 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=LiNQfbr+; 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="LiNQfbr+" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmmY6MJ5zlgMWC; Wed, 2 Oct 2024 20:36:13 +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=1727901354; x=1730493355; bh=PUkyh r1U45aF/5b98AJyreFjuiApLWmLaAbnCK4NYJw=; b=LiNQfbr+aAKstjnTGIMnv RyfeovVA4KZRTUhn1guuYuYDb15jnaUc8jv9ufZLBqEZXrHYy6rY/CG80gLj0xIL 75lcn0t5Xr/wPbWnxUFWIRyJG5uEi9ag0whFIkUqTaz300hH9t19wb+YBU8cqKjN NyAdz6+eSAcwaE111R28XjPuM/VVD/95iQ+17v8DEVZQfjJmNeB3ZUPBB+dAFJa2 Vp42wJOXRwGTb6Yh9/uPPwuOIg202KykZUIQzcCwZH7ofc/DB960q4hNOdGgRlRl dYMikYMiPr4xahazR+dEoLIJ7I9TZFD71WhYKLj2Rl/DUupy3HLfPgJdzcy7rGRI 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 iEcix-9VKLYm; Wed, 2 Oct 2024 20:35:54 +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 4XJmmB3tp2zlgMW9; Wed, 2 Oct 2024 20:35:54 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Jonathan Corbet Subject: [PATCH v2 03/11] scsi: lpfc: Remove the changelog Date: Wed, 2 Oct 2024 13:33:55 -0700 Message-ID: <20241002203528.4104996-4-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 Except for spelling fixes, the LPFC changelog hasn't been updated in the nineteen years since it was added to the kernel tree. Since we typically don't maintain changelogs as text files in the kernel tree, remove this file. Signed-off-by: Bart Van Assche Reviewed-by: Damien Le Moal --- Documentation/scsi/ChangeLog.lpfc | 1865 ----------------------------- 1 file changed, 1865 deletions(-) delete mode 100644 Documentation/scsi/ChangeLog.lpfc diff --git a/Documentation/scsi/ChangeLog.lpfc b/Documentation/scsi/ChangeLog.lpfc deleted file mode 100644 index ccc48b8359bf..000000000000 --- a/Documentation/scsi/ChangeLog.lpfc +++ /dev/null @@ -1,1865 +0,0 @@ -Known issues : - * Please read the associated RELEASE-NOTES file !!! - * This source release intended for upstream kernel releases only! - -Changes from 20050323 to 20050413 - - * Changed version number to 8.0.28 - * Fixed build warning for 2.6.12-rc2 kernels: mempool_alloc now - requires a function which takes an unsigned int for gfp_flags. - * Removed pci dma sync calls to coherent/consistent pci memory. - * Merged patch from Christoph Hellwig : split helpers - for fabric and nport logins out of lpfc_cmpl_els_flogi. - * Removed sysfs attributes that are used to dump the various - discovery lists. - * Fix for issue where not all luns are seen. Search all lists - other than unmap list in lpfc_find_target(). Otherwise INQUIRY - to luns on nodes in NPR or other relevant states (PLOGI, - PRLI...) are errored back and scan() terminates. - * Removed FC_TRANSPORT_PATCHESxxx defines. They're in 2.6.12-rc1. - * Compare return value of lpfc_scsi_tgt_reset against SCSI - midlayer codes SUCCESS/FAILED which that function returns rather - than SLI return code. - * Removed extraneous calls to lpfc_sli_next_iotag which should - only be called from lpfc_sli_submit_iocb. Also make - lpfc_sli_next_iotag static. - * Added PCI ID for LP10000-S. - * Changes in lpfc_abort_handler(): Return SUCCESS if we did not - find command in both TX and TX completion queues. Return ERROR - if we timed out waiting for command to complete after abort was - issued. - * Zero-out response sense length in lpfc_scsi_prep_cmnd to prevent - interpretation of stale sense length when the command completes - - was causing spurious 0710 messages. - * Moved clearing of host_scribble inside host_lock in IO - completion path. - * Fixed a bunch of mixed tab/space indentation. - * Allow hex format numbers in sysfs attribute setting. Fix - application hang when invalid numbers are used in sysfs - settings. - * Removed extra iotag allocation by lpfc_abort_handler. - * Clear host_scribble in the scsi_cmnd structure when failing in - queuecommand. - * Changed logic at top of lpfc_abort_handler so that if the - command's host_scibble field is NULL, return SUCCESS because the - driver has already returned the command to the midlayer. - -Changes from 20050308 to 20050323 - - * Changed version number to 8.0.27 - * Changed a few lines from patch submitted by Christoph Hellwig - (3/19). MAILBOX_WSIZE * (uint32_t) is replaced with an - equivalent MAILBOX_CMDSIZE macro. - * Merged patch from Christoph Hellwig (3/19): some misc patches - against the latest drivers: - - stop using volatile. if you need special ordering use memory - barriers but that doesn't seem to be the case here - - switch lpfc_sli_pcimem_bcopy to take void * arguments. - - remove typecast for constants - a U postfix marks them - unsigned int in C - - add a MAILBOX_CMD_SIZE macro, as most users of - MAILBOX_CMD_WSIZE didn't really want the word count - - kill struct lpfc_scsi_dma_buf and embedded the two members - directly in struct lpfc_scsi_buf - - don't call dma_sync function on allocations from - pci_pool_alloc - it's only for streaming mappings (pci_map_*) - * Merged patch from Christoph Hellwig (3/19) - nlp_failMask isn't - ever used by the driver, just reported to userspace (and that in - a multi-value file which is against the sysfs guidelines). - * Change pci_module_init to pci_register_module() with appropriate - ifdefs. - * Added #include as required by the DMA - 32bit and 64bit defines on some archs. - * Merged patch from Christoph Hellwig (03/19) - fix initialization - order - scsi_add_host must happen last from scsi POV. Also some - minor style/comment fixups. - * Fixed use of TRANSPORT_PATCHES_V2 by changing to - FC_TRANSPORT_PATCHES_V2. - -Changes from 20050223 to 20050308 - - * Changed version number to 8.0.26 - * Revise TRANSPORT_PATCHES_V2 so that lpfc_target is removed and - rport data is used instead. Removed device_queue_hash[]. - * Changed RW attributes of scan_down, max_luns and fcp_bind_method - to R only. - * Fixed RSCN handling during initial link initialization. - * Fixed issue with receiving PLOGI handling when node is on NPR - list and marked for ADISC. - * Fixed RSCN timeout issues. - * Reduced severity of "SCSI layer issued abort device" message to - KERN_WARNING. - * Feedback from Christoph Hellwig (on 2/5) - In the LPFC_EVT_SCAN - case the caller already has the target ID handly, so pass that - one in evt_arg1. - * Fix compile warning/resultant panic in - lpfc_register_remote_port(). - -Changes from 20050215 to 20050223 - - * Changed version number to 8.0.25 - * Add appropriate comments to lpfc_sli.c. - * Use DMA_64BIT_MASK and DMA_32BIT_MASK defines instead of - 0xffffffffffffffffULL & 0xffffffffULL respectively. Use pci - equivalents instead of dma_set_mask and also modify condition - clause to actually exit on error condition. - * Restart els timeout handler only if txcmplq_cnt. On submission, - mod_timer the els_tmofunc. This prevents the worker thread from - waking up the els_tmo handler un-necessarily. The thread was - being woken up even when there were no pending els commands. - * Added new typedefs for abort and reset functions. - * Collapsed lpfc_sli_abort_iocb_xxx into a single function. - * Collapsed lpfc_sli_sum_iocb_xxx into a single function. - * Removed TXQ from all abort and reset handlers since it is never - used. - * Fixed Oops panic in 8.0.23 (reported on SourceForge). The - driver was not handling LPFC_IO_POLL cases correctly in - fast_ring_event and was setting the tgt_reset timeout to 0 in - lpfc_reset_bus_handler. This 0 timeout would not allow the FW - to timeout ABTS's on bad targets and allow the driver to have an - iocb on two lists. Also split the lpfc_sli_ringtxcmpl_get - function into two routines to match the fast and slow completion - semantics - ELS completions worked for the wrong reasons. Also - provided new log message number - had two 0326 entries. - * Removed unused #define LPFC_SCSI_INITIAL_BPL_SIZE. - * Removed unused struct lpfc_node_farp_pend definition. - * Removed unused #define LPFC_SLIM2_PAGE_AREA. - * Changed zeros used as pointers to NULL. - * Removed unneeded braces around single line in lpfc_do_work. - * Close humongous memory leak in lpfc_sli.c - driver was losing 13 - iocbq structures per LIP. - * Removed last of GFP_ATOMIC allocations. - * Locks are not taken outside of nportdisc, hbadisc, els and most - of the init, sli, mbox and ct groups of functions - * Fix comment for lpfc_sli_iocb_cmd_type to fit within 80 columns. - * Replaced wait_event() with wait_event_interruptible(). - wait_event() puts the woker thread in an UNINTERRUPTIBLE state - causing it to figure in load average calculations. Also add a - BUG_ON to the ret code of wait_event_interruptible() since the - premise is that the worker thread is signal-immune. - -Changes from 20050208 to 20050215 - - * Changed version number to 8.0.24 - * Fixed a memory leak of iocbq structure. For ELS solicited iocbs - sli layer now frees the response iocbs after processing it. - * Closed large memory leak -- we were losing 13 iocbq structures - per LIP. - * Changing EIO and ENOMEM to -EIO and -ENOMEM respectively. - * Cleanup of lpfc_sli_iocb_cmd_type array and typing of iocb type. - * Implemented Christoph Hellwig's feedback from 02/05: Remove - macros putLunHigh, putLunLow. Use lpfc_put_lun() inline instead. - * Integrated Christoph Hellwig's feedback from 02/05: Instead of - cpu_to_be32(), use swab16((uint16_t)lun). This is the same as - "swab16() on LE" and "<<16 on BE". - * Added updates for revised FC remote port patch (dev_loss_tmo - moved to rport, hostdata renamed dd_data, add fc_remote_host() - on shutdown). - * Removed unnecessary function prototype. - * Added code to prevent waking up worker thread after the exit of - worker thread. Fixes panic seen with insmod/rmmod testing with - 70 disks. - * Integrated Christoph Hellwig's patch from 1/30: Make some - variables/code static (namely lpfcAlpaArray and - process_nodev_timeout()). - * Integrated Christoph Hellwig's patch from 1/30: Use - switch...case instead of if...else if...else if while decoding - JDEC id. - -Changes from 20050201 to 20050208 - - * Changed version number to 8.0.23 - * Make lpfc_work_done, lpfc_get_scsi_buf, - lpfc_mbx_process_link_up, lpfc_mbx_issue_link_down and - lpfc_sli_chipset_init static. - * Cleaned up references to list_head->next field in the driver. - * Replaced lpfc_discq_post_event with lpfc_workq_post_event. - * Implemented Christoph Hellwig's review from 2/5: Check for return - values of kmalloc. - * Integrated Christoph Hellwig's patch from 1/30: Protecting - scan_tmo and friends in !FC_TRANSPORT_PATCHES_V2 && - !USE_SCAN_TARGET. - * Integrated Christoph Hellwig's patch from 1/30: Some fixes in - the evt handling area. - * Integrated Christoph Hellwig's patch from 1/30: Remove usage of - intr_inited variable. The interrupt initialization from OS side - now happens in lpfc_probe_one(). - * Integrated Christoph Hellwig's patch from 1/30: remove shim - lpfc_alloc_transport_attr - remove shim lpfc_alloc_shost_attrs - - remove shim lpfc_scsi_host_init - allocate phba mem in scsi's - hostdata readjust code so that they are no use after free's - (don't use after scsi_host_put) - make lpfc_alloc_sysfs_attr - return errors - * Fixed panic in lpfc_probe_one(). Do not delete in a list - iterator that is not safe. - * Clean up fast lookup array of the fcp_ring when aborting iocbs. - * Following timeout handlers moved to the lpfc worker thread: - lpfc_disc_timeout, lpfc_els_timeout, lpfc_mbox, lpfc_fdmi_tmo, - lpfc_nodev_timeout, lpfc_els_retry_delay. - * Removed unused NLP_NS_NODE #define. - * Integrated Christoph Hellwig's patch from 1/30: remove unused - lpfc_hba_list; remove unused lpfc_rdrev_wd30; remove - lpfc_get_brd_no and use Linux provided IDR. - * Changed board reset procedure so that lpfc_sli_send_reset() - writes the INITFF bit and leaves lpfc_sli_brdreset() to clear - the bit. - * Removed outfcpio sysfs device attribute. - * VPD changes: 1) Modify driver to use the model name and - description from the VPD data if it exists 2) Rework use of DUMP - mailbox command to support HBAs with 256 bytes of SLIM. - * Fixed compile error for implicit definition of struct - scsi_target - -Changes from 20050124 to 20050201 - - * Changed version number to 8.0.22 - * Moved discovery timeout handler to worker thread. There are - function calls in this function which are not safe to call from - HW interrupt context. - * Removed free_irq from the error path of HBA initialization. - This will fix the free of uninitialised IRQ when config_port - fails. - * Make sure function which processes unsolicited IOCBs on ELS ring - still is called with the lock held. - * Clear LA bit from work_ha when we are not supposed to handle LA. - * Fix double locking bug in the error handling part of - lpfc_mbx_cmpl_read_la. - * Implemented fast IOCB processing for FCP ring. - * Since mboxes are now unconditionally allocated outside of the - lock, free them in cases where they are not used. - * Moved out a couple of GFP_ATOMICs in lpfc_disc_timeout, to - before locks so that they can GFP_KERNEL instead. Also cleaned - up code. - * Collapsed interrupt handling code into one function. - * Removed event posting and handling of solicited and unsolicited - iocbs. - * Remove ELS ring handling leftovers from the lpfc_sli_inter(). - * ELS ring (any slow ring) moved from the lpfc_sli_inter() into a - worker thread. Link Attention, Mbox Attention, and Error - Attention, as well as slow rings' attention is passed to the - worker thread via worker thread copy of Host Attention - register. Corresponding events are removed from the event queue - handling. - * Add entries to hba structure to delegate some functionality from - the lpfc_sli_inter() to a worker thread. - * Reduced used of GFP_ATOMIC for memory allocations. - * Moved locks deeper in order to change GFP_ATOMIC to GFP_KERNEL. - * IOCB initialization fix for Raw IO. - * Removed qcmdcnt, iodonecnt, errcnt from lpfc_target and from - driver. - * Added call to lpfc_els_abort in lpfc_free_node. Modified - lpfc_els_abort to reset txq and txcmplq iterator after a - iocb_cmpl call. - * Fixed a use after free issue in lpfc_init.c. - * Defined default mailbox completion routine and removed code in - the sli layer which checks the mbox_cmpl == 0 to free mail box - resources. - * In lpfc_workq_post_event, clean up comment formatting and remove - unneeded cast of kmalloc's return. - * Removed loop which calls fc_remote_port_unblock and - fc_remote_port_delete for every target as this same effect is - accomplished by the scsi_remove_host call. - * Minor cleanup of header files. Stop header files including - other header files. Removed sentinels which hide multiple - inclusions. Removed unneeded #include directives. - * Fixed memory leaks in mailbox error paths. - * Moved lock from around of lpfc_work_done to lpfc_work_done - itself. - * Removed typedef for LPFC_WORK_EVT_t and left just struct - lpfc_work_evt to comply with linux_scsi review coding style. - * Fixed some trailing whitespaces, spaces used for indentation and - ill-formatting multiline comments. - * Bug fix for Raw IO errors. Reuse of IOCBs now mandates setting - of ulpPU and fcpi_parm to avoid incorrect read check of Write IO - and incorrect read length. - -Changes from 20050110 to 20050124 - - * Changed version number to 8.0.21 - * Removed unpleasant casting in the definition and use of - lpfc_disc_action function pointer array. - * Makefile cleanup. Use ?= operator for setting default - KERNELVERSION and BASEINCLUDE values. Use $(PWD) consistently. - * Removed call to lpfc_sli_intr from lpfc_config_port_post. All - Linux systems will service hardware interrupts while bringing up - the driver. - * Christoph Hellwig change request: Reorg of contents of - lpfc_hbadisc.c, lpfc_scsi.h, lpfc_init.c, lpfc_sli.c, - lpfc_attr.c, lpfc_scsi.c. - * Renamed discovery thread to lpfc_worker thread. Moved handling - of error attention and link attention and mbox event handler to - lpfc_worker thread. - * Removed .proc_info and .proc_name from the driver template and - associated code. - * Removed check of FC_UNLOADING flag in lpfc_queuecommand to - determine what result to return. - * Move modification of FC_UNLOADING flag under host_lock. - * Fix IOERR_RCV_BUFFER_WAITING handling for CT and ELS subsystem. - * Workaround firmware bug for IOERR_RCV_BUFFER_WAITING on ELS - ring. - * Fixed a couple lpfc_post_buffer problems in lpfc_init.c. - * Add missing spaces to the parameter descriptions for - lpfc_cr_delay, lpfc_cr_count and lpfc_discovery_threads. - * Lock before calling lpfc_sli_hba_down(). - * Fix leak of "host" in the error path in the remove_one() path. - * Fix comment for lpfc_cr_count. It defaults to 1. - * Fix issue where we are calling lpfc_disc_done() recursively from - lpfc_linkdown(), but list_for_each_entry_safe() is not safe for - such use. - * Bump lpfc_discovery_threads (count of outstading ELS commands in - discovery) to 32 - * If the SCSI midlayer tries to recover from an error on a lun - while the corresponding target is in the NPR state, lpfc driver - will reject all the resets. This will cause the target to be - moved to offline state and block all the I/Os. The fix for this - is to delay the lun reset to a target which is not in MAPPED - state until the target is rediscovered or nodev timeout is - fired. - -Changes from 20041229 to 20050110 - - * Changed version number to 8.0.20 - * rport fix: use new fc_remote_port_rolechg() function instead of - direct structure change - * rport fix: last null pointer check - * Phase II of GFP_ATOMIC effort. Replaced iocb_mem_pool and - scsibuf_mem_pool with kmalloc and linked list. Inserted list - operations for mempool_alloc calls. General code cleanup. All - abort and reset routines converted. Handle_ring_event - converted. - * If the mbox_cmpl == lpfc_sli_wake_mbox_wait in - lpfc_sli_handle_mb_event, pmb->context1 points to a waitq. Do - not free the structure. - * rport fixes: fix for rmmod crash - * rport fixes: when receiving PRLI's, set node/rport role values - * rport fixes: fix for unload and for fabric port deletes - * VPD info bug fix. - * lpfc_linkdown() should be able to process all outstanding events - by calling lpfc_disc_done() even if it is called from - lpfc_disc_done() Moving all events from phba->dpc_disc to local - local_dpc_disc prevents those events from being processed. - Removing that queue. From now on we should not see "Illegal - State Transition" messages. - * Release host lock and enable interrupts when calling - del_timer_sync() - * All related to rports: Clean up issues with rport deletion - Convert to using block/unblock on list remove (was del/add) - Moved rport delete to freenode - so rport tracks node. - * rport fixes: for fport, get maxframe and class support - information - * Added use of wait_event to work with kthread interface. - * Ensure that scsi_transport_fc.h is always pulled in by - lpfc_scsiport.c - * In remote port changes: no longer nulling target->pnode when - removing from mapped list. Pnode get nulled when the node is - freed (after nodev tmo). This bug was causing i/o received in - the small window while the device was blocked to be errored w/ - did_no_connect. With the fix, it returns host_busy - (per the pre-remote port changes). - * Merge in support for fc transport remote port use. This removes - any consistent bindings within the driver. All scanning is now - on a per-target basis driven by the discovery engine. - -Changes from 20041220 to 20041229 - - * Changed version number to 8.0.19 - * Fixed bug for handling RSCN type 3. Terminate RSCN mode - properly after ADISC handling completes. - * Add list_remove_head macro. Macro cleans up memory allocation - list handling. Also clean up lpfc_reset_bus_handler - routine - does not need to allocate its own scsi_cmnd and scsi_device - structures. - * Fixed potential discovery bug, nlp list corrutpion fix potential - memory leak - * Part 1 of the memory allocation rework request by linux-scsi. - This effort fixes the number of bdes per scsi_buf to 64, makes - the scatter-gather count a module parameter, builds a linked - list of scsi_bufs, and removes all dependencies on lpfc_mem.h. - * Reverted lpfc_do_dpc, probe_one, remove_one to original - implementation. Too many problems (driver not completing - initial discovery, and IO not starting to disks). Backs out - kthread patch. - * Fix race condition in lpfc_do_dpc. If wake_up interrupt occurs - while lpfc_do_dpc is running disc_done and the dpc list is - empty, the latest insertion is missed and the schedule_timeout - does not wakeup. The sleep interval is MAX_SCHEDULE_TIMEOUT - defined as ~0UL >> 1, a very large number. Hacked it to 5*HZ - for now. - * Fixed bug introduced when discovery thread implementation was - moved to kthread. kthread_stop() is not able to wake up thread - waiting on a semaphore and "modprobe -r lpfc" is not always - (most of the times) able to complete. Fix is in not using - semaphore for the interruptible sleep. - * Small Makefile cleanup - Remove remnants of 2.4 vs. 2.6 - determination. - -Changes from 20041213 to 20041220 - - * Changed version number to 8.0.18 - * Janitorial cleanup after removal of sliinit and ringinit[] ring - statistic is owned by the ring and SLI stats are in sli - structure. - * Integrated patch from Christoph Hellwig Kill - compile warnings on 64 bit platforms: %variables for %llx format - specifiers must be cast to long long because %(u)int64_t can - just be long on 64bit platforms. - * Integrated patch from Christoph Hellwig Removes - dead code. - * Integrated patch from Christoph Hellwig : use - kthread interface. - * Print LPFC_MODULE_DESC banner in module init routine. - * Removed sliinit structure and ringinit[] array. - * Changed log message number from 324 to 326 in lpfc_sli.c. - * Wait longer for commands to complete in lpfc_reset_bus_handler - and lpfc_reset_bus_handler. Also use schedule_timeout() instead - of msleep() and add error message in lpfc_abort_handler() - * When setting lpfc_nodev_tmo, from dev_loss set routine, make 1 - sec minimum value. - * Functions which assume lock being held were called without lock - and kernel complained about unlocking lock which is not locked. - * Added code in linkdown to unreg if we know login session will be - terminated. - * Removed automap config parameter and fixed up use_adisc logic to - include FCP2 devices. - -Changes from 20041207 to 20041213 - - * Changed version number to 8.0.17 - * Fix sparse warnings by adding __iomem markers to lpfc_compat.h. - * Fix some sparse warnings -- 0 used as NULL pointer. - * Make sure there's a space between every if and its (. - * Fix some overly long lines and make sure hard tabs are used for - indentation. - * Remove all trailing whitespace. - * Integrate Christoph Hellwig's patch for 8.0.14: if - pci_module_init fails we need to release the transport template. - (also don't print the driver name at startup, linux drivers can - be loaded without hardware present, and noise in the log for - that case is considered unpolite, better print messages only for - hardware actually found). - * Integrate Christoph Hellwig's patch for 8.0.14: Add missing - __iomem annotations, remove broken casts, mark functions static. - Only major changes is changing of some offsets from word-based to - byte-based so we can simply do void pointer arithmetic (gcc - extension) instead of casting to uint32_t. - * Integrate Christoph Hellwig's patch for 8.0.14: flag is always - LPFC_SLI_ABORT_IMED, aka 0 - remove dead code. - * Modified preprocessor #ifdef, #if, #ifndef to reflect upstream - kernel submission. Clean build with make clean;make and make - clean;make ADVANCED=1 on SMP x86, 2.6.10-rc2 on RHEL 4 Beta - 1. IO with a few lips and a long cable pull behaved accordingly. - * Implement full VPD support. - * Abort handler will try to wait for abort completion before - returning. Fixes some panics in iocb completion code path. - -Changes from 20041130 to 20041207 - - * Changed version number to 8.0.16 - * Hung dt session fix. When the midlayer calls to abort a scsi - command, make sure the driver does not complete post-abort - handler. Just NULL the iocb_cmpl callback handler and let SLI - take over. - * Add Read check that uses SLI option to validate all READ data - actually received. - - -Changes from 20041123 to 20041130 - - * Changed version number to 8.0.15 - * Ifdef'd unused "binary" attributes by DFC_DEBUG for clean - compiles - * Stop DID_ERROR from showing up along with QUEUE_FULL set by the - Clarion array (SCSI error ret. val. 0x70028) There is no need - for driver to hard fail command which was failed by the target - device. - * Fix for Scsi device scan bug reported on SourceForge. Driver - was returning a DID_ERROR in lpfc_handle_fcp_error causing - midlayer to mark report luns as failing even though it - succeeded. - * Don't ignore SCSI status on underrun conditions for inquiries, - test unit ready's, etc. This was causing us to lose - reservation conflicts, etc - -Changes from 20041018 to 20041123 - - * Changed version number to 8.0.14 - * Added new function "iterator" lpfc_sli_next_iocb_slot() which - returns pointer to iocb entry at cmdidx if queue is not full. - It also updates next_cmdidx, and local_getidx (but not cmdidx) - * lpfc_sli_submit_iocb() copies next_cmdidx into cmdidx. Now it is - the only place were we are updating cmdidx. - * lpfc_sli_update_ring() is split in to two -- - lpfc_sli_update_ring() and lpfc_sli_update_full_ring(). - * lpfc_sli_update_ring() don't to read back correct value of - cmdidx. - * Simplified lpfc_sli_resume_iocb() and its use. - * New static function lpfc_sli_next_iocb(phba, pring, &piocb) to - iterate through commands in the TX queue and new command (at the - end). - * Reduced max_lun to 256 (due to issues reported to some arrays). - Fixed comment, and macro values so def=256, min=1, max=32768. - * Fix an obvious typo/bug: kfree was used to free lpfc_scsi_buf - instead of mempool_free in lpfc_scsiport.c. - * Suppress nodev_tmo message for FABRIC nodes. - * Fixed some usage of plain integer as NULL pointer. - * Bug fix for FLOGI cmpl, lpfc_els_chk_latt error path code - cleanup. - * Fixup lpfc_els_chk_latt() to have Fabric NPorts go thru - discovery state machine as well. - * Fixes to lpfc_els_chk_latt(). - * Use DID not SCSI target id as a port_id and add some missing - locks in lpfc_fcp.c. - * Changed eh_abort_handler to return FAILED if command is not - found in driver. - * Fix crash: paging request at virtual address 0000000000100108 - - a result of removing from the txcmpl list item which was already - removed (100100 is a LIST_POISON1 value from the next pointer - and 8 is an offset of the "prev") Driver runs out of iotags and - does not handle that case well. The root of the problem is in the - initialization code in lpfc_sli.c - * Changes to work with proposed linux kernel patch to support - hotplug. - * Zero out seg_cnt in prep_io failure path to prevent double sg - unmap calls. - * Fix setting of upper 32 bits for Host Group Ring Pointers if in - SLIM. Old code was inappropriately masking off low order bits. - * Use scsi_[activate|deactivate]_tcq calls provided in scsi_tcq.h. - * Integrated patch from Christoph Hellwig (hch@lst.de): don't call - pci_dma_sync_* on coherent memory. pci_dma_sync_* is need and - must be used only with streaming dma mappings pci_map_*, not - coherent mappings. Note: There are more consistent mappings - that are using pci_dma_sync calls. Probably these should be - removed as well. - * Modified lpfc_free_scsi_buf to accommodate all three scsi_buf - free types to alleviate miscellaneous panics with cable pull - testing. - * Set hotplug to default 0 and lpfc_target_remove to not remove - devices unless hotplug is enabled. - * Fixed discovery bug: plogi cmpl uses ndlp after its freed. - * Fixed discovery bug: rnid acc cmpl, can potentially use ndlp - after its freed. - * Modularize code path in lpfc_target_remove(). - * Changes to support SCSI hotplug (ifdef'ed out because they need - kernel support USE_SCAN_TARGET requires kernel support to export - the interface to scsi_scan_target and to move the SCAN_WILD_CARD - define to a general scsi header file. USE_RESCAN_HOST requires - kernel support to export an interface to scan_scsi_host() with - the rescan flag turned on). - * Removed redundant variable declaration of lpfc_linkdown_tmo. - * Fix for large port count remove test. - * Added check to see if BAR1 register is valid before using BAR1 - register for programming config_port mail box command. - * Added lpfc_scsi_hotplug to enable/disable driver support of SCSI - hotplug. - * Changed lpfc_disc_neverdev() to lpfc_disc_illegal() and changed - lpfc_disc_nodev() to lpfc_disc_noop(). Adjusted appropriate - events to use these routines. - * Add support for SCSI device hotplug. - * Take dummy lpfc_target's into account for lpfc_slave_destroy(). - * Bug fix to store WWPN / WWNN in NameServer / FDMI lpfc_nodelist - entries. - * Added slavecnt in lpfc_target for diagnostic purposes. - * Added lpfc_hba load/unload flags to take care of special cases - for add/remove device. - * Have target add/remove delay before scanning. - * Have rmmod path cleanup blocked devices before scsi_remove_host. - * Added a #define for msleep for 2.6.5 kernels. - * In reset bus handler if memory allocation fails, return FAILED - and not SUCCESS. - * Have lpfc eh handlers, bus_reset and lun_reset, wait for all - associated I/Os to complete before returning. - * Fix memset byte count in lpfc_hba_init so that - LP1050 would initialize correctly. - * Background nodev_timeout processing to DPC. This enables us to - unblock (stop dev_loss_tmo) when appropriate. - * Fix array discovery with multiple luns. The max_luns was 0 at - the time the host structure was initialized. lpfc_cfg_params - then set the max_luns to the correct value afterwards. - * Remove unused define LPFC_MAX_LUN and set the default value of - lpfc_max_lun parameter to 512. - * Reduced stack usage of lpfc_hba_init. - * Cleaned up the following warning generated by - scripts/checkincludes.pl lpfc_fcp.c: scsi/scsi_cmnd.h is - included more than once. - * Replaced "set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(timeout)" with "msleep(timeout)". - * Fixnode was losing starget when rediscovered. We saw messages - like: lpfc 0000:04:02.0: 0:0263 Cannot block scsi target as a - result. Moved starget field into struct lpfc_target which is - referenced from the node. - * Add additional SLI layer logging in lpfc_sli.c. - * Ignore more unexpected completions in lpfc_nportdisc.c. - * Can not call lpfc_target_unblock from the soft interrupt - context. It seems to be not nessasery to unblock target from - nodev timeout. - * Introduce and use less lethal event handler for unexpected - events in lpfc_nportdisc.c. - * Can not call fc_target_(un)block() functions with interrupts - disabled in lpfc_scsiport.c. - * Added new configuration parameter, lpfc_max_luns range 1-32768, - default 32768. - * Allow lpfc_fcp.c to call lpfc_get_hba_sym_node_name(). - * Increase nodev timeout from 20 seconds to 30 seconds. - * Replace some kfree((void*)ptr) with kfree(ptr). - * Make 3 functions static: lpfc_get_hba_sym_node_name, - lpfc_intr_prep and lpfc_setup_slim_access. Move lpfc_intr_prep - and lpfc_setup_slim_access so they're defined before being used. - * Remove an unnecessary list_del() in lpfc_hbadisc.c. - * Set nlp_state before calling lpfc_nlp_list() since this will - potentially call fc_target_unblock which may cause a race in - queuecommand by releasing host_lock. - * Since lpfc_nodev_tmo < dev_loss_tmo remove queuecommand - DID_BAD_TARGET return for now. - * Fix a problem with rcv logo. - * Remove unused portstatistics_t structure. - * Remove #if 0 and unnecessary checks in lpfc_fcp.c. - * Simplify lpfc_issue_lip: Extra layer of protection removed. - * Grab lock before calling lpfc_sli_issue_mbox(phba, pmb, - MBX_NOWAIT) in lpfc_sli_issue_mbox_wait(). - -Changes from 20040920 to 20041018 - - * Changed version number to 8.0.13 - * Hide some attributes using #ifndef DFC_DEBUG ... #endif. - * Modify Makefile to (1) make BUILD_NO_DEBUG=1 will hide some - (binary) attributes (2) make BUILD_FC_TRANS=0 will build driver - for 2.6.5 kernel with block/unblock patch. - * Modified #ifdef names. - * Added support for proposed FC transport host attributes (which - replaces some of the attributes we had local to the driver). - Removed the binary statistics sysfs attribute. - * Added extra ELS verbose logging for ELS responses. - * Added recognition for BUILD_FC_TRANS=2 to Makefile to define - FC_TRANS_VER2. - * Add a pointer for link stats allocation. - * Exported lpfc_get_hba_sym_node_name for use by FC_TRANS_VER2 - sysfs routines. - * Fix discovery problem in lip testing: if device sends an ELS cmd - (i.e. LOGO) before our FLOGI completes it should be LS_RJT'ed. - * Moved #defines around to provide target_add/remove for upstream - kernel deliverables only not SLES9. Provided ifdefs to #include - target_block/unblock only if FC_TRANS_VER1. - * Add sanity check in lpfc_nlp_list move setting nlp_Target - outside #ifdef. - * Added a blocked member to the lpfc_target structure for - block/unblock. This member allows the driver to know when to - unblock for pci_remove_one or pci_add_one. #ifdef'd some more - block/unblock stuff and removed some defensive checks from - target_block/unblock. - * Moved + 5 second window to dev_loss_tmo setting and updated - comments. - * Removed NULL target check from target_block/unblock and fixed up - a few comments. - * Enable sysfs attributes on 2.6.5 kernels and remove extra - compatibility code. - * Remove any and all trailing whitespace. - * Added message 0718 and return error when dma_map_single fails. - * Changed the fcpCntl2 commands to include an FCP_ prefix to get - rid of build warnings on later 2.6.9-rc kernels. Build - conflicts with scsi/scsi.h. Remove inclusions of scsi/scsi.h - from hbadisc.c, sli.c, and fcp.c since these modules had no - dependencies on scsi.h. - * Fixed a bug with RSCN handling. A RSCN received on one device, - shouldn't affect other devices not referenced by the RSCN. - * Moved #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,6) to include - lpfc_jedec_to_ascii to prevent warning in SLES 9. - * Update Makefile to account for SLES 9 and scsi-target upstream - kernel. - * This checkin provides block/unblock hooks for the upstream scsi - target kernel and 2.6.5 on SLES9 SP1 with the block/unblock - patch. - * Discovery changes regarding setting targetp->pnode and - ndlp->nlp_Target Ensure fc_target_* routines are called properly - from discovery. Remove list_del's from lpfc_cleanup(). Ensure - all the lpfc_consistent_bind_* routines don't set any driver - structure objects. - * Fix for timeout of READ_LA or READ_SPARAM mailbox command - causing panic. - * Cleanup list_del()'s for Discovery ndlp lists. - * Bug fixes for some insmod/rmmod crashes, link down crashes and - device loss crashes. - * Removed NLP_SEARCH_DEQUE. - * Call lpfc_target_unblock only if the targetp is nonNull and with - the host_lock held. - * Added qcmdcnt back along with misc bug fixes to discovery. - * Changed tgt_io to outfcpio lpfc_fcp.c. - * Fixed errors caused by LIP and cable pulls both with and without - block/unblock patch. - * For now we have to call fc_target_unblock and fc_target_block - with interrupts enabled. - * Save seg_cnt from dma_map_sg. Save scatter-gather start address - and pass back to dma_unmap_sg in error with seg_cnt. - * Incorporating block/unblock calls into driver with ifdefs. This - change is supported by scsi-target-2.6 kernel and forward only. - * Merged in some discovery bug fixes and added tgt io counters. - * Added sysfs attributes/interfaces: read only attribute - "management_version" and write only attribute "issue_lip". - * Fix build on big endian machines: while #if was OK with - __BIG_ENDIAN which defined as 4321, __BIG_ENDIAN_BITFIELD has to - be tested with #ifdef because it does not have any value, it is - either defined or not. - * Add fabric_name and port_type attributes. - * Change mdelay to msleep. mdelay works, but wastefully uses cpu - resources without a lock held. Revert to msleep. Tested with - sg_reset for bus and three attached targets. - * Added the customary #ifndef...#define...#endif to - lpfc_version.h. - * Integrate patches from Christoph Hellwig: two new helpers common - to lpfc_sli_resume_iocb and lpfc_sli_issue_iocb - singificant - cleanup of those two functions - the unused SLI_IOCB_USE_TXQ is - gone - lpfc_sli_issue_iocb_wait loses its flags argument - totally. - * Fix in lpfc_sli.c: we can not store a 5 bit value in a 4-bit - field. - * Moved some routines out of lpfc_fcp.c into more appropriate - files. - * Whitespace cleanup: remove all trailing whitespace. - * Make lpfc_disc_ndlp_show static to lpfc_fcp.c. - * Remove leftover printk and replace some with - printk(KERN_WARNING) - * Trivial: fix a few long lines and a soft tab. - * Remove warnings generated by Sparse against driver (make - C=1). Mostly these are "using integer as pointer warnings" - i.e. use NULL instead of 0. - * Integrated patch from Christoph Hellwig: Quite a lot of changes - here, the most notable is that the phba->slim2p lpfc_dmabuf goes - away in favour of a typede pointer and a dma_addr_t. Due to the - typed pointer lots of the cast mess can go away, and while at it - I also replaced the messy SLI2_SLIM_t with a simple struct - lpfc2_sli2_slim that only contains the part of the union we care - about while using SLI2_SLIM_SIZE for all size calculations - directly. - * Integrated patch from Christoph Hellwig: This streamlines the - I/O completion path a little more, especially taking care of - fast-pathing the non-error case. Also removes tons of dead - members and defines from lpfc_scsi.h - e.g. lpfc_target is down - to nothing more than the lpfc_nodelist pointer. - * Added binary sysfs file to issue mbox commands - * Replaced #if __BIG_ENDIAN with #if __BIG_ENDIAN_BITFIELD for - compatibility with the user space applications. - * Decrease the amount of data in proc_info. - * Condense nodelist flag members. - * Expand INFO for discovery sysfs shost entries. - * Notify user if information exceeds 4k sysfs limit. - * Removed a bunch of unused #defines. - * Added initial sysfs discovery shost attributes. - * Remove unused #defines lpfc_disc.h. - * Fixed failMask nodelist settings. - * Cleanup some old comments / unused variables. - * Add LP101 to list of recognized adapters. - -Changes from 20040908 to 20040920 - - * Changed version number to 8.0.12 - * Removed used #defines: DEFAULT_PCI_LATENCY_CLOCKS and - PCI_LATENCY_VALUE from lpfc_hw.h. - * Changes to accommodate rnid. - * Fix RSCN handling so RSCN NS queries only effect NPorts found in - RSCN data. - * If we rcv a plogi on a NPort queued up for discovery, clear the - NLP_NPR_2B_DISC bit since rcv plogi logic will force NPort thru - discovery. - * Ensure lpfc_target is also cleaned up in lpfc_cleanup(). - * Preliminary changes for block/unblock kernel API extensions in - progress with linux-scsi list. These are name changes and - prototype changes only. - * Added send_abts flag to lpfc_els_abort. For rcv LOGO when ADISC - sent, the XRI of the LOGO rcv'ed is the same as the ADISC - sent. Thus we cannot ABTS the ADISC before sending the LOGO ACC. - * Weed out some unused fc_flags. Add FC_DISC_TMO. - * board_online sysfs attribute added to support libdfc functions - InitDiagEnv and SetBrdEnv. - * Streamline code in lpfc_els_retry fixup abort case in - lpfc_els_timeout_handler(). - * Flush discovery/ELS events when we bring SLI layer down. - * ctlreg and slimem binary attributes added to support libdfc - read/write mem/ctl functions. - * Integrated Christoph Hellwig's patch: Cleanup - lpfc_sli_ringpostbuf_get. - * Modified lpfc_slave_alloc and lpfc_slave_destroy to allocate and - free a dummy target pointer. This allows queuecommand to skip - the NULL target pointer check and avoid the console spam when - slave_alloc fails. - * Fix cfg_scan_down logic, it was reversed. - * Init list head ctrspbuflist. - * Change name of lpfc_driver_abort to lpfc_els_abort since it is - only valid for ELS ring. - * Remove unused third argument for lpfc_consistent_bind_get(). - * Fix up iotag fields in lpfc_prep_els_iocb(). - * Remove log message on code path triggered by lpfc_els_abort(). - * Set host->unique_id in lpfc_fcp.c. - * Removed deadwood: lpfc_target.pHba not necessary anymore. - * Integrated patch from Christoph Hellwig: remove dead - SLI_IOCB_POLL handling. - * Integrated patch from Christoph Hellwig: Streamline I/O - submission and completion path a little. - * Remove unnecessary lpfc_brd_no. Ensure brd_no assignment is - unique. - * Removed unused MAX_FCP_LUN. - * Use mod_timer instead of add_timer for fdmi in lpfc_ct.c. - * Fixed misc discovery problems. - * Move stopping timers till just before lpfc_mem_free() call. - * Fix up NameServer reglogin error path. - * Cleanup possible outstanding discovery timers on rmmod. - * Fix discovery NPort to NPort pt2pt problem. - * Get rid of ip_tmofunc / scsi_tmofunc. - * Integrated patch from Christoph Hellwig: - lpfc_disc_done/lpfc_do_dpc cleanup - lpfc_disc_done can return - void - move lpfc_do_dpc and lpfc_disc_done to lpfc_hbadisc.c - - remove checking of list emptiness before calling lpfc_disc_done, - it handles the empty list case just fine and the additional - instructions cost less then the bustlocked spinlock operations. - * Integrated patch from Christoph Hellwig: This adds a new 64bit - counter instead, brd_no isn't reused anymore. Also some tiny - whitespace cleanups in surrounding code. - * Reorder functions in lpfc_els.c to remove need for prototypes. - * Removed unused prototypes from lpfc_crtn.h - - lpfc_ip_timeout_handler, lpfc_read_pci and lpfc_revoke. - * Removed some unused prototypes from lpfc_crtn.h - - lpfc_scsi_hba_reset, lpfc_scsi_issue_inqsn, - lpfc_scsi_issue_inqp0, lpfc_scsi_timeout_handler. - * Integrated patch from Christoph Hellwig: remove TRUE/FALSE - usage. - * Integrated patch from Christoph Hellwig: Remove unused function - prototypes lpfc_set_pkt_len and lpfc_get_pkt_data from - lpfc_crtn.h - fixes build warnings. - * Removed unused struct lpfc_dmabufip definition from lpfc_mem.h. - * Removed pre-2.6.5 MODULE_VERSION macro from lpfc_compat.h. - * Fixing missing static and removing dead code. - * Adding nodewwn, portwwn and portfcid shost attributes. - * Initial support for CT via sysfs. request payloads of size less - than PAGE_SIZE and rsp payloads of size PAGE_SIZE are supported. - Driver maintains a list of rsp's and passes back rsp's - corresponding to the pid of the calling process. - * Support for RefreshInformation, GetAdapterAttributes, - GetPortStatistics. - * Make nodev-tmo default to 20 seconds. - * Fix up some DSM error cases, unreg_login rpi where needed. - * Fix up comments for fc_target_block / fc_target_unblock. - * Fix up code for scsi_block_requests / scsi_unblock_requests. - * Add NLP_FCP_TARGET for nodeinfo support. - * Move suspend/resume in lpfc_nlp_list under appropriate case - - Used host_lock for DPC to avoid race (remove dpc_lock) - * Fix some corner cases for PLOGI receive - simplify error case - for cmpl_reglogin_reglogin_issue. - * Bug fix for ppc64 EEH MMIO panic - always do readl after - writel's of HBA registers to force flush. - * Get rid of initial static routine declarations in lpfc_hbadisc.c - and lpfc_els.c. - * Updates to discovery processing. - -Changes from 20040823 to 20040908 - - * Changed version number to 8.0.11 - * Removed persistent binding code. - * Display both ASC and ASCQ info. - * Fixed link down->up transitions when linkdown tmo expires. Fix - was in the defensive error checking at the start of - queuecommand. - * Removed lpfc_scsi_timeout_handler as this timer is no longer - required. The midlayer will exhaust retries and then call - lpfc_abort_handler, lpfc_reset_lun_handler, and - lpfc_reset_target_handler. - * Minimal support for SCSI flat space addressing/volume set - addressing. Use 16 bits of LUN address so that flat - addressing/VSA will work. - * Changed 2 occurrences of if( 1 != f(x)) to if(f(x) != 1) - * Drop include of lpfc_cfgparm.h. - * Reduce stack usage of lpfc_fdmi_cmd in lpfc_ct.c. - * Add minimum range checking property to /sys write/store - functions. - * Fix display of node_name and port_name via fc transport - attr. - * Removed biosparam code. - * Removed range checking. phba->config[] array elements are now - embedded into the hba struct. lpfc_config_setup() has been - removed. - * Collapsed lpfc_scsi_cmd_start into lpfc_queuecommand and cleaned - up combined routines. - * Removed unused prototypes myprint and - lpfc_sched_service_high_priority_queue. - * Removed unused function lpfc_nodev. - * Removed scsi_cmnd->timeout_per_command cancelation. SCSI midlayer - now times out all commands - FW is instructed to not timeout. - * Removed polling code from lpfc_scsi_cmd_start. Reorganized - queuecommand and cmd_start some. - -Changes from 20040810 to 20040823 - - * Changed version number to 8.0.10 - * Additional timer changes as per Arjan / Christoph's comments. - * Used mod_timer() instead of del_timer_sync() where appropriate. - * Fixed a use after free case (panic on 2.6.8.1 with - CONFIG_DEBUG_SLAB set). - * Fix compile warning in lpfc_fcp.c. - * Minor fix for log message, that prints unassigned brdno which is - zero. - * Move scsi_host_alloc() to the beginning of probe_one(). This - ensures that host_lock is available at later stages and also - avoids tons of unnecessary initializing if host_alloc() - fails. - * Removed else clause from lpfc_slave_configure that set - sdev->queue_depth. The driver informs the midlayer of its - setting in the template and only overrides if queue tagging is - enabled. - * Added PCI_DEVICE_ID_ZEPHYR and PCI_DEVICE_ID_ZFLY (Junior - Zephyr) support - -Changes from 20040730 to 20040810 - - * Changed version number to 8.0.9 - * Removed per HBA driver lock. Driver now uses the host->host_lock - * Restored support for the 2.6.5 kernel for those linux distributions - shipped with the 2.6.5 kernel. - * Applied patch from Christoph Hellwig (hch@infradead.org) as follows - "[PATCH] use scsi host private data in ->proc_info. - * Applied patch from Christoph Hellwig (hch@infradead.org) as follows - "Re: [Emulex] Ready for next round. This patch cleans up the memory - allocation routines a little and fixes a missing mempool_destroy and - some missing error handling." - * Changed pointers assignments from 0 to NULL. - * Added fixes to the lpfc_reset_lun_handler and lpfc_reset_bus_handler - entry points that caused kernel to Oops or hang. - * Added fixes to targetless hosts that caused modprobe and insmod to hang. - * Ongoing cleanup to many files - -Changes from 20040723 to 20040730 - - * Changed version number to 8.0.8 - * Removed unused LPFN_DRIVER_VERSION #define. - * Folded lpfc_findnode_scsiid into lpfc_find_target, its only - caller. - * Removed 2 unneeded arguments to lpfc_find_target (lun and - create_flag). - * Make lpfc_sli_reset_on_init = 1 - * Minor cleanup to quieten sparse. - * Removed missing function = 0 in tmo routine in lpfc_els.c. - * Moved additional binding parameters into lpfc_defaults.c: - lpfc_automap / lpfc_fcp_bind_method - * Use msecs_to_jiffies() where applicable. - * Only use queue depth attribute only after SLI HBA setup was - completed. - * Put in memory barriers for PPC - * Added PCI_DEVICE_ID_HELIOS and PCI_DEVICE_ID_JFLY (Junior - Helios) support - * Added 4&10 gigabit choices in user option link_speed - * Updated timer logic: Set timer data after init_timer use - timer_pending() instead of expires. - * Removed some remnants of IP over FC support from Kconfig and - Makefile. - * Remove redundant prototypes for lpfc_handle_eratt, - lpfc_handle_latt and lpfc_read_pci. - * Ongoing cleanup of lpfc_init.c. - * Changed LPFC_CFG_DFT_HBA_Q_DEPTH -> LPFC_CFG_HBA_Q_DEPTH. - * Another cleanup stab at lpfc_ct.c. Remove castings, structure - code sanely, remove redundant code, reorganize code so that - functions are invoked after definition. - -Changes from 20040716 to 20040723 - - * Changed version number to 8.0.7 - * Cleanup of lpfc_ct.c. Removed number of casts, removed tons of - dead/redundant code, cleaned up badly and poorly written code, - cleaned up return values. - * Fixed Persistent binding implementation - * Removed all references to lpfc_scsi_req_tmo - * Removed last references to lun_skip config parameter. - * Removed LPFC_DEV_RPTLUN node failure bit because we don't issue - REPORT_LUNS from the driver anymore. - * Removed LUN-tracking in driver. Removed lpfc_lun struct and - moved any functionality we still need to lpfc_target. - * Added new lpfc_jedec_to_ascii() call and replace two instances - of duplicate code with calls to this function. - * Removed Volume Set Addressing handling on LUN IDs. - * Applied patch from Christoph Hellwig (hch@infradead.org) that - removes dead code belonging to lpfc_build_scsi_cmnd() and its - call path. This is related to the recently removed report_lun - code. - -Changes from 20040709 to 20040716 - - * Changed version number to 8.0.6 - * Removed internal report LUNs usage. Removed functions: - lpfc_disc_issue_rptlun, lpfc_disc_cmpl_rptlun, - lpfc_disc_retry_rptlun and their use. - * Removed usused scheduler prototypes in lpfc_crtn.h - * Replace lpfc_geportname() with generic memcmp(). - * Rearrange code in lpfc_rcv_plogi_plogi_issue() to make it a - little more readable. - * Remove redundant port_cmp != 2 check in if - (!port_cmp) { .... if (port_cmp != 2).... } - * Clock changes: removed struct clk_data and timerList. - * Clock changes: separate nodev_tmo and els_retry_delay into 2 - separate timers and convert to 1 argument changed - LPFC_NODE_FARP_PEND_t to struct lpfc_node_farp_pend convert - ipfarp_tmo to 1 argument convert target struct tmofunc and - rtplunfunc to 1 argument * cr_count, cr_delay and - discovery_threads are only needed to be module_params and not - visible via sysfs. - -Changes from 20040614 to 20040709 - - * Changed version number to 8.0.5 - * Make lpfc_info static. - * Make lpfc_get_scsi_buf static. - * Print a warning if pci_set_mwi returns an error. - * Changed SERV_PARM to struct serv_parm. - * Changed LS_RJT to struct ls_rjt. - * Changed CSP to struct csp. - * Changed CLASS_PARMS to struct class_parms. - * Some cosmetic coding style cleanups to lpfc_fcp.c. - * Providing a sysfs interface that dumps the last 32 - LINK_[UP|DOWN] and RSCN events. - * Get rid of delay_iodone timer. - * Remove qfull timers and qfull logic. - * Convert mbox_tmo, nlp_xri_tmo to 1 argument clock handler - * Removed duplicate extern defs of the bind variables. - * Streamline usage of the defines CLASS2 and CLASS3, removing - un-necessary checks on config[LPFC_CFG_FCP_CLASS]. - * Moving the persistent binding variables to new file - lpfc_defaults.c - * Changed LPFC_SCSI_BUF_t to struct lpfc_scsi_buf. - * Moved config specific code from probe_one() into - config_setup(). Removing a redundant check on scandown value - from bind_setup() as this is already done in config_setup(). - * Changed LPFC_SLI_t to struct lpfc_sli. - * Changed FCP_CMND to struct fcp_cmnd. - * Changed FCP_RSP to struct fcp_rsp. - * Remove the need for buf_tmo. - * Changed ULP_BDE64 to struct ulp_bde64. - * Changed ULP_BDE to struct ulp_bde. - * Cleanup lpfc_os_return_scsi_cmd() and its call path. - * Removed lpfc_no_device_delay. - * Consolidating lpfc_hba_put_event() into lpfc_put_event(). - * Removed following attributes and their functionality: - lpfc_extra_io_tmo, lpfc_nodev_holdio, lpfc_delay_rsp_err, - lpfc_tgt_queue_depth and lpfc_check_cond_err. - * Clock changes consolidating timers, just in the struct lpfc_hba, - to get rid of clkData and pass only one argument to timeout - routine. Also, removing need for outstanding clock linked list - to stop these timers at rmmod. - * Move lpfc.conf contents into lpfc_fcp.c. Removing per adapter - attributes in favor of global attributes. - * Fix a potential null pointer reference of pmbuf in lpfc_ct.c. - * On reset_lun, issue LUN_RESET as opposed to ABORT_TASK_SET. - * Removed SCSI_REQ_TMO related code. - * Introducing two new defines LPFC_ATTR_R and LPFC_ATTR_RW that do - a module_param, MODULE_PARM_DESC, lpfc_param_show, - [lpfc_param_store] and CLASS_DEVICE_ATTRIBUTE. - * Properly clean up when allocation of a linked BDE fails in the - SCSI queuecommand path. - * Fail SCSI command if dma_map_sg call fails. - * Remove unused macros SWAP_ALWAYS and SWAP_ALWAYS16. - * Reset context2 to 0 on exit in - lpfc_sli_issue_iocb_wait_high_priority() and - lpfc_sli_issue_iocb_wait(). - * Arranging lpfc_scsiport.c to follow style of use after - definition. This removes the need for the cruft of forward - declarations. Also removing a redundant #define ScsiResult as it - already available elsewhere. - * Applying "Streamline lpfc error handling" patch from Christoph - Hellwig (hch@infradead.org) with following modifications: fix - mem leaks, remove some misplaced code that need not be there, - print a message on exit (old code prints two (entry/exit)), make - ret values consistent (either 1/0 or SUCCESS/FAILURE), keep all - eh routines in a single file (lpfc_scsiport.c). - * Move contents of lpfc_module_param.h into lpfc_fcp.c. - * Changed sysfs attributes to CLASS_DEVICE_ATTRIBUTES (previously - DEVICE_ATTRIBUTES). They now appear in - /sys/class/scsi_host/hostx (previously in - /sys/bus/pci/drivers/lpfc/devx). - * Removed lpfc_syfs.h and lpfc_sysfs.c. - * Cleanup of config params. Throttle params have been removed. - max_lun has been removed. max_target is replaced with a #define, - lun_skip is removed. Remove ipfc config params and related - code. - * Changed DMABUF_t usage to struct lpfc_dmabuf. - * Downsizing iCfgParam structure to include a_string, a_low, a_hi - and a_default values only. - * Free SCSI buf safety memory pool on shutdown to eliminate memory - leak. - * Change lpfc_printf_log to a #define. Also include phba->brd_no - and newline in the print string rather than in the #define. - * Remove code that optionally locates Host Group Pointers in host - memory SLIM since this is no longer needed for PPC64, once - CONFIG_PORT uses HBA's view of its BAR0. - * Removed the forward declarations of the sli functions and - rearranging the code in lpfc_sli.c. - * Removed the preamble functionality from logging. - * Make lpfc_sli_hba_setup() return negative error codes on error - and correct the comment left over in lpfc_fcp.c - * Removed the lpfc_loadtime variable. - * Put a space between all ifs and their open parens '('. - * Change Studly_Caps LPFC_SCSI_BUF_t to struct lpfc_scsi_buf. - * Fixed insmod hang after hardware error. - * Relocated scsi_host alloc to before we enable the interrupt - handler - * Add .tmp_versions directory to Makefile clean target. This - directory is created in the 2.6.5+ build process (with Red Hat - kernels at least). - * Changing phba->config to kmalloc lpfc_icfgparam and not - *phba->config. This is manifesting itself as a panic in - pci_release_region(). - * Fix for firmware download / board reset problem. - * Integrated patch from Christoph Hellwig (hch@infradead.org) to - reorganize and cleanup lpfc_fcp.c - * Don't abort commands immediately when there is an RSCN event to - give driver time to rediscover targets before the midlayer - retries the SCSI commands. - -Changes from 20040604 to 20040614 - - * Changed version number to 8.0.4 - * Removed lpfc_valid_lun function. - * Added scsi_buf safety pool to address scsi_buf failures in - queuecommand under low memory conditions. Allocations now come - from kmalloc initially, but if kmalloc fails, the allocation - comes from the safety pool. - * Modified lpfc_slave_alloc to only set the scsi_device->hostdata - pointer if the driver has discovered the target. This routine - always returns success now as well since no error ever occurs in - the alloc routine. - * Mask only info and warning messages. Print all error messages - irrespective of mask. - * Removing lpfc_log_chk_msg_disabled() - * Changed lpfc_printf_log to take struct lpfc_hba * directly - instead of a "board number". - * Convert dma_sync_single to pci_dma_sync_single_for_{device/cpu}. - * Implemented new style log messages. The message strings are now - embedded in the call to lpfc_printf_log. - * Decreased FLOGI discovery timeout to 20 seconds. - * On error in lpfc_pci_probe_one() return -1 and not 1. - * Allow for board numbers that are not sequential, paving the way - for hotplug support. - * scsi_add_host() can fail, so wrap it around in an if(). Also - initiate scsi_scan_host() after attaching the sysfs attributes. - * lpfc_release_version is used only in lpfc_ct.c, so move it there - and mark it as static. - * Removed lpfc_sleep_ms and replaced with mdelay or schedule calls - directly - * Removed all (struct list_head *) casts from clkData-related list - handling in list_add, list_del macros. - * Removed EXPORT_SYMBOLs. - * Removed LPFC_MIN_QFULL and lpfc_qthrottle_up. - * Replace LPFCSCSITARGET_t with struct lpfc_target. - * Replace LPFCSCSILUN_t with struct lpfc_lun. - * Remove unused struct declarations (fcPathId and fcRouteId) from - lpfc_scsi.h. - * Rewrite use of FC transport attributes. - * Fix crash when link is lost. This was due to lpfc_delay_iodone - calling list_del on an object that was never put on a list. - * Remove trailing spaces at the end of all lines. - * Set MAX_FCP_TARGET to 256 from 0xff. Set MAX_FCP_LUN and - MAX_FCP_CMDS to their decimal equivalents and updated - documentation. - -Changes from 20040526 to 20040604 - - * Changed version number to 8.0.3 - * Completed sysfs FC transport support. - * Removed unused fields in SCSI LUN and SCSI Target structures: - void *pTargetProto; void *pTargetOSEnv; void *pLunOSEnv; - * Modified list_for_each to list_for_each_entry. Modified - list_for_each_safe to list_for_each_entry_safe. - * Remove lpfc_dfc.h file. - * Changed pHba->phba, pCommand->pcmd - * Changed plogi_ndlp -> plogindlp, pos_tmp->postmp, pRsp->prsp, - pCmd->pcmd - * Changed pText -> ptext - * Changed p_tmp_buff -> ptmpbuff - * Changed pBufList -> pbuflist, pRsp -> prsp, pCmd -> pcmd - * Changed *pos_tmp -> *postmp, *p_mbuf -> *pmbuf - * Following changes are made to the SCSI fast path: Added - DMA_BUF_t member to the lpfc_scsi_buf_t. This will reduce a - memory allocation in the scsi fast path. Added check for - targetp == NULL in the scsi fast path. Increased number of - scatter gather entries in lpfc_scsi_dma_ext to 4 from 3 and - changed the size of lpfc_scsi_dma_ext to 264 - * Fixing some missing static lpfc_nportdisc.c. - * Reordered #include lines so that lpfc.h doesn't have to #include - other header files. - * Remove lpfc_get_hba_sym_node_name() as a global EXPORT and make - it static. - * Move struct clk_data definition from lpfc_hw.h to lpfc_sli.h. - * Changed LPFC_IOCBQ_t to struct lpfc_iocbq. - * Changed LPFC_SLI_RING_t to struct lpfc_sli_ring. - * Changed LPFC_NODELIST_t to struct lpfc_nodelist. - * Rearranged lpfc_nportdisc.c by moving state machine array - (lpfc_disc_action) and the one function that uses it, - lpfc_disc_state_machine, to the end of the file, removing the - need for the raft of prototypes at the top. - * Changed LPFC_BINDLIST_t to struct lpfc_bindlist. - * Removed lpfc_issue_ct_rsp(), lpfc_sleep(), lpfc_add_bind(), - lpfc_del_bind(), lpfc_sli_wake_mbox_wait() and - lpfc_sli_issue_mbox_wait(). - * Fixed a large number of overly-long lines. - * Fixed some discovery problems: Introduced deferred ndlp removal - when in DSM to avoid panic when in nested DMSs Fix NportId - fffc01 handling to not relogin after LOGO fixed handling of LOGO - on PLOGI issue. - * Changed SLI_CT_REQUEST to lpfc_sli_ct_request. - * Changed NAME_TYPE to struct lpfc_name. - * Changed lpfcCfgParam_t to struct lpfc_cfgparam. - * Changed LPFC_STAT_t to struct lpfc_stats. - * Changed HBAEVT_t to struct lpfc_hba_event. - * Changed Studly_Caps lpfcHBA_t to struct lpfc_hba. - * Removed no longer used tasklet_running flag. - * Removing *PSOME_VAR typedefs and using SOME_VAR* directly. - * Changing .use_clustering to ENABLE_CLUSTERING. - * Modify lpfc_queuecommand to return SCSI_MLQUEUE_HOST_BUSY when - it can't queue a SCSI command. Also, remove cmnds_in_flight - member of struct lpfcHBA for 2.6 kernels as it was only needed - to determine what to return from queuecommand. - * Change return type of lpfc_evt_iocb_free to void as it doesn't - return anything. - * Remove unused cmnd_retry_list and in_retry members in struct - lpfcHBA. - * Remove some instances of unneeded casting of kmalloc's return in - lpfc_scsiport.c - * Remove lpfc_linux_attach() and lpfc_linux_detach(). Integrate - them into lpfc_probe_one() and lpfc_release_one() respectively. - * Remove lpfc_num_iocbs, lpfc_num_bufs module parameters - * Remove #defines for NUM_NODES, NUM_BUFS and NUM_IOCBS - -Changes from 20040515 to 20040526 - - * Changing version number to 8.0.2. - * Including dma-mapping.h as one of the include headers. Also - rearrange the #include order. - * Make functions static as appropriate. - * queuecommand() will now return SCSI_MLQUEUE_HOST_BUSY instead of - 1 to backpressure midlayer. - * Removed function prototypes for lpfc_start_timer() and - lpfc_stop_timer() - * Changed timer support to be inline. Clk_data is now declared - right next to the corresponding timer_list entry so we don't - have to allocate these clk_data dynamically. - * Add readls after writels to PCI space to flush the writes. - * Fix misspelled word "safety" in function names. - * Fix up comments in lpfc.conf for per HBA parameters to reflect - new implementation. - * Change lpfc_proc_info handler to get the Nodename from - fc_nodename and not fc_portname. - * Fix up some comments and whitespace in lpfc_fcp.c. - * Formatting changes: get rid of leading spaces in code - * Move discovery processing from tasklet to a kernel thread. - * Move ndlp node from unmap list to map list if ADISC completed - successfully. - * Flush all the ELS IOCBs when there is a link event. - * LP9802 qdepth is twice the LP9802DC qdepth. Delay - elx_sched_init after READ_CONFIG to get max_xri from the - firmware. Reset ELX_CFG_DFT_HBA_Q_DEPTH to max_xri after - READ_CONFIG - * Fix fc_get_cfg_parm() to be more robust and support embedded hex - values. The lpfc_param's are now defined as: - lpfc_log_verbose="lpfc:0,lpfc0:0x10,lpfc1:4,lpfc100:0xffff" The - "," delimter does not matter. It can be anything or not exist at - all. ie param = "lpfc:0lpfc0:0x10.lpfc1:4txtlpfc100:0xffff" will - also work. Additionally the string is treated as case - insensitive. - * Changed all usage of lpfc_find_lun_device() to lpfc_find_lun(). - * Removed unnecessary wrappers lpfc_find_lun_device() and - lpfc_tran_find_lun(). - * Switch from using internal bus/id/lun to similar data from - scsi_device structure. - * Eliminate one-line function lpfc_find_target() - * Added slave_alloc, slave_destory - * lpfc_scsi_cmd_start can now acquire lun pointer from - scsi_device->hostdata, which is setup in slave_alloc. - * Eliminate unnecessary checking on every cmd just to see if we - are accessing the device the first time. - * Remove assumption in lpfc_reset_lun_handler that a valid - lpfc_scsi_buf is hung off of linux's scsi_cmnd->host_scribble - when our reset is called. - -Changes from 20040507 to 20040515 - - * Changed version to 8.0.1 - * Fixed crash on driver rmmod after error injection tests and - lpfc_tasklet deadlock. - * Modified lpfc.conf to remove limit on number of support hosts - * Removed HBAAPI - * Removed duplication of SCSI opcodes from lpfc_fcp.h that are - available in scsi/scsi.h - * Rework module_param usage - * Added MODULE_PARAM_DESC for various module_params - * Removed #define EXPORT_SYMTAB - * Removed #includes of if_arp.h and rtnetlink.h - * Removed string "Open Source" from MODULE_DESC - * Cleanup duplicated string definitions used by MODULE_DESC - * Renamed lpfc_pci_[detect|release] to lpfc_pci_[probe|remove]_one - * Fix formatting of lpfc_driver - * Remove unnecessary memset to 0 of lpfcDRVR - * Attach driver attributes always unless pci_module_init failed - * Remove all one-line wrappers from lpfc_mem. - * Remove lpfc_sysfs_set_[show|store] as it is no longer needed - * Redo lpfc_sysfs_params_[show|store] to one value per attribute rule - * Breakdown lpfc_sysfs_info_show into smaller one value per attribute - * Use device attributes instead of driver attributes where appropriate - * Remove no longer needed EXPORT_SYMBOLs - * Remove some unused code (1600 msg's related) - -Changes from 20040429 to 20040507 - - * Change version to 8.0.0 - * Fix the number of cmd / rsp ring entries in lpfc_fcp.c to match - the divisions setup in lpfc_hw.h. - * Remove phba->iflag reference. - * Several locking improvements. - * Remove functions lpfc_drvr_init_lock, lpfc_drvr_lock, - lpfc_drvr_unlock and lpfc_hipri_*. - * Remove LPFC_DRVR_LOCK and LPFC_DRVR_UNLOCK macros. - * Make lpfc_info() use lpfc_get_hba_model_desc() instead of - rewriting almost identical code. - * Fix 1 overly long line in each of lpfc_cfgparm.h, lpfc_ftp.c and - lpfc_sli.c. - * Fix build for Red Hat 2.6.3 kernel by #defining MODULE_VERSION - only if it isn't already defined. - * Change elx_sli_issue_mbox_wait to return correct error code to - the caller. - * In some of the els completion routines, after calling - lpfc_elx_chk_latt, driver ignores the return code of the - lpfc_elx_chk_latt. This will prevent the discovery state machine - restarting correctly when there are link events in the middle of - discovery state machine running. Fix this by exiting discovery - state machine if lpfc_els_chk_latt returns a non zero value. - * Removed MAX_LPFC_BRDS from lpfc_diag.h - * Removed unused first_check. - * Remove some unused fields and defines. - * Change lpfc-param names to lpfc_param. - * Add use of MODULE_VERSION macro for 2.6 kernels. - * Shorten length of some of the comment lines to make them more - readable. - * Move FCP_* definitions to their own header file, lpfc_fcp.h. - * Remove unused prototypes from lpfc_crtn.h: fcptst, iptst, - lpfc_DELAYMS. - * Remove duplicated prototypes from lpfc_crtn.h: - lpfc_config_port_prep, lpfc_config_port_post, - lpfc_hba_down_prep. - * Removed some unused export_symbols. - * Install driver files into */drivers/scsi/lpfc instead of - */drivers/scsi. - -Changes from 20040426 to 20040429 - - * Declared export symbol lpfc_page_alloc and lpfc_page_free - * Changed lpfc version number to 6.98.3 - * Move the definition of MAX_LPFC_BRDS to the only header file - that uses it (lpfc_diag.h). - * Change lpfc_sli_wake_iocb_wait to do a regular wake_up since - lpfc_sli_issue_iocb_wait now sleeps uninterruptible. - * Replace list_for_each() with list_for_each_safe() when a list - element could be deleted. - * Fix IOCB memory leak - -Changes from 20040416 to 20040426 - - * Change lpfc_config_port_prep() to interpret word 4 of the DUMP - mbox response as a byte-count - * Add info attribute to sysfs - * Minor formatting (spaces to tabs) cleanup in lpfc_sched.h - * Remove unused log message number 732 - * Completing MODULE_PARM -> module_param changes - * Removed unused targetenable module parameter - * Removed locks from lpfc_sli_issue_mbox_wait routine - * Removed code that retry 29,00 check condition - * Removed code that manipulates rspSnsLen. - * Fix use of lun-q-depth config param - * Fix severity inconsistency with log message 249 - * Removed lpfc_max_target from lpfc_linux_attach - * Replace references to lpfcDRVR.pHba[] with lpfc_get_phba_by_inst() - * Change lpfc_param to lpfc-param - * Partially removed 32 HBA restriction within driver. Incorporated - lpfc_instcnt, lpfc_instance[], and pHba[] into lpfcDRVR - structure Added routines lpfc_get_phba_by_inst() - lpfc_get_inst_by_phba() lpfc_check_valid_phba() - * Turn on attributes "set" & "params" by default. - * Further formatting/whitespace/line length cleanup on: lpfc_ct.c - lpfc_els.c lpfc_fcp.c lpfc_hbadisc.c lpfc_init.c lpfc_ipport.c - lpfc_mbox.c lpfc_nportdisc.c lpfc_sched.c lpfc_sched.h - lpfc_scsi.h lpfc_scsiport.c lpfc_sli.c and lpfc_sli.h - * Add log message 249 to log any unsupported device addressing - modes encountered. - * Add support for 256 targets and 256 LUNs - * Fixed panic in lpfc_linkdown. - * Removed (struct list_head*) casting in several calls to list_del - * Free irq reservation and kill running timers when insmod or - modprobe are killed via ctrl-c - * Remove drivers/scsi from include path - * Wrap use of log message 311 in macro - * Detect failure return from pci_map_sg call in lpfc_os_prep_io - * Fix use-after-free of IOCB in lpfc_sli_process_sol_iocb which - was causing an Oops on 2.6.5 kernel. - * Cleanup use of several gotos not used for error exit. - * Replace memcpy_toio() and memcpy_toio() with endian-dependent - lpfc_memcpy_to_slim() and lpfc_memcpy_from_slim() so that for - big endian hosts like PPC64, the SLIM is accessed 4 bytes at a - time instead of as a byte-stream. - -Changes from 20040409 to 20040416 - - * The scsi_register and scsi_alloc_host OS calls can fail and - return a zero-valued host pointer. A ctrl-C on 2.6 kernels - during driver load will cause this and the driver to panic. - Fixed this bug. Also found a bug in the error_x handling with - lpfc_sli_hba_down - it was in the wrong place and the driver - lock was not held, but needed to be (in lpfc_linux_attach) Fixed - both. Did some minor comment clean up. - * Removed unwanted (void *) castings. - * Replace define of INVALID_PHYS, with kernel 2.6.5's - dma_mapping_error() and add a inline function for earlier - kernels. Remove lpfc_bad_scatterlist(). - * Clean up formatting in hbaapi.h, lpfc.h, lpfc_cfgparm.h, - lpfc_crtn.h, lpfc_ct.c, lpfc_diag.h, lpfc_disc.h, lpfc_els.c, - lpfc_fcp.c, lpfc_hbadisc.c, lpfc_hw.h, lpfc_init.c, - lpfc_ipport.c, lpfc_logmsg.c, lpfc_logmsg.h and lpfc_scsiport.c - - mostly replacing groups of 8 spaces with hard tabs and keeping - lines to 80 column max.. - * Removed LPFC_DRVR_LOCK call from lpfc_unblock_requests for 2.4 - kernels. The lpfc_scsi_done routine already unlocks the driver - lock since it expects this lock to be held. - * Removed global lock capabilities from driver lock routines - * Remove SA_INTERRUPT flag from request_irq - * Move dma_addr_t cast inside of getPaddr macro as everywhere - getPaddr is used, the return is cast to dma_addr_t. - * Clean up formatting in lpfc_sli.c and lpfc_sysfs.c - mostly - replacing groups of 8 spaces with hard tabs and keeping lines - to 80 column max. - * Fix build for RHEL 2.1 BOOT kernels by always #including - interrupt.h in lpfc.h. - * Fix RHEL 3 build by #defining EXPORT_SYMTAB. - * Replace sprintf with snprintf in lpfc_proc_info. - * Fix build warnings on 2.6 kernels - remove no longer used calls - to character device initialization. - * Initial support code for discovery in tasklet conversion. - * Removing char interface and ioctl code. - * Change all elx prefixes to lpfc - * Replace lpfc_write_slim() & lpfc_read_slim() with memcpy_toio(), - memcpy_fromio(), writel() & readl(). - -Changes from 20040402 to 20040409 - - * Replaced lpfc_read_hbaregs_plus_offset and - lpfc_write_hbaregs_plus_offset functions with readl and writel. - * Get rid of long mdelay's in insmod path - * Changed the way our pci_device_id structures are initialized - * Replace lpfc_read/write_CA/HA/HC/HS with calls to readl() & - writel() directly. - * Increase SLI2_SLIM to 16K Increase cmd / rsp IOCBs accordingly - * Removed lpfc_els_chk_latt from the lpfc_config_post function. - lpfc_els_chk_latt will enable the link event interrupts when - flogi is pending which causes two discovery state machines - running parallelly. - * Add pci_disable_device to unload path. - * Move lpfc_sleep_event from lpfc_fcp.c to lpfc_util_ioctl.c - * Call dma_map_single() & pci_map_single() directly instead of via - macro lpfc_pci_map(). Allow address 0 for PPC64. - * Change sleep to uninterruptible in lpfc_sli_issue_icob_wait - because this function doesn't handle signals. - * Move lpfc_wakeup_event from lpfc_fcp.c to lpfc_ioctl.c - * Remove unneeded #include - * Remove unused clock variables lpfc_clkCnt and lpfc_sec_clk. - * Get rid of capitalization of function names. - * Removed lpfc_addr_sprintf. - * Implemented gotos in lpfc_linux_attach for error cases. - * Replace mlist->dma.list = dmp->dma.list; to mlist = dmp. - * Remove functions lpfc_get_OsNameVersion and elx_wakeup. Change - elx_wakeup to wake_up_interruptible - * Add function lpfc_get_os_nameversion and change - lpfc_get_OsNameVersion to lpfc_get_os_nameversion. - * Remove lpfc_get_OsNameVersion - * Change driver name to a consistent lpfc in every visible place. - * Fix build warning: removed unused variable ret in lpfc_fdmi_tmo. - * Remove lpfc_utsname_nodename_check function - * Remove functions lpfc_register_intr and lpfc_unregister_intr - * Fill in owner field in lpfc_ops file_operations struct and - remove now unnecessary open and close entry points. - * Change function name prefixes from elx_ to lpfc_ - * Remove special case check for TUR in elx_os_prep_io() - * Renamed elx_scsi.h to lpfc_scsi.h - * Renamed elx_sched.h to lpfc_sched.h - * Renamed elx_mem.h to lpfc_mem.h - * Renamed elx_sli.h to lpfc_sli.h - * Renamed elx_logmsg.h to lpfc_logmsg.h - * Renamed elx.h to lpfc.h - * Renamed elx_sli.c to lpfc_sli.c - * Renamed elx_sched.c to lpfc_sched.c - * Renamed elx_mem.c to lpfc_mem.c - * Renamed elx_logmsg.c to lpfc_logmsg.c - * Renamed lpfcLINUXfcp.c lpfc_fcp.c - * Renamed elx_clock.c to lpfc_clock.c - * Reduce stack usage in lpfc_info(). - * Move lpip_stats structure from lpfc_hba.h to lpfc_ip.h. - * Move lpfc_stats and HBAEVT_t structures from lpfc_hba.h to - lpfc.h - * Remove lpfc_hba.h - * Remove duplicate rc definitions from - * Removed code which used next pointer to store mbox structure. - * Cleaned up list iterations. - * Removed non list manipulation of the next pointers. - * Change list_del()/INIT_LIST_HEAD sequences to list_del_init() - * In ELX_IOCBQ_t: Moved hipri_trigger field to iocb_flag. Combined - hipri_wait_queue and rsp_iocb in union - * Replaced casting from list_head with list_entry macro. - * Added ct_ndlp_context field to the ELX_IOCBQ_t. - * Do not use DMABUf_t list to store ndlp context - * Return 0 from lpfc_process_iotcl_util() when ELX_INITBRDS - succeeds. - * remove elx_os_scsiport.h - * Do not use DMABUf_t list to hold rpi context - * Replace elx_cfg_* names with lpfc_cfg-* - * Moved FCP activity to ring 0. Moved ELS/CT activity to ring 2. - * Clean up formatting of elx_sli.h (tabs for indents, 80 column - lines). - * Remove unused elxclock declaration in elx_sli.h. - * Since everywhere IOCB_ENTRY is used, the return value is cast, - move the cast into the macro. - * Split ioctls out into separate files - -Changes from 20040326 to 20040402 - - * Updated ChangeLog for 20040402 SourceForge drop. - * Use safe list iterator for ndlp list - * Added code to return NLP_STE_FREED_NODE from the discovery - state machine functions if the node is freed from the - function. - * Fixes to DMABUF_t handling - * Fix for load error in discovery - * Remove loop_cnt variable from lpfc_rcv_plogi_unused_node. - * Remove nle. reference. - * Remove support for building 2.4 drivers - * Remove elx_util.h and replace elx_disc.h with lpfc_disc.h - * Implemented the Linux list macros in the discovery code. - Also moved elx_disc.h contents into lpfc_disc.h - * Unused variable cleanup - * Use Linux list macros for DMABUF_t - * Break up ioctls into 3 sections, dfc, util, hbaapi - rearranged code so this could be easily separated into a - different module later. All 3 are currently turned on by - defines in lpfc_ioctl.c LPFC_DFC_IOCTL, LPFC_UTIL_IOCTL, - LPFC_HBAAPI_IOCTL - * Misc cleanup: some goto's; add comments; clarify function - args - * Added code to use list macro for ELXSCSITARGET_t. - * New list implementation for ELX_MBOXQ_t - * Cleaned up some list_head casting. - * Put IPFC ifdef around two members of struct lpfc_nodelist. - * Cleaned up iocb list using list macros and list_head data - structure. - * lpfc_online() was missing some timer routines that were - started by lpfc_linux_attach(). These routines are now also - started by lpfc_online(). lpfc_offline() only stopped - els_timeout routine. It now stops all timeout routines - associated with that hba. - * Replace separate next and prev pointers in struct - lpfc_bindlist with list_head type. In elxHBA_t, replace - fc_nlpbind_start and _end with fc_nlpbind_list and use - list_head macros to access it. - * Fix ulpStatus for aborting I/Os overlaps with newer firmware - ulpStatus values - * Rework params_show/store to be consistent as the other - routines. Remove generic'ness and rely on set attribute. - * Remove unused log message. - * Collapse elx_crtn.h and prod_crtn.h into lpfc_crtn.h - * Ifdef Scheduler specific routines - * Removed following unused ioctl's: ELX_READ_IOCB - ELX_READ_MEMSEG ELX_READ_BINFO ELX_READ_EINVAL ELX_READ_LHBA - ELX_READ_LXHBA ELX_SET ELX_DBG LPFC_TRACE - * Removed variable fc_dbg_flg - * Fixed a bug where HBA_Q_DEPTH was set incorrectly for - 3-digit HBAs. Also changed can_queue so midlayer will only - send (HBA_Q_DEPTH - 10) cmds. - * Clean up code in the error path, check condition. Remove - unused sense-related fields in lun structure. - * Added code for safety pools for following objects: mbuf/bpl, - mbox, iocb, ndlp, bind - * Wrapped '#include ' in '#ifdef USE_SCHEDULER'. - * Fixed 'make clean' target. - * Build now ignores elx_sched.o, and includes lpfc_sysfs.o. - * Wrapped lpfndd.o target in BUILD_IPFC ifdef. - * Removed elx_os.h inclusion in implementation files. - * Removed ELX_OS_IO_t data structure and put data direction - and non scatter/gather physical address into the scsi buffer - structure directly. Moved DRVR_LOCK, putPaddr, getPaddr - macros and some defines into elx.h since they are required - by the whole driver. - * Migrated following ioctls (debug) ELX_DISPLAY_PCI_ALL - ELX_DEVP ELX_READ_BPLIST ELX_RESET_QDEPTH ELX_STAT. - * Step 1 of attempt to move all Debug ioctls to sysfs. - Implemented the following IOCTLs in sysfs: ELX_WRITE_HC - ELX_WRITE_HS ELX_WRITE_HA ELX_WRITE_CA ELX_READ_HC - ELX_READ_HS ELX_READ_HA ELX_READ_CA ELX_READ_MB ELX_RESET - ELX_READ_HBA ELX_INSTANCE ELX_LIP. Also introduced - attribute "set" to be used in conjunction with the above - attributes. - * Removed DLINK, enqueue and dequeue declarations now that clock - doesn't use them anymore - * Separated install rule so that BUILD_IPFC has to be set when - make is called in order for the install rule to attempt to - copy the lpfndd.o driver. This change fixes a bug that - occurs because the install rule by default attempted to - install lpfndd.o, whereas the default make rule did not by - default build lpfndd.o. - * Keep track if hbaapi index numbers need to be refreshed. - * Removed prod_os.h from include list. - * Removed LPFC_LOCK and LPFC_UNLOCK macros. Added OS calls - into elx_os_scsiport.c. This file is now empty. - * Added spin_lock_irqsave and spin_unlock_irqrestore calls - into code directly and removed LPFC_LOCK_ and _UNLOCK_ - macros - * Remove references to "elx_clock.h" - * Added utsname.h to include list. The previous checkin to - elx_os.h removed its inclusion of utsname.h since there is - precious little in the file. However, lpfcLINUXfcp.c needs - it and now has it. - * Removed some commented-out code - * Removed elx_lck_t data structure, stray elxDRVR_t type, and - include from file. No longer used. - * Removed two PCI Sync defines. Removed includes - not - needed. Cleaned up macro lines. - * Added two functions from elxLINUXfcp.c. These functions - were IPFC specific. - * Removed hipri lock abstractions and added OS call into code. - Removed elx_lck_t and added spinlock_t directly. Moved two - IPFC functions into lpfc_ipport.c - * Moved IP specific structures to lpfc_ip.h file. - * lpfc_ipfarp_timeout() uses system timer. Remove all usages - of old internal clock support. - * Made changes to compile without IPFC support for the default - build. Added ifdef IPFC for all lpfc_ip.h includes. - * Patched elx_free_scsi_buf - * Removed elx_sched.o from 2.6 dependencies - * Reworked lpfc_pcimap. - * Use Linux swap macros to replace ELX swapping macros - (SWAP_SHORT, SWAP_LONG, SWAP_DATA, SWAP_DATA16, - PCIMEM_SHORT, PCIMEM_LONG, PCIMEM_DATA). - * move in_interrupt() check inside of elx_sleep_ms() - * Moved location of pci.h include. - * Restored elx_lck_t types in elxHBA_t. - * Removed elx_pci_dma_sync call. Also removed some PCI - defines from elx_hw.h and removed the spinlock_t locks that - are no longer used in elx.h - * elx_iodone() now uses system timer. - * elx_qfull_retry() now uses system timer. - * lpfc_put_buf(), lpfc_ip_xri_timeout() and - lpfc_ip_timeout_handler() now use system timer. - * lpfc_fdmi_tmo() and lpfc_qthrottle_up() now use system - timer. - * Removed num_bufs and num_iocbs configuration parameters. - * Fixed a memory corruption bug. This was caused by a memory - write to ndlp structure from lpfc_cmpl_els_acc function. - This ndlp structure was freed from lpfc_els_unsol_event. - * lpfc_disc_timeout() and lpfc_establish_link_tmo() now use - system timer. Also update lpfc_els_retry_delay() to do a - single lock release at the end. - * Remove use of PAN (pseudo adapter number). - * Reintroduced usage of the cross compiler for building on - ppc64 to remove build errors that were cropping up when - using the standard gcc compiler. - * Fix no-unlock-before return in lpfc_els_retry_delay which was - causing a deadlock on insmod in some environments. - * Minor format changes fix up comments - * Create utility clock function elx_start_timer() and - elx_stop_timer(). All timeout routines now use these common - routines. - * Minor formatting changes fix up comments - * Minor formatting changes get rid of failover defines for - syntax checking - * Minor formatting changes remove ISCSI defines. - * Fix typo in install target for 2.4 kernels. - * Removed unused elx_scsi_add_timer extern function - declaration. - * Cleanup casting around DMA masks. - * Comment out lpfndd.o modules_install section as lpfndd.o is - not generated if CONFIG_NET_LPFC is not set. Also refer to - BASEINCLUDE only in out of kernel source module builds as it - will not exist otherwise. - * Removed unused malloc counters from lpfcLINUXfcp.c. - * Remove some unnecessary #includes in lpfcLINUXfcp.c - * Remove unnecessary #includes in elxLINUXfcp.c - * Minor formatting cleanups in Makefile to avoid some - linewrapping. - * Removed unused elx_mem_pool data structure. - * Remove several unnecessary #includes. - * Moving fix for memory leak in ioctl lip area to sysfs's lip. - * Removed unused elx_dma_handle_t elx_acc_handle_t - FC_MAX_SEGSZ and FC_MAX_POOL. - * Rewrite of Makefile. Fixes breakages with make -j4 during - kernel compile. Does not recompile all files on every - build. Uses the kernel build's definitions of CFLAGS, - MODFLAGS etc. Removed "make rpm" option. - * Removed unused #defines CLOSED, DEAD, OPENED, NORMAL_OPEN - and unneeded #include of elx_sched.h in elx.h. - * Several log message updates - * Add PCI_DEVICE_ID_FIREFLY for LP6000 - * Fixed known issues in 20040326: driver crashes on rmmod in - both 2.4 and 2.6 kernels - - -Changes from 20040319 to 20040326 - - * Updated ChangeLog for 20040326 SourceForge drop. - * remove lpfc_isr / lpfc_tmr logic fixed up 8 spaces from - previous checkins with tabs - * replace elx_in_intr() with in_interrupt() - * Remove unused messages 1602 and 1603. - * Fix the following issues with log messages: Remove unused - messages 406, 407, 409, 927, 928, 1201, 1202, 1204, 1205, 1206 - and 1207. Create a new message 738 to fix duplicate instances - of 736. - * Removed remaining pci interface abstractions from elxLINUXfcp.c. - Implemented OS calls directly in all remaining files and cleaned - up modules. Removed prototypes as well. - * Removed following functions/structures elx_mem_dmapool - elx_idx_dmapool elx_size_dmapool elx_kmem_lock dfc_data_alloc - dfc_data_free dfc_mem struct mbuf_info elx_acc_handle_t - data_handle elx_dma_handle_t dma_handle struct elx_memseg - MEMSEG_t - * lpfc_els_timeout_handler() now uses system timer. - * Further cleanup of #ifdef powerpc - * lpfc_scsi_timeout_handler() now uses system timer. - * Replace common driver's own defines for endianness w/ Linux's - __BIG_ENDIAN etc. - * Added #ifdef IPFC for all IPFC specific code. - * lpfc_disc_retry_rptlun() now uses system timer. - * lpfc_npr_timeout() now uses system timer. - * Modified detect code, on insmod, to only wait a max of 2 secs if - link comes up and there are no devices. - * Move remaining message logging functions into - elx_logmsg.c/elx_logmsg.h. - * Added code to clear link attention bit when there is a pending - link event and the memory allocation for read_la mail box - command fails. - * Removed function calls for mapping bar registers and allocating - kernel virtual memory mappings to the mapped bars Removed - prototypes, lpfc_driver_cache_line, and pci_bar1_map rename to - pci_bar2_map. - * Allocate mbox only if the hba_state is in ready state. - * Complete lip support via sysfs. To lip, echo brdnum > - /sys/bus/pci/drivers/lpfc/lip. - * moving sysfs show/store implementations to lpfc_sysfs.c. Also add - support for lip. - * Add files: lpfc_sysfs.c, lpfc_sysfs.h - * move LPFC_DRIVER_NAME and LPFC_MODULE_DESC out of lpfcLINUXfcp.c - to lpfc_version.h, since it is now needed in lpfc_sysfs.c - * elx_mbox_timeout now uses system timer - * Changed lpfc_nodev_timeout, lpfc_els_retry_delay and - lpfc_linkdown_timeout to use the system timer instead of - internal clock support. - * Move remaining message logging functions in elx_util.c to - elx_logmsg.c. - * Remove some unnecessary typecasting. - * Remove log message that is no longer used (was used by - elx_str_atox). - * Replaced DLINK_t and SLINK_t by standard Linux list_head - * Removed deque macro - * Replaced ELX_DLINK_t and ELX_SLINK_t by Linux struct list_head - (except for clock) - * Removed following functions from code: linux_kmalloc linux_kfree - elx_alloc_bigbuf elx_free_bigbuf - * Removed following abstract functions from the code. elx_malloc - elx_free elx_ip_get_rcv_buf elx_ip_free_rcv_buf - elx_mem_alloc_dmabuf elx_mem_alloc_dmabufext elx_mem_alloc_dma - elx_mem_alloc_buf lpfc_bufmap - * Removed custom PCI configuration #defines and replaced with - OS-provided #defines. Also added linux/pci.h to *.c files. - * Remove elx_str_ctox. Replace elx_str_atox with sscanf. - * Many indentation/whitespace fixes. - * Replace elx_str_ctox with isxdigit where it was only used to - check the value of a character. - * Removed following functions from the code. elx_kmem_free - elx_kmem_alloc elx_kmem_zalloc - * Change use of 2.4 SCSI typedef Scsi_Host_Template to struct - scsi_host_template for 2.6 kernels. - * Change use of 2.4 SCSI typedefs (Scsi_Device, Scsi_Cmnd, - Scsi_Request) the their real struct names. - * Move 2.6 compatibility irqreturn definitions to lpfc_compat.h. - Protect these definitions from conflicting with similar ones in - later 2.4 kernels. - * Remove unused definitions: LINUX_TGT_t, LINUX_LUN_t, - LINUX_BUF_t, elx_lun_t, SET_ADAPTER_STATUS. - * Convert pci_ calls to linux 2.6 dma_ equivalents. - * Removed unused types: struct buf, struct sc_buf, T_SCSIBUF - typedef. - * Fix Makefile so that 2.4 drivers don't always rebuild all files. - * Remove unused _static_ and fc_lun_t definitions. - * Cleaned up some memory pool implementation code. - * Fix panic with char dev changes. Turns out that 2.6.4 code does - the same in kernel space with the 2.4 interface style - definitions. So remove the new char dev code altogether. - * Remove typecasting from fc_get_cfg_param and consolidate - multiple instances of the parameter switch into a single - instance. - * Use lpfc_is_LC_HBA() macro that tests pcidev->device directly - instead of saving a private copy that undergoes varied shifting - & casting. - * Removed usage of all memory pools. - -Changes from 20040312 to 20040319 - - * Use dev_warn instead of printk for 2.6 kernels - * Correct Iocbq completion routine for 2.6 kernel case - * Change void *pOSCmd to Scsi_Smnd *pCmd - * Change void *pOScmd to struct sk_buff *pCmd - * Remove data direction code. - * Removed memory pool for buf/bpl buffers and use kmalloc/kfree - pci_pool_alloc/free directly. - * Move PPC check for DMA address 0 in scatter-gather list, into - lpfc_compat.h - * Always use pci_unmap_single() instead of pci_unmap_page() - * Clean up the 2.6 vs 2.4 #if blocks. - * Conditionalize Scheduler - * Add a comment to explain a little what the first Makefile - section does. - * Removed lpfc_intr_post - * Sysfs new display format. Also added write functionality. You - can [ echo "0 log_verbose 3" > - /sys/bus/pci/drivers/lpfc/params]. Hex support yet to be added. - * Removed several #ifdef powerpc, including for a discovery issue - in lpfc_ValidLun() - * Change elx_printf_log to use vsprintf. - * Added lpfc_compat.h provides macros to aid compilation in the - Linux 2.4 kernel over various platform architectures. Initially - support mapping to a DMA address. - * Removed memory pool for nlp/bind buffers and use kmalloc/kfree - directly. - * Removed memory pool for iocb buffers and use kmalloc/kfree - directly. - * Removed memory pool for mailbox buffers and use kmalloc/kfree - directly. - * Cleaned up back and forth casts - * Initial support for sysfs for 2.6 kernel. - * Changed elx_dma_addr_t to dma_addr_t - * Fix a 2.6 kernel check to be >= 2.6.0 instead of > (was missing - 2.6.0). - * Remove elx_printf and elx_str_sprintf. Replace elx_print with - printk. - * Replace elx_printf with printk. - * Replace elx_str_sprintf with sprintf. - * Removed the mem_lock, its prototype, function, macro, and - iflags. - * Use kmalloc/kfree for ELX_SCSI_BUF_t - * Use linux pci_pools for SCSI_DMA_EXT - * Use linux pci_pools for BPLs. - * Minor cleanup of DFC args for PPC64. - * Several small indentation cleanups. - * New Linux 2.6 style of char device registration. - * Migrated members of LPFCHBA_t and LINUX_HBA_t into elxHBA_t - * Use strcpy, strncmp, isdigit, strlen instead of abstractions - * Cleanup of driver_template. - * Facilitate compile time turn on/off of lpfc_network_on. - * Split large source files into smaller, better named ones. - -Changes from 2.10a to 20040312 - - * Fix build for 2.4 kernels - * Move driver version macros into lpfc_version.h file. - * Fixed data miscompare with LIP. - * Removed elx_sli, elx_ioc, elx_disc, elx_sch routines, - prototypes, and reference points. - * Correct the space insertions with hardtabs - * Remove routine call pointers in ELX_SLI_INIT_t struct. - * Removed module locks except for drvr, mem, and clock. - * Removed unused module locks from sourcebase. Kept drvr_lock, - mem_lock, and clock_lock. - * Change NULL to 0 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 Reviewed-by: Damien Le Moal --- 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 Reviewed-by: Damien Le Moal --- 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:58 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: 832658 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 43CF21D278D for ; Wed, 2 Oct 2024 20:37:23 +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=1727901447; cv=none; b=TuthQVq+lhWduCEize1AKC6VCVI873C5qaqbQwldIpmdZpZ1tfcAu224aQ1Hh1iDyF3mMRnQkTwc69l72zTuLGRHAGYfIjOKti6kKZjIfYjsFHLSLdTs9HYJT0YoRvTxKPL5Fh5rkQPTm57/MpTWIh83i3Q+WENXRIyWays/tjA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901447; c=relaxed/simple; bh=7n+xpJUJI3rT2yl19/G4XkR8WmEO2GHM71XNMmMToT0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=E5lYNMzrFea74X5tG+CjxMVjyCHZdTS+lAZUfxQzLCCiVHP8J+BN/DSKNcj0WGBbnoyRa/63MinUwJKeS47fBc7BOditPtgXHhRR2Ik36Yl33R+OQS2G9thwXJglObzcK/rY7/kGBoJabKUo569ZNDiO5IisCsykeJB6f+/73PE= 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=fgs1wMUw; 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="fgs1wMUw" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmnt5dfkzlgMWT; Wed, 2 Oct 2024 20:37:22 +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=1727901395; x=1730493396; bh=Mh8GV drNWj+5WRGDfZjtBSFqhPG/arAVVgv2TMBxVHA=; b=fgs1wMUwdNsva+8qGWur7 t6IP1ntXDCGWFC0tSb1qS9sfph+jBQHzA3OdbRc8hyK+8KObIjBGPKqGn8UZynOO lr2E4bF3ZpgOMPPpMwB0bslPV8yGZvt1kJ4gKFibxYAGne6WGF8ImfxPbnCn2UQz 3wTKbQ04tY92lKovr1ErBeaGkax1tylKqfrzZFrJZx2LKU6afpD5qtpE9xGAFimv +eXoQIy+Fe1Md7YDvtaD2m5STIZOiEKp7Kqpa1PZIPagRoiGNKHBd4H+/W51rXpn bHlfIuG1mr4LLdo9g5BQ5HFcYZGXRlE7sNmQYxmRYnMgtWI4YMYFTcQrqP3C+uF9 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 HOR9HMUkYxsj; Wed, 2 Oct 2024 20:36:35 +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 4XJmmt261GzlgMVN; Wed, 2 Oct 2024 20:36:30 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Damien Le Moal , Niklas Cassel , Takashi Sakamoto , Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , Steffen Maier , Benjamin Block , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , "James E.J. Bottomley" , Hannes Reinecke , Anil Gurumurthy , Sudarsana Kalluru , Saurav Kashyap , Javed Hasan , GR-QLogic-Storage-Upstream@marvell.com, Oliver Neukum , Ali Akcaagac , Jamie Lenehan , Satish Kharat , Sesidhar Baddela , Karan Tilak Kumar , Yihang Li , Don Brace , Tyrel Datwyler , Michael Ellerman , Brian King , James Smart , Dick Kennedy , Kashyap Desai , Sumit Saxena , Shivasharan S , Chandrakanth patil , Nilesh Javali , Manish Rangankar , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Matthew Wilcox , "Michael S. Tsirkin" , Jason Wang , Juergen Gross , Stefano Stabellini , Greg Kroah-Hartman , Alan Stern , Geoff Levand , Khalid Aziz , John Garry , Soumya Negi , Peter Wang , Manivannan Sadhasivam , Avri Altman , Andrew Halaney , Bean Huo , "Bao D. Nguyen" Subject: [PATCH v2 06/11] scsi: Rename .slave_alloc() and .slave_destroy() Date: Wed, 2 Oct 2024 13:33:58 -0700 Message-ID: <20241002203528.4104996-7-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 Rename .slave_alloc() into .sdev_prep() and .slave_destroy() into .sdev_destroy(). The new names make it clear that these are actions on SCSI devices. Make this change in the SCSI core, SCSI drivers and also in the ATA drivers. No functionality has been changed. This patch has been created as follows: * Change the text "slave_alloc" into "sdev_prep" in all source files except those in drivers/net. * Change the text "slave_destroy" into "sdev_destroy" in all source files except those in drivers/net. * Rename lpfc_no_slave() into lpfc_no_sdev(). * Manually adjust whitespace where necessary to restore vertical alignment (dc395x driver and include/linux/libata.h). Cc: Damien Le Moal Signed-off-by: Bart Van Assche --- drivers/ata/libata-scsi.c | 12 ++++++------ drivers/firewire/sbp2.c | 4 ++-- drivers/message/fusion/mptfc.c | 12 ++++++------ drivers/message/fusion/mptsas.c | 8 ++++---- drivers/message/fusion/mptscsih.c | 6 +++--- drivers/message/fusion/mptscsih.h | 2 +- drivers/message/fusion/mptspi.c | 12 ++++++------ drivers/s390/scsi/zfcp_scsi.c | 10 +++++----- drivers/s390/scsi/zfcp_sysfs.c | 2 +- drivers/s390/scsi/zfcp_unit.c | 2 +- drivers/scsi/53c700.c | 12 ++++++------ drivers/scsi/aic7xxx/aic79xx_osm.c | 4 ++-- drivers/scsi/aic7xxx/aic7xxx_osm.c | 4 ++-- drivers/scsi/bfa/bfad_im.c | 20 ++++++++++---------- drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 2 +- drivers/scsi/csiostor/csio_scsi.c | 12 ++++++------ drivers/scsi/dc395x.c | 12 ++++++------ drivers/scsi/esp_scsi.c | 8 ++++---- drivers/scsi/fcoe/fcoe.c | 2 +- drivers/scsi/fnic/fnic_main.c | 4 ++-- drivers/scsi/hisi_sas/hisi_sas.h | 2 +- drivers/scsi/hisi_sas/hisi_sas_main.c | 6 +++--- drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 2 +- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 2 +- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 +- drivers/scsi/hpsa.c | 12 ++++++------ drivers/scsi/ibmvscsi/ibmvfc.c | 6 +++--- drivers/scsi/ipr.c | 12 ++++++------ drivers/scsi/libfc/fc_fcp.c | 6 +++--- drivers/scsi/libsas/sas_scsi_host.c | 4 ++-- drivers/scsi/lpfc/lpfc_scsi.c | 22 +++++++++++----------- drivers/scsi/megaraid/megaraid_sas_base.c | 8 ++++---- drivers/scsi/mpi3mr/mpi3mr_os.c | 12 ++++++------ drivers/scsi/mpt3sas/mpt3sas_scsih.c | 16 ++++++++-------- drivers/scsi/myrb.c | 16 ++++++++-------- drivers/scsi/myrs.c | 8 ++++---- drivers/scsi/ncr53c8xx.c | 4 ++-- drivers/scsi/pmcraid.c | 14 +++++++------- drivers/scsi/qla2xxx/qla_os.c | 8 ++++---- drivers/scsi/qla4xxx/ql4_os.c | 6 +++--- drivers/scsi/scsi_debug.c | 12 ++++++------ drivers/scsi/scsi_scan.c | 8 ++++---- drivers/scsi/scsi_sysfs.c | 4 ++-- drivers/scsi/smartpqi/smartpqi_init.c | 8 ++++---- drivers/scsi/snic/snic_main.c | 6 +++--- drivers/scsi/storvsc_drv.c | 2 +- drivers/scsi/sym53c8xx_2/sym_glue.c | 10 +++++----- drivers/scsi/virtio_scsi.c | 2 +- drivers/scsi/xen-scsifront.c | 4 ++-- drivers/staging/rts5208/rtsx.c | 4 ++-- drivers/ufs/core/ufshcd.c | 12 ++++++------ drivers/usb/image/microtek.c | 4 ++-- drivers/usb/storage/scsiglue.c | 6 +++--- drivers/usb/storage/uas.c | 4 ++-- include/linux/libata.h | 8 ++++---- include/scsi/libfc.h | 2 +- include/scsi/libsas.h | 4 ++-- include/scsi/scsi_device.h | 4 ++-- include/scsi/scsi_host.h | 16 ++++++++-------- 59 files changed, 219 insertions(+), 219 deletions(-) diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index a4aedf7e1775..a2d601f13204 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -1133,7 +1133,7 @@ int ata_scsi_dev_config(struct scsi_device *sdev, struct queue_limits *lim, } /** - * ata_scsi_slave_alloc - Early setup of SCSI device + * ata_scsi_sdev_prep - Early setup of SCSI device * @sdev: SCSI device to examine * * This is called from scsi_alloc_sdev() when the scsi device @@ -1143,7 +1143,7 @@ int ata_scsi_dev_config(struct scsi_device *sdev, struct queue_limits *lim, * Defined by SCSI layer. We don't really care. */ -int ata_scsi_slave_alloc(struct scsi_device *sdev) +int ata_scsi_sdev_prep(struct scsi_device *sdev) { struct ata_port *ap = ata_shost_to_port(sdev->host); struct device_link *link; @@ -1166,7 +1166,7 @@ int ata_scsi_slave_alloc(struct scsi_device *sdev) return 0; } -EXPORT_SYMBOL_GPL(ata_scsi_slave_alloc); +EXPORT_SYMBOL_GPL(ata_scsi_sdev_prep); /** * ata_scsi_device_configure - Set SCSI device attributes @@ -1195,7 +1195,7 @@ int ata_scsi_device_configure(struct scsi_device *sdev, EXPORT_SYMBOL_GPL(ata_scsi_device_configure); /** - * ata_scsi_slave_destroy - SCSI device is about to be destroyed + * ata_scsi_sdev_destroy - SCSI device is about to be destroyed * @sdev: SCSI device to be destroyed * * @sdev is about to be destroyed for hot/warm unplugging. If @@ -1208,7 +1208,7 @@ EXPORT_SYMBOL_GPL(ata_scsi_device_configure); * LOCKING: * Defined by SCSI layer. We don't really care. */ -void ata_scsi_slave_destroy(struct scsi_device *sdev) +void ata_scsi_sdev_destroy(struct scsi_device *sdev) { struct ata_port *ap = ata_shost_to_port(sdev->host); unsigned long flags; @@ -1228,7 +1228,7 @@ void ata_scsi_slave_destroy(struct scsi_device *sdev) kfree(sdev->dma_drain_buf); } -EXPORT_SYMBOL_GPL(ata_scsi_slave_destroy); +EXPORT_SYMBOL_GPL(ata_scsi_sdev_destroy); /** * ata_scsi_start_stop_xlat - Translate SCSI START STOP UNIT command diff --git a/drivers/firewire/sbp2.c b/drivers/firewire/sbp2.c index 827dee0f57dd..36feab1b7b0a 100644 --- a/drivers/firewire/sbp2.c +++ b/drivers/firewire/sbp2.c @@ -1490,7 +1490,7 @@ static int sbp2_scsi_queuecommand(struct Scsi_Host *shost, return retval; } -static int sbp2_scsi_slave_alloc(struct scsi_device *sdev) +static int sbp2_scsi_sdev_prep(struct scsi_device *sdev) { struct sbp2_logical_unit *lu = sdev->hostdata; @@ -1590,7 +1590,7 @@ static const struct scsi_host_template scsi_driver_template = { .name = "SBP-2 IEEE-1394", .proc_name = "sbp2", .queuecommand = sbp2_scsi_queuecommand, - .slave_alloc = sbp2_scsi_slave_alloc, + .sdev_prep = sbp2_scsi_sdev_prep, .device_configure = sbp2_scsi_device_configure, .eh_abort_handler = sbp2_scsi_abort, .this_id = -1, diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c index 91242f26defb..c86ca66ad326 100644 --- a/drivers/message/fusion/mptfc.c +++ b/drivers/message/fusion/mptfc.c @@ -96,7 +96,7 @@ static u8 mptfcTaskCtx = MPT_MAX_PROTOCOL_DRIVERS; static u8 mptfcInternalCtx = MPT_MAX_PROTOCOL_DRIVERS; static int mptfc_target_alloc(struct scsi_target *starget); -static int mptfc_slave_alloc(struct scsi_device *sdev); +static int mptfc_sdev_prep(struct scsi_device *sdev); static int mptfc_qcmd(struct Scsi_Host *shost, struct scsi_cmnd *SCpnt); static void mptfc_target_destroy(struct scsi_target *starget); static void mptfc_set_rport_loss_tmo(struct fc_rport *rport, uint32_t timeout); @@ -113,10 +113,10 @@ static const struct scsi_host_template mptfc_driver_template = { .info = mptscsih_info, .queuecommand = mptfc_qcmd, .target_alloc = mptfc_target_alloc, - .slave_alloc = mptfc_slave_alloc, + .sdev_prep = mptfc_sdev_prep, .slave_configure = mptscsih_slave_configure, .target_destroy = mptfc_target_destroy, - .slave_destroy = mptscsih_slave_destroy, + .sdev_destroy = mptscsih_sdev_destroy, .change_queue_depth = mptscsih_change_queue_depth, .eh_timed_out = fc_eh_timed_out, .eh_abort_handler = mptfc_abort, @@ -503,7 +503,7 @@ mptfc_register_dev(MPT_ADAPTER *ioc, int channel, FCDevicePage0_t *pg0) /* * if already mapped, remap here. If not mapped, * target_alloc will allocate vtarget and map, - * slave_alloc will fill in vdevice from vtarget. + * sdev_prep will fill in vdevice from vtarget. */ if (ri->starget) { vtarget = ri->starget->hostdata; @@ -631,7 +631,7 @@ mptfc_dump_lun_info(MPT_ADAPTER *ioc, struct fc_rport *rport, struct scsi_device * Init memory once per LUN. */ static int -mptfc_slave_alloc(struct scsi_device *sdev) +mptfc_sdev_prep(struct scsi_device *sdev) { MPT_SCSI_HOST *hd; VirtTarget *vtarget; @@ -651,7 +651,7 @@ mptfc_slave_alloc(struct scsi_device *sdev) vdevice = kzalloc(sizeof(VirtDevice), GFP_KERNEL); if (!vdevice) { - printk(MYIOC_s_ERR_FMT "slave_alloc kmalloc(%zd) FAILED!\n", + printk(MYIOC_s_ERR_FMT "sdev_prep kmalloc(%zd) FAILED!\n", ioc->name, sizeof(VirtDevice)); return -ENOMEM; } diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index a0bcb0864ecd..932f67aace1e 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c @@ -1867,7 +1867,7 @@ mptsas_target_destroy(struct scsi_target *starget) static int -mptsas_slave_alloc(struct scsi_device *sdev) +mptsas_sdev_prep(struct scsi_device *sdev) { struct Scsi_Host *host = sdev->host; MPT_SCSI_HOST *hd = shost_priv(host); @@ -1880,7 +1880,7 @@ mptsas_slave_alloc(struct scsi_device *sdev) vdevice = kzalloc(sizeof(VirtDevice), GFP_KERNEL); if (!vdevice) { - printk(MYIOC_s_ERR_FMT "slave_alloc kzalloc(%zd) FAILED!\n", + printk(MYIOC_s_ERR_FMT "sdev_prep kzalloc(%zd) FAILED!\n", ioc->name, sizeof(VirtDevice)); return -ENOMEM; } @@ -2005,10 +2005,10 @@ static const struct scsi_host_template mptsas_driver_template = { .info = mptscsih_info, .queuecommand = mptsas_qcmd, .target_alloc = mptsas_target_alloc, - .slave_alloc = mptsas_slave_alloc, + .sdev_prep = mptsas_sdev_prep, .slave_configure = mptsas_slave_configure, .target_destroy = mptsas_target_destroy, - .slave_destroy = mptscsih_slave_destroy, + .sdev_destroy = mptscsih_sdev_destroy, .change_queue_depth = mptscsih_change_queue_depth, .eh_timed_out = mptsas_eh_timed_out, .eh_abort_handler = mptscsih_abort, diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index 6c3f25cc33ff..50ea4ee65d5c 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c @@ -1071,7 +1071,7 @@ EXPORT_SYMBOL(mptscsih_flush_running_cmds); * * Returns: None. * - * Called from slave_destroy. + * Called from sdev_destroy. */ static void mptscsih_search_running_cmds(MPT_SCSI_HOST *hd, VirtDevice *vdevice) @@ -2331,7 +2331,7 @@ EXPORT_SYMBOL(mptscsih_raid_id_to_num); * Called if no device present or device being unloaded */ void -mptscsih_slave_destroy(struct scsi_device *sdev) +mptscsih_sdev_destroy(struct scsi_device *sdev) { struct Scsi_Host *host = sdev->host; MPT_SCSI_HOST *hd = shost_priv(host); @@ -3302,7 +3302,7 @@ EXPORT_SYMBOL(mptscsih_resume); EXPORT_SYMBOL(mptscsih_show_info); EXPORT_SYMBOL(mptscsih_info); EXPORT_SYMBOL(mptscsih_qcmd); -EXPORT_SYMBOL(mptscsih_slave_destroy); +EXPORT_SYMBOL(mptscsih_sdev_destroy); EXPORT_SYMBOL(mptscsih_slave_configure); EXPORT_SYMBOL(mptscsih_abort); EXPORT_SYMBOL(mptscsih_dev_reset); diff --git a/drivers/message/fusion/mptscsih.h b/drivers/message/fusion/mptscsih.h index e3d92c392673..9f1cde8e76a8 100644 --- a/drivers/message/fusion/mptscsih.h +++ b/drivers/message/fusion/mptscsih.h @@ -116,7 +116,7 @@ extern const char * mptscsih_info(struct Scsi_Host *SChost); 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_slave_destroy(struct scsi_device *device); +extern void mptscsih_sdev_destroy(struct scsi_device *device); extern int mptscsih_slave_configure(struct scsi_device *device); extern int mptscsih_abort(struct scsi_cmnd * SCpnt); extern int mptscsih_dev_reset(struct scsi_cmnd * SCpnt); diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c index 574b882c9a85..2fe8cecff458 100644 --- a/drivers/message/fusion/mptspi.c +++ b/drivers/message/fusion/mptspi.c @@ -713,7 +713,7 @@ static void mptspi_dv_device(struct _MPT_SCSI_HOST *hd, mptspi_read_parameters(sdev->sdev_target); } -static int mptspi_slave_alloc(struct scsi_device *sdev) +static int mptspi_sdev_prep(struct scsi_device *sdev) { MPT_SCSI_HOST *hd = shost_priv(sdev->host); VirtTarget *vtarget; @@ -727,7 +727,7 @@ static int mptspi_slave_alloc(struct scsi_device *sdev) vdevice = kzalloc(sizeof(VirtDevice), GFP_KERNEL); if (!vdevice) { - printk(MYIOC_s_ERR_FMT "slave_alloc kmalloc(%zd) FAILED!\n", + printk(MYIOC_s_ERR_FMT "sdev_prep kmalloc(%zd) FAILED!\n", ioc->name, sizeof(VirtDevice)); return -ENOMEM; } @@ -799,7 +799,7 @@ mptspi_qcmd(struct Scsi_Host *shost, struct scsi_cmnd *SCpnt) return mptscsih_qcmd(SCpnt); } -static void mptspi_slave_destroy(struct scsi_device *sdev) +static void mptspi_sdev_destroy(struct scsi_device *sdev) { struct scsi_target *starget = scsi_target(sdev); VirtTarget *vtarget = starget->hostdata; @@ -817,7 +817,7 @@ static void mptspi_slave_destroy(struct scsi_device *sdev) mptspi_write_spi_device_pg1(starget, &pg1); } - mptscsih_slave_destroy(sdev); + mptscsih_sdev_destroy(sdev); } static const struct scsi_host_template mptspi_driver_template = { @@ -828,10 +828,10 @@ static const struct scsi_host_template mptspi_driver_template = { .info = mptscsih_info, .queuecommand = mptspi_qcmd, .target_alloc = mptspi_target_alloc, - .slave_alloc = mptspi_slave_alloc, + .sdev_prep = mptspi_sdev_prep, .slave_configure = mptspi_slave_configure, .target_destroy = mptspi_target_destroy, - .slave_destroy = mptspi_slave_destroy, + .sdev_destroy = mptspi_sdev_destroy, .change_queue_depth = mptscsih_change_queue_depth, .eh_abort_handler = mptscsih_abort, .eh_device_reset_handler = mptscsih_dev_reset, diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c index b2a8cd792266..2e217b007b9c 100644 --- a/drivers/s390/scsi/zfcp_scsi.c +++ b/drivers/s390/scsi/zfcp_scsi.c @@ -37,11 +37,11 @@ static bool allow_lun_scan = true; module_param(allow_lun_scan, bool, 0600); MODULE_PARM_DESC(allow_lun_scan, "For NPIV, scan and attach all storage LUNs"); -static void zfcp_scsi_slave_destroy(struct scsi_device *sdev) +static void zfcp_scsi_sdev_destroy(struct scsi_device *sdev) { struct zfcp_scsi_dev *zfcp_sdev = sdev_to_zfcp(sdev); - /* if previous slave_alloc returned early, there is nothing to do */ + /* if previous sdev_prep returned early, there is nothing to do */ if (!zfcp_sdev->port) return; @@ -110,7 +110,7 @@ int zfcp_scsi_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *scpnt) return ret; } -static int zfcp_scsi_slave_alloc(struct scsi_device *sdev) +static int zfcp_scsi_sdev_prep(struct scsi_device *sdev) { struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); struct zfcp_adapter *adapter = @@ -427,9 +427,9 @@ static const struct scsi_host_template zfcp_scsi_host_template = { .eh_device_reset_handler = zfcp_scsi_eh_device_reset_handler, .eh_target_reset_handler = zfcp_scsi_eh_target_reset_handler, .eh_host_reset_handler = zfcp_scsi_eh_host_reset_handler, - .slave_alloc = zfcp_scsi_slave_alloc, + .sdev_prep = zfcp_scsi_sdev_prep, .slave_configure = zfcp_scsi_slave_configure, - .slave_destroy = zfcp_scsi_slave_destroy, + .sdev_destroy = zfcp_scsi_sdev_destroy, .change_queue_depth = scsi_change_queue_depth, .host_reset = zfcp_scsi_sysfs_host_reset, .proc_name = "zfcp", diff --git a/drivers/s390/scsi/zfcp_sysfs.c b/drivers/s390/scsi/zfcp_sysfs.c index cb67fa80fb12..7c29d88432c1 100644 --- a/drivers/s390/scsi/zfcp_sysfs.c +++ b/drivers/s390/scsi/zfcp_sysfs.c @@ -284,7 +284,7 @@ static bool zfcp_sysfs_port_in_use(struct zfcp_port *const port) goto unlock_host_lock; } - /* port is about to be removed, so no more unit_add or slave_alloc */ + /* port is about to be removed, so no more unit_add or sdev_prep */ zfcp_sysfs_port_set_removing(port); in_use = false; diff --git a/drivers/s390/scsi/zfcp_unit.c b/drivers/s390/scsi/zfcp_unit.c index 60f2a04f0869..e94acab0c142 100644 --- a/drivers/s390/scsi/zfcp_unit.c +++ b/drivers/s390/scsi/zfcp_unit.c @@ -170,7 +170,7 @@ int zfcp_unit_add(struct zfcp_port *port, u64 fcp_lun) write_unlock_irq(&port->unit_list_lock); /* * lock order: shost->scan_mutex before zfcp_sysfs_port_units_mutex - * due to zfcp_unit_scsi_scan() => zfcp_scsi_slave_alloc() + * due to zfcp_unit_scsi_scan() => zfcp_scsi_sdev_prep() */ mutex_unlock(&zfcp_sysfs_port_units_mutex); diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c index 85439e976143..9568401b80e9 100644 --- a/drivers/scsi/53c700.c +++ b/drivers/scsi/53c700.c @@ -158,9 +158,9 @@ STATIC int NCR_700_abort(struct scsi_cmnd * SCpnt); 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_slave_alloc(struct scsi_device *SDpnt); +STATIC int NCR_700_sdev_prep(struct scsi_device *SDpnt); STATIC int NCR_700_slave_configure(struct scsi_device *SDpnt); -STATIC void NCR_700_slave_destroy(struct scsi_device *SDpnt); +STATIC void NCR_700_sdev_destroy(struct scsi_device *SDpnt); static int NCR_700_change_queue_depth(struct scsi_device *SDpnt, int depth); STATIC const struct attribute_group *NCR_700_dev_groups[]; @@ -331,8 +331,8 @@ NCR_700_detect(struct scsi_host_template *tpnt, tpnt->sg_tablesize = NCR_700_SG_SEGMENTS; tpnt->cmd_per_lun = NCR_700_CMD_PER_LUN; tpnt->slave_configure = NCR_700_slave_configure; - tpnt->slave_destroy = NCR_700_slave_destroy; - tpnt->slave_alloc = NCR_700_slave_alloc; + tpnt->sdev_destroy = NCR_700_sdev_destroy; + tpnt->sdev_prep = NCR_700_sdev_prep; tpnt->change_queue_depth = NCR_700_change_queue_depth; if(tpnt->name == NULL) @@ -2017,7 +2017,7 @@ NCR_700_set_offset(struct scsi_target *STp, int offset) } STATIC int -NCR_700_slave_alloc(struct scsi_device *SDp) +NCR_700_sdev_prep(struct scsi_device *SDp) { SDp->hostdata = kzalloc(sizeof(struct NCR_700_Device_Parameters), GFP_KERNEL); @@ -2052,7 +2052,7 @@ NCR_700_slave_configure(struct scsi_device *SDp) } STATIC void -NCR_700_slave_destroy(struct scsi_device *SDp) +NCR_700_sdev_destroy(struct scsi_device *SDp) { kfree(SDp->hostdata); SDp->hostdata = NULL; diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c index 4202059815a0..9f65c5150119 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm.c +++ b/drivers/scsi/aic7xxx/aic79xx_osm.c @@ -672,7 +672,7 @@ ahd_linux_target_destroy(struct scsi_target *starget) } static int -ahd_linux_slave_alloc(struct scsi_device *sdev) +ahd_linux_sdev_prep(struct scsi_device *sdev) { struct ahd_softc *ahd = *((struct ahd_softc **)sdev->host->hostdata); @@ -906,7 +906,7 @@ struct scsi_host_template aic79xx_driver_template = { .this_id = -1, .max_sectors = 8192, .cmd_per_lun = 2, - .slave_alloc = ahd_linux_slave_alloc, + .sdev_prep = ahd_linux_sdev_prep, .slave_configure = ahd_linux_slave_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 b0c4f2345321..122dce89a009 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -632,7 +632,7 @@ ahc_linux_target_destroy(struct scsi_target *starget) } static int -ahc_linux_slave_alloc(struct scsi_device *sdev) +ahc_linux_sdev_prep(struct scsi_device *sdev) { struct ahc_softc *ahc = *((struct ahc_softc **)sdev->host->hostdata); @@ -791,7 +791,7 @@ struct scsi_host_template aic7xxx_driver_template = { .this_id = -1, .max_sectors = 8192, .cmd_per_lun = 2, - .slave_alloc = ahc_linux_slave_alloc, + .sdev_prep = ahc_linux_sdev_prep, .slave_configure = ahc_linux_slave_configure, .target_alloc = ahc_linux_target_alloc, .target_destroy = ahc_linux_target_destroy, diff --git a/drivers/scsi/bfa/bfad_im.c b/drivers/scsi/bfa/bfad_im.c index 66fb701401de..fad91a5c5a71 100644 --- a/drivers/scsi/bfa/bfad_im.c +++ b/drivers/scsi/bfa/bfad_im.c @@ -25,7 +25,7 @@ struct scsi_transport_template *bfad_im_scsi_transport_template; struct scsi_transport_template *bfad_im_scsi_vport_transport_template; static void bfad_im_itnim_work_handler(struct work_struct *work); static int bfad_im_queuecommand(struct Scsi_Host *h, struct scsi_cmnd *cmnd); -static int bfad_im_slave_alloc(struct scsi_device *sdev); +static int bfad_im_sdev_prep(struct scsi_device *sdev); static void bfad_im_fc_rport_add(struct bfad_im_port_s *im_port, struct bfad_itnim_s *itnim); @@ -404,10 +404,10 @@ bfad_im_reset_target_handler(struct scsi_cmnd *cmnd) } /* - * Scsi_Host template entry slave_destroy. + * Scsi_Host template entry sdev_destroy. */ static void -bfad_im_slave_destroy(struct scsi_device *sdev) +bfad_im_sdev_destroy(struct scsi_device *sdev) { sdev->hostdata = NULL; return; @@ -800,9 +800,9 @@ struct scsi_host_template bfad_im_scsi_host_template = { .eh_device_reset_handler = bfad_im_reset_lun_handler, .eh_target_reset_handler = bfad_im_reset_target_handler, - .slave_alloc = bfad_im_slave_alloc, + .sdev_prep = bfad_im_sdev_prep, .slave_configure = bfad_im_slave_configure, - .slave_destroy = bfad_im_slave_destroy, + .sdev_destroy = bfad_im_sdev_destroy, .this_id = -1, .sg_tablesize = BFAD_IO_MAX_SGE, @@ -823,9 +823,9 @@ struct scsi_host_template bfad_im_vport_template = { .eh_device_reset_handler = bfad_im_reset_lun_handler, .eh_target_reset_handler = bfad_im_reset_target_handler, - .slave_alloc = bfad_im_slave_alloc, + .sdev_prep = bfad_im_sdev_prep, .slave_configure = bfad_im_slave_configure, - .slave_destroy = bfad_im_slave_destroy, + .sdev_destroy = bfad_im_sdev_destroy, .this_id = -1, .sg_tablesize = BFAD_IO_MAX_SGE, @@ -915,7 +915,7 @@ bfad_get_itnim(struct bfad_im_port_s *im_port, int id) } /* - * Function is invoked from the SCSI Host Template slave_alloc() entry point. + * Function is invoked from the SCSI Host Template sdev_prep() entry point. * Has the logic to query the LUN Mask database to check if this LUN needs to * be made visible to the SCSI mid-layer or not. * @@ -946,10 +946,10 @@ bfad_im_check_if_make_lun_visible(struct scsi_device *sdev, } /* - * Scsi_Host template entry slave_alloc + * Scsi_Host template entry sdev_prep */ static int -bfad_im_slave_alloc(struct scsi_device *sdev) +bfad_im_sdev_prep(struct scsi_device *sdev) { struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); struct bfad_itnim_data_s *itnim_data; diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c index f49783b89d04..bc3873211d6c 100644 --- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c +++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c @@ -2951,7 +2951,7 @@ static struct scsi_host_template bnx2fc_shost_template = { .eh_device_reset_handler = bnx2fc_eh_device_reset, /* lun reset */ .eh_target_reset_handler = bnx2fc_eh_target_reset, /* tgt reset */ .eh_host_reset_handler = fc_eh_host_reset, - .slave_alloc = fc_slave_alloc, + .sdev_prep = fc_sdev_prep, .change_queue_depth = scsi_change_queue_depth, .this_id = -1, .cmd_per_lun = 3, diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c index 05e1a63e00c3..b30c0e19a78a 100644 --- a/drivers/scsi/csiostor/csio_scsi.c +++ b/drivers/scsi/csiostor/csio_scsi.c @@ -2224,7 +2224,7 @@ csio_eh_lun_reset_handler(struct scsi_cmnd *cmnd) } static int -csio_slave_alloc(struct scsi_device *sdev) +csio_sdev_prep(struct scsi_device *sdev) { struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); @@ -2244,7 +2244,7 @@ csio_slave_configure(struct scsi_device *sdev) } static void -csio_slave_destroy(struct scsi_device *sdev) +csio_sdev_destroy(struct scsi_device *sdev) { sdev->hostdata = NULL; } @@ -2276,9 +2276,9 @@ struct scsi_host_template csio_fcoe_shost_template = { .eh_timed_out = fc_eh_timed_out, .eh_abort_handler = csio_eh_abort_handler, .eh_device_reset_handler = csio_eh_lun_reset_handler, - .slave_alloc = csio_slave_alloc, + .sdev_prep = csio_sdev_prep, .slave_configure = csio_slave_configure, - .slave_destroy = csio_slave_destroy, + .sdev_destroy = csio_sdev_destroy, .scan_finished = csio_scan_finished, .this_id = -1, .sg_tablesize = CSIO_SCSI_MAX_SGE, @@ -2295,9 +2295,9 @@ struct scsi_host_template csio_fcoe_shost_vport_template = { .eh_timed_out = fc_eh_timed_out, .eh_abort_handler = csio_eh_abort_handler, .eh_device_reset_handler = csio_eh_lun_reset_handler, - .slave_alloc = csio_slave_alloc, + .sdev_prep = csio_sdev_prep, .slave_configure = csio_slave_configure, - .slave_destroy = csio_slave_destroy, + .sdev_destroy = csio_sdev_destroy, .scan_finished = csio_scan_finished, .this_id = -1, .sg_tablesize = CSIO_SCSI_MAX_SGE, diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c index d108a86e196e..e3f275b2353e 100644 --- a/drivers/scsi/dc395x.c +++ b/drivers/scsi/dc395x.c @@ -3715,13 +3715,13 @@ static void adapter_remove_and_free_all_devices(struct AdapterCtlBlk* acb) /** - * dc395x_slave_alloc - Called by the scsi mid layer to tell us about a new + * dc395x_sdev_prep - Called by the scsi mid layer to tell us about a new * scsi device that we need to deal with. We allocate a new device and then * insert that device into the adapters device list. * * @scsi_device: The new scsi device that we need to handle. **/ -static int dc395x_slave_alloc(struct scsi_device *scsi_device) +static int dc395x_sdev_prep(struct scsi_device *scsi_device) { struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)scsi_device->host->hostdata; struct DeviceCtlBlk *dcb; @@ -3736,12 +3736,12 @@ static int dc395x_slave_alloc(struct scsi_device *scsi_device) /** - * dc395x_slave_destroy - Called by the scsi mid layer to tell us about a + * dc395x_sdev_destroy - Called by the scsi mid layer to tell us about a * device that is going away. * * @scsi_device: The new scsi device that we need to handle. **/ -static void dc395x_slave_destroy(struct scsi_device *scsi_device) +static void dc395x_sdev_destroy(struct scsi_device *scsi_device) { struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)scsi_device->host->hostdata; struct DeviceCtlBlk *dcb = find_dcb(acb, scsi_device->id, scsi_device->lun); @@ -4547,8 +4547,8 @@ static const struct scsi_host_template dc395x_driver_template = { .show_info = dc395x_show_info, .name = DC395X_BANNER " " DC395X_VERSION, .queuecommand = dc395x_queue_command, - .slave_alloc = dc395x_slave_alloc, - .slave_destroy = dc395x_slave_destroy, + .sdev_prep = dc395x_sdev_prep, + .sdev_destroy = dc395x_sdev_destroy, .can_queue = DC395x_MAX_CAN_QUEUE, .this_id = 7, .sg_tablesize = DC395x_MAX_SG_TABLESIZE, diff --git a/drivers/scsi/esp_scsi.c b/drivers/scsi/esp_scsi.c index 0175d2282b45..06551b4f8bac 100644 --- a/drivers/scsi/esp_scsi.c +++ b/drivers/scsi/esp_scsi.c @@ -2441,7 +2441,7 @@ static void esp_target_destroy(struct scsi_target *starget) tp->starget = NULL; } -static int esp_slave_alloc(struct scsi_device *dev) +static int esp_sdev_prep(struct scsi_device *dev) { struct esp *esp = shost_priv(dev->host); struct esp_target_data *tp = &esp->target[dev->id]; @@ -2479,7 +2479,7 @@ static int esp_slave_configure(struct scsi_device *dev) return 0; } -static void esp_slave_destroy(struct scsi_device *dev) +static void esp_sdev_destroy(struct scsi_device *dev) { struct esp_lun_data *lp = dev->hostdata; @@ -2667,9 +2667,9 @@ const struct scsi_host_template scsi_esp_template = { .queuecommand = esp_queuecommand, .target_alloc = esp_target_alloc, .target_destroy = esp_target_destroy, - .slave_alloc = esp_slave_alloc, + .sdev_prep = esp_sdev_prep, .slave_configure = esp_slave_configure, - .slave_destroy = esp_slave_destroy, + .sdev_destroy = esp_sdev_destroy, .eh_abort_handler = esp_eh_abort_handler, .eh_bus_reset_handler = esp_eh_bus_reset_handler, .eh_host_reset_handler = esp_eh_host_reset_handler, diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c index 39aec710660c..0faf2ce45f10 100644 --- a/drivers/scsi/fcoe/fcoe.c +++ b/drivers/scsi/fcoe/fcoe.c @@ -269,7 +269,7 @@ static const struct scsi_host_template fcoe_shost_template = { .eh_abort_handler = fc_eh_abort, .eh_device_reset_handler = fc_eh_device_reset, .eh_host_reset_handler = fc_eh_host_reset, - .slave_alloc = fc_slave_alloc, + .sdev_prep = fc_sdev_prep, .change_queue_depth = scsi_change_queue_depth, .this_id = -1, .cmd_per_lun = 3, diff --git a/drivers/scsi/fnic/fnic_main.c b/drivers/scsi/fnic/fnic_main.c index 0044717d4486..056e1e65f279 100644 --- a/drivers/scsi/fnic/fnic_main.c +++ b/drivers/scsi/fnic/fnic_main.c @@ -87,7 +87,7 @@ static struct libfc_function_template fnic_transport_template = { .exch_mgr_reset = fnic_exch_mgr_reset }; -static int fnic_slave_alloc(struct scsi_device *sdev) +static int fnic_sdev_prep(struct scsi_device *sdev) { struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); @@ -106,7 +106,7 @@ static const struct scsi_host_template fnic_host_template = { .eh_abort_handler = fnic_abort_cmd, .eh_device_reset_handler = fnic_device_reset, .eh_host_reset_handler = fnic_host_reset, - .slave_alloc = fnic_slave_alloc, + .sdev_prep = fnic_sdev_prep, .change_queue_depth = scsi_change_queue_depth, .this_id = -1, .cmd_per_lun = 3, diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h index d223f482488f..c5a1a865396d 100644 --- a/drivers/scsi/hisi_sas/hisi_sas.h +++ b/drivers/scsi/hisi_sas/hisi_sas.h @@ -645,7 +645,7 @@ extern void hisi_sas_remove(struct platform_device *pdev); int hisi_sas_device_configure(struct scsi_device *sdev, struct queue_limits *lim); -extern int hisi_sas_slave_alloc(struct scsi_device *sdev); +extern int hisi_sas_sdev_prep(struct scsi_device *sdev); extern int hisi_sas_scan_finished(struct Scsi_Host *shost, unsigned long time); extern void hisi_sas_scan_start(struct Scsi_Host *shost); extern int hisi_sas_host_reset(struct Scsi_Host *shost, int reset_type); diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c index 6219807ce3b9..610e3668ac4f 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_main.c +++ b/drivers/scsi/hisi_sas/hisi_sas_main.c @@ -805,13 +805,13 @@ static int hisi_sas_init_device(struct domain_device *device) return rc; } -int hisi_sas_slave_alloc(struct scsi_device *sdev) +int hisi_sas_sdev_prep(struct scsi_device *sdev) { struct domain_device *ddev = sdev_to_domain_dev(sdev); struct hisi_sas_device *sas_dev = ddev->lldd_dev; int rc; - rc = sas_slave_alloc(sdev); + rc = sas_sdev_prep(sdev); if (rc) return rc; @@ -821,7 +821,7 @@ int hisi_sas_slave_alloc(struct scsi_device *sdev) sas_dev->dev_status = HISI_SAS_DEV_NORMAL; return 0; } -EXPORT_SYMBOL_GPL(hisi_sas_slave_alloc); +EXPORT_SYMBOL_GPL(hisi_sas_sdev_prep); static int hisi_sas_dev_found(struct domain_device *device) { diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c index 71b5008c3552..ac4fc89259a7 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c +++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c @@ -1740,7 +1740,7 @@ static const struct scsi_host_template sht_v1_hw = { .scan_finished = hisi_sas_scan_finished, .scan_start = hisi_sas_scan_start, .sg_tablesize = HISI_SAS_SGE_PAGE_CNT, - .slave_alloc = hisi_sas_slave_alloc, + .sdev_prep = hisi_sas_sdev_prep, .shost_groups = host_v1_hw_groups, .host_reset = hisi_sas_host_reset, }; diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index 342d75f12051..99eea5a0332b 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c +++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c @@ -3572,7 +3572,7 @@ static const struct scsi_host_template sht_v2_hw = { .scan_finished = hisi_sas_scan_finished, .scan_start = hisi_sas_scan_start, .sg_tablesize = HISI_SAS_SGE_PAGE_CNT, - .slave_alloc = hisi_sas_slave_alloc, + .sdev_prep = hisi_sas_sdev_prep, .shost_groups = host_v2_hw_groups, .sdev_groups = sdev_groups_v2_hw, .host_reset = hisi_sas_host_reset, diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c index 4cd3a3eab6f1..fcc3e7c04bba 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c @@ -3336,7 +3336,7 @@ static const struct scsi_host_template sht_v3_hw = { .map_queues = hisi_sas_map_queues, .sg_tablesize = HISI_SAS_SGE_PAGE_CNT, .sg_prot_tablesize = HISI_SAS_SGE_PAGE_CNT, - .slave_alloc = hisi_sas_slave_alloc, + .sdev_prep = hisi_sas_sdev_prep, .shost_groups = host_v3_hw_groups, .sdev_groups = sdev_groups_v3_hw, .tag_alloc_policy = BLK_TAG_ALLOC_RR, diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index e044ed09d7e0..674278cd6ff3 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c @@ -283,9 +283,9 @@ static int hpsa_scan_finished(struct Scsi_Host *sh, 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_slave_alloc(struct scsi_device *sdev); +static int hpsa_sdev_prep(struct scsi_device *sdev); static int hpsa_slave_configure(struct scsi_device *sdev); -static void hpsa_slave_destroy(struct scsi_device *sdev); +static void hpsa_sdev_destroy(struct scsi_device *sdev); static void hpsa_update_scsi_devices(struct ctlr_info *h); static int check_for_unit_attention(struct ctlr_info *h, @@ -978,9 +978,9 @@ static const struct scsi_host_template hpsa_driver_template = { .this_id = -1, .eh_device_reset_handler = hpsa_eh_device_reset_handler, .ioctl = hpsa_ioctl, - .slave_alloc = hpsa_slave_alloc, + .sdev_prep = hpsa_sdev_prep, .slave_configure = hpsa_slave_configure, - .slave_destroy = hpsa_slave_destroy, + .sdev_destroy = hpsa_sdev_destroy, #ifdef CONFIG_COMPAT .compat_ioctl = hpsa_compat_ioctl, #endif @@ -2107,7 +2107,7 @@ static struct hpsa_scsi_dev_t *lookup_hpsa_scsi_dev(struct ctlr_info *h, return NULL; } -static int hpsa_slave_alloc(struct scsi_device *sdev) +static int hpsa_sdev_prep(struct scsi_device *sdev) { struct hpsa_scsi_dev_t *sd = NULL; unsigned long flags; @@ -2173,7 +2173,7 @@ static int hpsa_slave_configure(struct scsi_device *sdev) return 0; } -static void hpsa_slave_destroy(struct scsi_device *sdev) +static void hpsa_sdev_destroy(struct scsi_device *sdev) { struct hpsa_scsi_dev_t *hdev = NULL; diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c index e66c3ef74267..e8b6a9a779a0 100644 --- a/drivers/scsi/ibmvscsi/ibmvfc.c +++ b/drivers/scsi/ibmvscsi/ibmvfc.c @@ -3393,7 +3393,7 @@ static int ibmvfc_scan_finished(struct Scsi_Host *shost, unsigned long time) } /** - * ibmvfc_slave_alloc - Setup the device's task set value + * ibmvfc_sdev_prep - Setup the device's task set value * @sdev: struct scsi_device device to configure * * Set the device's task set value so that error handling works as @@ -3402,7 +3402,7 @@ static int ibmvfc_scan_finished(struct Scsi_Host *shost, unsigned long time) * Returns: * 0 on success / -ENXIO if device does not exist **/ -static int ibmvfc_slave_alloc(struct scsi_device *sdev) +static int ibmvfc_sdev_prep(struct scsi_device *sdev) { struct Scsi_Host *shost = sdev->host; struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); @@ -3696,7 +3696,7 @@ static const struct scsi_host_template driver_template = { .eh_device_reset_handler = ibmvfc_eh_device_reset_handler, .eh_target_reset_handler = ibmvfc_eh_target_reset_handler, .eh_host_reset_handler = ibmvfc_eh_host_reset_handler, - .slave_alloc = ibmvfc_slave_alloc, + .sdev_prep = ibmvfc_sdev_prep, .slave_configure = ibmvfc_slave_configure, .target_alloc = ibmvfc_target_alloc, .scan_finished = ibmvfc_scan_finished, diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 31cf2d31cceb..a20465fc6096 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c @@ -4745,13 +4745,13 @@ static struct ipr_resource_entry *ipr_find_sdev(struct scsi_device *sdev) } /** - * ipr_slave_destroy - Unconfigure a SCSI device + * ipr_sdev_destroy - Unconfigure a SCSI device * @sdev: scsi device struct * * Return value: * nothing **/ -static void ipr_slave_destroy(struct scsi_device *sdev) +static void ipr_sdev_destroy(struct scsi_device *sdev) { struct ipr_resource_entry *res; struct ipr_ioa_cfg *ioa_cfg; @@ -4815,7 +4815,7 @@ static int ipr_device_configure(struct scsi_device *sdev, } /** - * ipr_slave_alloc - Prepare for commands to a device. + * ipr_sdev_prep - Prepare for commands to a device. * @sdev: scsi device struct * * This function saves a pointer to the resource entry @@ -4826,7 +4826,7 @@ static int ipr_device_configure(struct scsi_device *sdev, * Return value: * 0 on success / -ENXIO if device does not exist **/ -static int ipr_slave_alloc(struct scsi_device *sdev) +static int ipr_sdev_prep(struct scsi_device *sdev) { struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *) sdev->host->hostdata; struct ipr_resource_entry *res; @@ -6398,9 +6398,9 @@ static const struct scsi_host_template driver_template = { .eh_abort_handler = ipr_eh_abort, .eh_device_reset_handler = ipr_eh_dev_reset, .eh_host_reset_handler = ipr_eh_host_reset, - .slave_alloc = ipr_slave_alloc, + .sdev_prep = ipr_sdev_prep, .device_configure = ipr_device_configure, - .slave_destroy = ipr_slave_destroy, + .sdev_destroy = ipr_sdev_destroy, .scan_finished = ipr_scan_finished, .target_destroy = ipr_target_destroy, .change_queue_depth = ipr_change_queue_depth, diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c index 80be3a936d92..035725ece8e9 100644 --- a/drivers/scsi/libfc/fc_fcp.c +++ b/drivers/scsi/libfc/fc_fcp.c @@ -2222,13 +2222,13 @@ int fc_eh_host_reset(struct scsi_cmnd *sc_cmd) EXPORT_SYMBOL(fc_eh_host_reset); /** - * fc_slave_alloc() - Configure the queue depth of a Scsi_Host + * fc_sdev_prep() - Configure the queue depth of a Scsi_Host * @sdev: The SCSI device that identifies the SCSI host * * Configures queue depth based on host's cmd_per_len. If not set * then we use the libfc default. */ -int fc_slave_alloc(struct scsi_device *sdev) +int fc_sdev_prep(struct scsi_device *sdev) { struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); @@ -2238,7 +2238,7 @@ int fc_slave_alloc(struct scsi_device *sdev) scsi_change_queue_depth(sdev, FC_FCP_DFLT_QUEUE_DEPTH); return 0; } -EXPORT_SYMBOL(fc_slave_alloc); +EXPORT_SYMBOL(fc_sdev_prep); /** * fc_fcp_destroy() - Tear down the FCP layer for a given local port diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c index da11d32840e2..6ce2c67f723f 100644 --- a/drivers/scsi/libsas/sas_scsi_host.c +++ b/drivers/scsi/libsas/sas_scsi_host.c @@ -1194,14 +1194,14 @@ void sas_task_abort(struct sas_task *task) } EXPORT_SYMBOL_GPL(sas_task_abort); -int sas_slave_alloc(struct scsi_device *sdev) +int sas_sdev_prep(struct scsi_device *sdev) { if (dev_is_sata(sdev_to_domain_dev(sdev)) && sdev->lun) return -ENXIO; return 0; } -EXPORT_SYMBOL_GPL(sas_slave_alloc); +EXPORT_SYMBOL_GPL(sas_sdev_prep); void sas_target_destroy(struct scsi_target *starget) { diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c index 0eaede8275da..6726fa91306c 100644 --- a/drivers/scsi/lpfc/lpfc_scsi.c +++ b/drivers/scsi/lpfc/lpfc_scsi.c @@ -6226,7 +6226,7 @@ lpfc_host_reset_handler(struct scsi_cmnd *cmnd) } /** - * lpfc_slave_alloc - scsi_host_template slave_alloc entry point + * lpfc_sdev_prep - scsi_host_template sdev_prep entry point * @sdev: Pointer to scsi_device. * * This routine populates the cmds_per_lun count + 2 scsi_bufs into this host's @@ -6239,7 +6239,7 @@ lpfc_host_reset_handler(struct scsi_cmnd *cmnd) * 0 - Success **/ static int -lpfc_slave_alloc(struct scsi_device *sdev) +lpfc_sdev_prep(struct scsi_device *sdev) { struct lpfc_vport *vport = (struct lpfc_vport *) sdev->host->hostdata; struct lpfc_hba *phba = vport->phba; @@ -6371,13 +6371,13 @@ lpfc_slave_configure(struct scsi_device *sdev) } /** - * lpfc_slave_destroy - slave_destroy entry point of SHT data structure + * lpfc_sdev_destroy - sdev_destroy entry point of SHT data structure * @sdev: Pointer to scsi_device. * * This routine sets @sdev hostatdata filed to null. **/ static void -lpfc_slave_destroy(struct scsi_device *sdev) +lpfc_sdev_destroy(struct scsi_device *sdev) { struct lpfc_vport *vport = (struct lpfc_vport *) sdev->host->hostdata; struct lpfc_hba *phba = vport->phba; @@ -6737,7 +6737,7 @@ lpfc_no_command(struct Scsi_Host *shost, struct scsi_cmnd *cmnd) } static int -lpfc_no_slave(struct scsi_device *sdev) +lpfc_no_sdev(struct scsi_device *sdev) { return -ENODEV; } @@ -6748,8 +6748,8 @@ struct scsi_host_template lpfc_template_nvme = { .proc_name = LPFC_DRIVER_NAME, .info = lpfc_info, .queuecommand = lpfc_no_command, - .slave_alloc = lpfc_no_slave, - .slave_configure = lpfc_no_slave, + .sdev_prep = lpfc_no_sdev, + .slave_configure = lpfc_no_sdev, .scan_finished = lpfc_scan_finished, .this_id = -1, .sg_tablesize = 1, @@ -6772,9 +6772,9 @@ struct scsi_host_template lpfc_template = { .eh_device_reset_handler = lpfc_device_reset_handler, .eh_target_reset_handler = lpfc_target_reset_handler, .eh_host_reset_handler = lpfc_host_reset_handler, - .slave_alloc = lpfc_slave_alloc, + .sdev_prep = lpfc_sdev_prep, .slave_configure = lpfc_slave_configure, - .slave_destroy = lpfc_slave_destroy, + .sdev_destroy = lpfc_sdev_destroy, .scan_finished = lpfc_scan_finished, .this_id = -1, .sg_tablesize = LPFC_DEFAULT_SG_SEG_CNT, @@ -6799,9 +6799,9 @@ struct scsi_host_template lpfc_vport_template = { .eh_target_reset_handler = lpfc_target_reset_handler, .eh_bus_reset_handler = NULL, .eh_host_reset_handler = NULL, - .slave_alloc = lpfc_slave_alloc, + .sdev_prep = lpfc_sdev_prep, .slave_configure = lpfc_slave_configure, - .slave_destroy = lpfc_slave_destroy, + .sdev_destroy = lpfc_sdev_destroy, .scan_finished = lpfc_scan_finished, .this_id = -1, .sg_tablesize = LPFC_DEFAULT_SG_SEG_CNT, diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index 4ecf5284c0fc..239cc17e189d 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c @@ -2109,7 +2109,7 @@ static int megasas_device_configure(struct scsi_device *sdev, return 0; } -static int megasas_slave_alloc(struct scsi_device *sdev) +static int megasas_sdev_prep(struct scsi_device *sdev) { u16 pd_index = 0, ld_tgt_id; struct megasas_instance *instance ; @@ -2154,7 +2154,7 @@ static int megasas_slave_alloc(struct scsi_device *sdev) return 0; } -static void megasas_slave_destroy(struct scsi_device *sdev) +static void megasas_sdev_destroy(struct scsi_device *sdev) { u16 ld_tgt_id; struct megasas_instance *instance; @@ -3511,8 +3511,8 @@ static const struct scsi_host_template megasas_template = { .name = "Avago SAS based MegaRAID driver", .proc_name = "megaraid_sas", .device_configure = megasas_device_configure, - .slave_alloc = megasas_slave_alloc, - .slave_destroy = megasas_slave_destroy, + .sdev_prep = megasas_sdev_prep, + .sdev_destroy = megasas_sdev_destroy, .queuecommand = megasas_queue_command, .eh_target_reset_handler = megasas_reset_target, .eh_abort_handler = megasas_task_abort, diff --git a/drivers/scsi/mpi3mr/mpi3mr_os.c b/drivers/scsi/mpi3mr/mpi3mr_os.c index 5f2f67acf8bf..9b5122ad09b5 100644 --- a/drivers/scsi/mpi3mr/mpi3mr_os.c +++ b/drivers/scsi/mpi3mr/mpi3mr_os.c @@ -4465,14 +4465,14 @@ static int mpi3mr_scan_finished(struct Scsi_Host *shost, } /** - * mpi3mr_slave_destroy - Slave destroy callback handler + * mpi3mr_sdev_destroy - Slave destroy callback handler * @sdev: SCSI device reference * * Cleanup and free per device(lun) private data. * * Return: Nothing. */ -static void mpi3mr_slave_destroy(struct scsi_device *sdev) +static void mpi3mr_sdev_destroy(struct scsi_device *sdev) { struct Scsi_Host *shost; struct mpi3mr_ioc *mrioc; @@ -4599,14 +4599,14 @@ static int mpi3mr_device_configure(struct scsi_device *sdev, } /** - * mpi3mr_slave_alloc -Slave alloc callback handler + * mpi3mr_sdev_prep -Slave alloc callback handler * @sdev: SCSI device reference * * Allocate per device(lun) private data and initialize it. * * Return: 0 on success -ENOMEM on memory allocation failure. */ -static int mpi3mr_slave_alloc(struct scsi_device *sdev) +static int mpi3mr_sdev_prep(struct scsi_device *sdev) { struct Scsi_Host *shost; struct mpi3mr_ioc *mrioc; @@ -5062,10 +5062,10 @@ static const struct scsi_host_template mpi3mr_driver_template = { .proc_name = MPI3MR_DRIVER_NAME, .queuecommand = mpi3mr_qcmd, .target_alloc = mpi3mr_target_alloc, - .slave_alloc = mpi3mr_slave_alloc, + .sdev_prep = mpi3mr_sdev_prep, .device_configure = mpi3mr_device_configure, .target_destroy = mpi3mr_target_destroy, - .slave_destroy = mpi3mr_slave_destroy, + .sdev_destroy = mpi3mr_sdev_destroy, .scan_finished = mpi3mr_scan_finished, .scan_start = mpi3mr_scan_start, .change_queue_depth = mpi3mr_change_queue_depth, diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c index 728cced42b0e..1f8f68027262 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c @@ -2026,14 +2026,14 @@ scsih_target_destroy(struct scsi_target *starget) } /** - * scsih_slave_alloc - device add routine + * scsih_sdev_prep - device add routine * @sdev: scsi device struct * * Return: 0 if ok. Any other return is assumed to be an error and * the device is ignored. */ static int -scsih_slave_alloc(struct scsi_device *sdev) +scsih_sdev_prep(struct scsi_device *sdev) { struct Scsi_Host *shost; struct MPT3SAS_ADAPTER *ioc; @@ -2108,11 +2108,11 @@ scsih_slave_alloc(struct scsi_device *sdev) } /** - * scsih_slave_destroy - device destroy routine + * scsih_sdev_destroy - device destroy routine * @sdev: scsi device struct */ static void -scsih_slave_destroy(struct scsi_device *sdev) +scsih_sdev_destroy(struct scsi_device *sdev) { struct MPT3SAS_TARGET *sas_target_priv_data; struct scsi_target *starget; @@ -11905,10 +11905,10 @@ static const struct scsi_host_template mpt2sas_driver_template = { .proc_name = MPT2SAS_DRIVER_NAME, .queuecommand = scsih_qcmd, .target_alloc = scsih_target_alloc, - .slave_alloc = scsih_slave_alloc, + .sdev_prep = scsih_sdev_prep, .device_configure = scsih_device_configure, .target_destroy = scsih_target_destroy, - .slave_destroy = scsih_slave_destroy, + .sdev_destroy = scsih_sdev_destroy, .scan_finished = scsih_scan_finished, .scan_start = scsih_scan_start, .change_queue_depth = scsih_change_queue_depth, @@ -11943,10 +11943,10 @@ static const struct scsi_host_template mpt3sas_driver_template = { .proc_name = MPT3SAS_DRIVER_NAME, .queuecommand = scsih_qcmd, .target_alloc = scsih_target_alloc, - .slave_alloc = scsih_slave_alloc, + .sdev_prep = scsih_sdev_prep, .device_configure = scsih_device_configure, .target_destroy = scsih_target_destroy, - .slave_destroy = scsih_slave_destroy, + .sdev_destroy = scsih_sdev_destroy, .scan_finished = scsih_scan_finished, .scan_start = scsih_scan_start, .change_queue_depth = scsih_change_queue_depth, diff --git a/drivers/scsi/myrb.c b/drivers/scsi/myrb.c index bfc2b835e612..bc5b2473cadf 100644 --- a/drivers/scsi/myrb.c +++ b/drivers/scsi/myrb.c @@ -1619,7 +1619,7 @@ static int myrb_queuecommand(struct Scsi_Host *shost, return myrb_pthru_queuecommand(shost, scmd); } -static int myrb_ldev_slave_alloc(struct scsi_device *sdev) +static int myrb_ldev_sdev_prep(struct scsi_device *sdev) { struct myrb_hba *cb = shost_priv(sdev->host); struct myrb_ldev_info *ldev_info; @@ -1665,7 +1665,7 @@ static int myrb_ldev_slave_alloc(struct scsi_device *sdev) return 0; } -static int myrb_pdev_slave_alloc(struct scsi_device *sdev) +static int myrb_pdev_sdev_prep(struct scsi_device *sdev) { struct myrb_hba *cb = shost_priv(sdev->host); struct myrb_pdev_state *pdev_info; @@ -1701,7 +1701,7 @@ static int myrb_pdev_slave_alloc(struct scsi_device *sdev) return 0; } -static int myrb_slave_alloc(struct scsi_device *sdev) +static int myrb_sdev_prep(struct scsi_device *sdev) { if (sdev->channel > myrb_logical_channel(sdev->host)) return -ENXIO; @@ -1710,9 +1710,9 @@ static int myrb_slave_alloc(struct scsi_device *sdev) return -ENXIO; if (sdev->channel == myrb_logical_channel(sdev->host)) - return myrb_ldev_slave_alloc(sdev); + return myrb_ldev_sdev_prep(sdev); - return myrb_pdev_slave_alloc(sdev); + return myrb_pdev_sdev_prep(sdev); } static int myrb_slave_configure(struct scsi_device *sdev) @@ -1741,7 +1741,7 @@ static int myrb_slave_configure(struct scsi_device *sdev) return 0; } -static void myrb_slave_destroy(struct scsi_device *sdev) +static void myrb_sdev_destroy(struct scsi_device *sdev) { kfree(sdev->hostdata); } @@ -2208,9 +2208,9 @@ static const struct scsi_host_template myrb_template = { .proc_name = "myrb", .queuecommand = myrb_queuecommand, .eh_host_reset_handler = myrb_host_reset, - .slave_alloc = myrb_slave_alloc, + .sdev_prep = myrb_sdev_prep, .slave_configure = myrb_slave_configure, - .slave_destroy = myrb_slave_destroy, + .sdev_destroy = myrb_sdev_destroy, .bios_param = myrb_biosparam, .cmd_size = sizeof(struct myrb_cmdblk), .shost_groups = myrb_shost_groups, diff --git a/drivers/scsi/myrs.c b/drivers/scsi/myrs.c index 3392feb15cb4..d2bc2843a274 100644 --- a/drivers/scsi/myrs.c +++ b/drivers/scsi/myrs.c @@ -1786,7 +1786,7 @@ static unsigned short myrs_translate_ldev(struct myrs_hba *cs, return ldev_num; } -static int myrs_slave_alloc(struct scsi_device *sdev) +static int myrs_sdev_prep(struct scsi_device *sdev) { struct myrs_hba *cs = shost_priv(sdev->host); unsigned char status; @@ -1910,7 +1910,7 @@ static int myrs_slave_configure(struct scsi_device *sdev) return 0; } -static void myrs_slave_destroy(struct scsi_device *sdev) +static void myrs_sdev_destroy(struct scsi_device *sdev) { kfree(sdev->hostdata); } @@ -1921,9 +1921,9 @@ static const struct scsi_host_template myrs_template = { .proc_name = "myrs", .queuecommand = myrs_queuecommand, .eh_host_reset_handler = myrs_host_reset, - .slave_alloc = myrs_slave_alloc, + .sdev_prep = myrs_sdev_prep, .slave_configure = myrs_slave_configure, - .slave_destroy = myrs_slave_destroy, + .sdev_destroy = myrs_sdev_destroy, .cmd_size = sizeof(struct myrs_cmdblk), .shost_groups = myrs_shost_groups, .sdev_groups = myrs_sdev_groups, diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c index 35869b4f9329..5181107ba0ab 100644 --- a/drivers/scsi/ncr53c8xx.c +++ b/drivers/scsi/ncr53c8xx.c @@ -7786,7 +7786,7 @@ static void __init ncr_getclock (struct ncb *np, int mult) /*===================== LINUX ENTRY POINTS SECTION ==========================*/ -static int ncr53c8xx_slave_alloc(struct scsi_device *device) +static int ncr53c8xx_sdev_prep(struct scsi_device *device) { struct Scsi_Host *host = device->host; struct ncb *np = ((struct host_data *) host->hostdata)->ncb; @@ -8094,7 +8094,7 @@ struct Scsi_Host * __init ncr_attach(struct scsi_host_template *tpnt, tpnt->queuecommand = ncr53c8xx_queue_command; tpnt->slave_configure = ncr53c8xx_slave_configure; - tpnt->slave_alloc = ncr53c8xx_slave_alloc; + 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/pmcraid.c b/drivers/scsi/pmcraid.c index 4c5881917d76..a93b906dcdf9 100644 --- a/drivers/scsi/pmcraid.c +++ b/drivers/scsi/pmcraid.c @@ -125,7 +125,7 @@ MODULE_DEVICE_TABLE(pci, pmcraid_pci_table); /** - * pmcraid_slave_alloc - Prepare for commands to a device + * pmcraid_sdev_prep - Prepare for commands to a device * @scsi_dev: scsi device struct * * This function is called by mid-layer prior to sending any command to the new @@ -136,7 +136,7 @@ MODULE_DEVICE_TABLE(pci, pmcraid_pci_table); * Return value: * 0 on success / -ENXIO if device does not exist */ -static int pmcraid_slave_alloc(struct scsi_device *scsi_dev) +static int pmcraid_sdev_prep(struct scsi_device *scsi_dev) { struct pmcraid_resource_entry *temp, *res = NULL; struct pmcraid_instance *pinstance; @@ -248,17 +248,17 @@ static int pmcraid_device_configure(struct scsi_device *scsi_dev, } /** - * pmcraid_slave_destroy - Unconfigure a SCSI device before removing it + * pmcraid_sdev_destroy - Unconfigure a SCSI device before removing it * * @scsi_dev: scsi device struct * * This is called by mid-layer before removing a device. Pointer assignments - * done in pmcraid_slave_alloc will be reset to NULL here. + * done in pmcraid_sdev_prep will be reset to NULL here. * * Return value * none */ -static void pmcraid_slave_destroy(struct scsi_device *scsi_dev) +static void pmcraid_sdev_destroy(struct scsi_device *scsi_dev) { struct pmcraid_resource_entry *res; @@ -3668,9 +3668,9 @@ static const struct scsi_host_template pmcraid_host_template = { .eh_device_reset_handler = pmcraid_eh_device_reset_handler, .eh_host_reset_handler = pmcraid_eh_host_reset_handler, - .slave_alloc = pmcraid_slave_alloc, + .sdev_prep = pmcraid_sdev_prep, .device_configure = pmcraid_device_configure, - .slave_destroy = pmcraid_slave_destroy, + .sdev_destroy = pmcraid_sdev_destroy, .change_queue_depth = pmcraid_change_queue_depth, .can_queue = PMCRAID_MAX_IO_CMD, .this_id = -1, diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 7f980e6141c2..f04033dbf12d 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -1934,7 +1934,7 @@ qla2x00_abort_all_cmds(scsi_qla_host_t *vha, int res) } static int -qla2xxx_slave_alloc(struct scsi_device *sdev) +qla2xxx_sdev_prep(struct scsi_device *sdev) { struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); @@ -1957,7 +1957,7 @@ qla2xxx_slave_configure(struct scsi_device *sdev) } static void -qla2xxx_slave_destroy(struct scsi_device *sdev) +qla2xxx_sdev_destroy(struct scsi_device *sdev) { sdev->hostdata = NULL; } @@ -8088,8 +8088,8 @@ struct scsi_host_template qla2xxx_driver_template = { .slave_configure = qla2xxx_slave_configure, - .slave_alloc = qla2xxx_slave_alloc, - .slave_destroy = qla2xxx_slave_destroy, + .sdev_prep = qla2xxx_sdev_prep, + .sdev_destroy = qla2xxx_sdev_destroy, .scan_finished = qla2xxx_scan_finished, .scan_start = qla2xxx_scan_start, .change_queue_depth = scsi_change_queue_depth, diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index d91f54a6e752..6efea79b7fa0 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c @@ -160,7 +160,7 @@ static int qla4xxx_eh_abort(struct scsi_cmnd *cmd); static int qla4xxx_eh_device_reset(struct scsi_cmnd *cmd); static int qla4xxx_eh_target_reset(struct scsi_cmnd *cmd); static int qla4xxx_eh_host_reset(struct scsi_cmnd *cmd); -static int qla4xxx_slave_alloc(struct scsi_device *device); +static int qla4xxx_sdev_prep(struct scsi_device *device); static umode_t qla4_attr_is_visible(int param_type, int param); static int qla4xxx_host_reset(struct Scsi_Host *shost, int reset_type); @@ -234,7 +234,7 @@ static struct scsi_host_template qla4xxx_driver_template = { .eh_host_reset_handler = qla4xxx_eh_host_reset, .eh_timed_out = qla4xxx_eh_cmd_timed_out, - .slave_alloc = qla4xxx_slave_alloc, + .sdev_prep = qla4xxx_sdev_prep, .change_queue_depth = scsi_change_queue_depth, .this_id = -1, @@ -9052,7 +9052,7 @@ static void qla4xxx_config_dma_addressing(struct scsi_qla_host *ha) } } -static int qla4xxx_slave_alloc(struct scsi_device *sdev) +static int qla4xxx_sdev_prep(struct scsi_device *sdev) { struct iscsi_cls_session *cls_sess; struct iscsi_session *sess; diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index d95f417e24c0..aca10454bd91 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -5881,10 +5881,10 @@ static struct sdebug_dev_info *find_build_dev_info(struct scsi_device *sdev) return open_devip; } -static int scsi_debug_slave_alloc(struct scsi_device *sdp) +static int scsi_debug_sdev_prep(struct scsi_device *sdp) { if (sdebug_verbose) - pr_info("slave_alloc <%u %u %u %llu>\n", + pr_info("sdev_prep <%u %u %u %llu>\n", sdp->host->host_no, sdp->channel, sdp->id, sdp->lun); return 0; @@ -5929,14 +5929,14 @@ static int scsi_debug_slave_configure(struct scsi_device *sdp) return 0; } -static void scsi_debug_slave_destroy(struct scsi_device *sdp) +static void scsi_debug_sdev_destroy(struct scsi_device *sdp) { struct sdebug_dev_info *devip = (struct sdebug_dev_info *)sdp->hostdata; struct sdebug_err_inject *err; if (sdebug_verbose) - pr_info("slave_destroy <%u %u %u %llu>\n", + pr_info("sdev_destroy <%u %u %u %llu>\n", sdp->host->host_no, sdp->channel, sdp->id, sdp->lun); if (!devip) @@ -8714,9 +8714,9 @@ static struct scsi_host_template sdebug_driver_template = { .proc_name = sdebug_proc_name, .name = "SCSI DEBUG", .info = scsi_debug_info, - .slave_alloc = scsi_debug_slave_alloc, + .sdev_prep = scsi_debug_sdev_prep, .slave_configure = scsi_debug_slave_configure, - .slave_destroy = scsi_debug_slave_destroy, + .sdev_destroy = scsi_debug_sdev_destroy, .ioctl = scsi_debug_ioctl, .queuecommand = scsi_debug_queuecommand, .change_queue_depth = sdebug_change_qdepth, diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index c0b72199b4fa..16973c2b3577 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -265,7 +265,7 @@ static int scsi_realloc_sdev_budget_map(struct scsi_device *sdev, * scsi_alloc_sdev - allocate and setup a scsi_Device * @starget: which target to allocate a &scsi_device for * @lun: which lun - * @hostdata: usually NULL and set by ->slave_alloc instead + * @hostdata: usually NULL and set by ->sdev_prep instead * * Description: * Allocate, initialize for io, and return a pointer to a scsi_Device. @@ -312,7 +312,7 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget, sdev->sdev_gendev.parent = get_device(&starget->dev); sdev->sdev_target = starget; - /* usually NULL and set by ->slave_alloc instead */ + /* usually NULL and set by ->sdev_prep instead */ sdev->hostdata = hostdata; /* if the device needs this changing, it may do so in the @@ -363,8 +363,8 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget, scsi_sysfs_device_initialize(sdev); - if (shost->hostt->slave_alloc) { - ret = shost->hostt->slave_alloc(sdev); + if (shost->hostt->sdev_prep) { + ret = shost->hostt->sdev_prep(sdev); if (ret) { /* * if LLDD reports slave not present, don't clutter diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index 32f94db6d6bf..019e61640f89 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c @@ -1513,8 +1513,8 @@ void __scsi_remove_device(struct scsi_device *sdev) kref_put(&sdev->host->tagset_refcnt, scsi_mq_free_tags); cancel_work_sync(&sdev->requeue_work); - if (sdev->host->hostt->slave_destroy) - sdev->host->hostt->slave_destroy(sdev); + if (sdev->host->hostt->sdev_destroy) + sdev->host->hostt->sdev_destroy(sdev); transport_destroy_device(dev); /* diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c index 7fd5a8c813dc..2c1e16ebe890 100644 --- a/drivers/scsi/smartpqi/smartpqi_init.c +++ b/drivers/scsi/smartpqi/smartpqi_init.c @@ -6490,7 +6490,7 @@ static int pqi_eh_abort_handler(struct scsi_cmnd *scmd) return SUCCESS; } -static int pqi_slave_alloc(struct scsi_device *sdev) +static int pqi_sdev_prep(struct scsi_device *sdev) { struct pqi_scsi_dev *device; unsigned long flags; @@ -6574,7 +6574,7 @@ static int pqi_slave_configure(struct scsi_device *sdev) return rc; } -static void pqi_slave_destroy(struct scsi_device *sdev) +static void pqi_sdev_destroy(struct scsi_device *sdev) { struct pqi_ctrl_info *ctrl_info; struct pqi_scsi_dev *device; @@ -7549,9 +7549,9 @@ static const struct scsi_host_template pqi_driver_template = { .eh_device_reset_handler = pqi_eh_device_reset_handler, .eh_abort_handler = pqi_eh_abort_handler, .ioctl = pqi_ioctl, - .slave_alloc = pqi_slave_alloc, + .sdev_prep = pqi_sdev_prep, .slave_configure = pqi_slave_configure, - .slave_destroy = pqi_slave_destroy, + .sdev_destroy = pqi_sdev_destroy, .map_queues = pqi_map_queues, .sdev_groups = pqi_sdev_groups, .shost_groups = pqi_shost_groups, diff --git a/drivers/scsi/snic/snic_main.c b/drivers/scsi/snic/snic_main.c index 9be3f0193145..c8d90586f51b 100644 --- a/drivers/scsi/snic/snic_main.c +++ b/drivers/scsi/snic/snic_main.c @@ -42,11 +42,11 @@ module_param(snic_max_qdepth, uint, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(snic_max_qdepth, "Queue depth to report for each LUN"); /* - * snic_slave_alloc : callback function to SCSI Mid Layer, called on + * snic_sdev_prep : callback function to SCSI Mid Layer, called on * scsi device initialization. */ static int -snic_slave_alloc(struct scsi_device *sdev) +snic_sdev_prep(struct scsi_device *sdev) { struct snic_tgt *tgt = starget_to_tgt(scsi_target(sdev)); @@ -107,7 +107,7 @@ static const struct scsi_host_template snic_host_template = { .eh_abort_handler = snic_abort_cmd, .eh_device_reset_handler = snic_device_reset, .eh_host_reset_handler = snic_host_reset, - .slave_alloc = snic_slave_alloc, + .sdev_prep = snic_sdev_prep, .slave_configure = snic_slave_configure, .change_queue_depth = snic_change_queue_depth, .this_id = -1, diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index 7ceb982040a5..a5d615326993 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c @@ -1875,7 +1875,7 @@ static struct scsi_host_template scsi_driver = { .eh_host_reset_handler = storvsc_host_reset_handler, .proc_name = "storvsc_host", .eh_timed_out = storvsc_eh_timed_out, - .slave_alloc = storvsc_device_alloc, + .sdev_prep = storvsc_device_alloc, .slave_configure = storvsc_device_configure, .cmd_per_lun = 2048, .this_id = -1, diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c index a2560cc807d3..c1075aaf6501 100644 --- a/drivers/scsi/sym53c8xx_2/sym_glue.c +++ b/drivers/scsi/sym53c8xx_2/sym_glue.c @@ -765,7 +765,7 @@ static void sym_tune_dev_queuing(struct sym_tcb *tp, int lun, u_short reqtags) } } -static int sym53c8xx_slave_alloc(struct scsi_device *sdev) +static int sym53c8xx_sdev_prep(struct scsi_device *sdev) { struct sym_hcb *np = sym_get_hcb(sdev->host); struct sym_tcb *tp = &np->target[sdev->id]; @@ -861,14 +861,14 @@ static int sym53c8xx_slave_configure(struct scsi_device *sdev) return 0; } -static void sym53c8xx_slave_destroy(struct scsi_device *sdev) +static void sym53c8xx_sdev_destroy(struct scsi_device *sdev) { struct sym_hcb *np = sym_get_hcb(sdev->host); struct sym_tcb *tp = &np->target[sdev->id]; struct sym_lcb *lp = sym_lp(tp, sdev->lun); unsigned long flags; - /* if slave_alloc returned before allocating a sym_lcb, return */ + /* if sdev_prep returned before allocating a sym_lcb, return */ if (!lp) return; @@ -1684,9 +1684,9 @@ static const struct scsi_host_template sym2_template = { .info = sym53c8xx_info, .cmd_size = sizeof(struct sym_ucmd), .queuecommand = sym53c8xx_queue_command, - .slave_alloc = sym53c8xx_slave_alloc, + .sdev_prep = sym53c8xx_sdev_prep, .slave_configure = sym53c8xx_slave_configure, - .slave_destroy = sym53c8xx_slave_destroy, + .sdev_destroy = sym53c8xx_sdev_destroy, .eh_abort_handler = sym53c8xx_eh_abort_handler, .eh_target_reset_handler = sym53c8xx_eh_target_reset_handler, .eh_bus_reset_handler = sym53c8xx_eh_bus_reset_handler, diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index 8471f38b730e..472884a2f743 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi/virtio_scsi.c @@ -801,7 +801,7 @@ static const struct scsi_host_template virtscsi_host_template = { .eh_abort_handler = virtscsi_abort, .eh_device_reset_handler = virtscsi_device_reset, .eh_timed_out = virtscsi_eh_timed_out, - .slave_alloc = virtscsi_device_alloc, + .sdev_prep = virtscsi_device_alloc, .dma_boundary = UINT_MAX, .map_queues = virtscsi_map_queues, diff --git a/drivers/scsi/xen-scsifront.c b/drivers/scsi/xen-scsifront.c index 9ec55ddc1204..8ac3b284c2ef 100644 --- a/drivers/scsi/xen-scsifront.c +++ b/drivers/scsi/xen-scsifront.c @@ -777,7 +777,7 @@ static const struct scsi_host_template scsifront_sht = { .eh_abort_handler = scsifront_eh_abort_handler, .eh_device_reset_handler = scsifront_dev_reset_handler, .slave_configure = scsifront_sdev_configure, - .slave_destroy = scsifront_sdev_destroy, + .sdev_destroy = scsifront_sdev_destroy, .cmd_per_lun = VSCSIIF_DEFAULT_CMD_PER_LUN, .can_queue = VSCSIIF_MAX_REQS, .this_id = -1, @@ -1075,7 +1075,7 @@ static void scsifront_do_lun_hotplug(struct vscsifrnt_info *info, int op) /* * Front device state path, used in slave_configure called - * on successfull scsi_add_device, and in slave_destroy called + * on successfull scsi_add_device, and in sdev_destroy called * on remove of a device. */ snprintf(info->dev_state_path, sizeof(info->dev_state_path), diff --git a/drivers/staging/rts5208/rtsx.c b/drivers/staging/rts5208/rtsx.c index c4f54c311d05..27662e465f49 100644 --- a/drivers/staging/rts5208/rtsx.c +++ b/drivers/staging/rts5208/rtsx.c @@ -57,7 +57,7 @@ static const char *host_info(struct Scsi_Host *host) return "SCSI emulation for PCI-Express Mass Storage devices"; } -static int slave_alloc(struct scsi_device *sdev) +static int sdev_prep(struct scsi_device *sdev) { /* * Set the INQUIRY transfer length to 36. We don't use any of @@ -198,7 +198,7 @@ static const struct scsi_host_template rtsx_host_template = { /* unknown initiator id */ .this_id = -1, - .slave_alloc = slave_alloc, + .sdev_prep = sdev_prep, .slave_configure = slave_configure, /* lots of sg segments can be handled */ diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index 24a32e2fd75e..5990e65402ed 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -5182,12 +5182,12 @@ static void ufshcd_lu_init(struct ufs_hba *hba, struct scsi_device *sdev) } /** - * ufshcd_slave_alloc - handle initial SCSI device configurations + * ufshcd_sdev_prep - handle initial SCSI device configurations * @sdev: pointer to SCSI device * * Return: success. */ -static int ufshcd_slave_alloc(struct scsi_device *sdev) +static int ufshcd_sdev_prep(struct scsi_device *sdev) { struct ufs_hba *hba; @@ -5265,10 +5265,10 @@ static int ufshcd_device_configure(struct scsi_device *sdev, } /** - * ufshcd_slave_destroy - remove SCSI device configurations + * ufshcd_sdev_destroy - remove SCSI device configurations * @sdev: pointer to SCSI device */ -static void ufshcd_slave_destroy(struct scsi_device *sdev) +static void ufshcd_sdev_destroy(struct scsi_device *sdev) { struct ufs_hba *hba; unsigned long flags; @@ -8973,9 +8973,9 @@ static const struct scsi_host_template ufshcd_driver_template = { .map_queues = ufshcd_map_queues, .queuecommand = ufshcd_queuecommand, .mq_poll = ufshcd_poll, - .slave_alloc = ufshcd_slave_alloc, + .sdev_prep = ufshcd_sdev_prep, .device_configure = ufshcd_device_configure, - .slave_destroy = ufshcd_slave_destroy, + .sdev_destroy = ufshcd_sdev_destroy, .change_queue_depth = ufshcd_change_queue_depth, .eh_abort_handler = ufshcd_abort, .eh_device_reset_handler = ufshcd_eh_device_reset_handler, diff --git a/drivers/usb/image/microtek.c b/drivers/usb/image/microtek.c index 9f758241d9d3..49bef5072f73 100644 --- a/drivers/usb/image/microtek.c +++ b/drivers/usb/image/microtek.c @@ -322,7 +322,7 @@ static inline void mts_urb_abort(struct mts_desc* desc) { usb_kill_urb( desc->urb ); } -static int mts_slave_alloc (struct scsi_device *s) +static int mts_sdev_prep (struct scsi_device *s) { s->inquiry_len = 0x24; return 0; @@ -626,7 +626,7 @@ static const struct scsi_host_template mts_scsi_host_template = { .this_id = -1, .emulated = 1, .dma_alignment = 511, - .slave_alloc = mts_slave_alloc, + .sdev_prep = mts_sdev_prep, .max_sectors= 256, /* 128 K */ }; diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c index 8c8b5e6041cc..3a15a8e02974 100644 --- a/drivers/usb/storage/scsiglue.c +++ b/drivers/usb/storage/scsiglue.c @@ -64,7 +64,7 @@ static const char* host_info(struct Scsi_Host *host) return us->scsi_name; } -static int slave_alloc (struct scsi_device *sdev) +static int sdev_prep (struct scsi_device *sdev) { struct us_data *us = host_to_us(sdev->host); @@ -127,7 +127,7 @@ static int device_configure(struct scsi_device *sdev, struct queue_limits *lim) lim->max_hw_sectors, dma_max_mapping_size(dev) >> SECTOR_SHIFT); /* - * We can't put these settings in slave_alloc() because that gets + * We can't put these settings in sdev_prep() because that gets * called before the device type is known. Consequently these * settings can't be overridden via the scsi devinfo mechanism. */ @@ -637,7 +637,7 @@ static const struct scsi_host_template usb_stor_host_template = { /* unknown initiator id */ .this_id = -1, - .slave_alloc = slave_alloc, + .sdev_prep = sdev_prep, .device_configure = device_configure, .target_alloc = target_alloc, diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c index 03043d567fa1..686f810352a7 100644 --- a/drivers/usb/storage/uas.c +++ b/drivers/usb/storage/uas.c @@ -817,7 +817,7 @@ static int uas_target_alloc(struct scsi_target *starget) return 0; } -static int uas_slave_alloc(struct scsi_device *sdev) +static int uas_sdev_prep(struct scsi_device *sdev) { struct uas_dev_info *devinfo = (struct uas_dev_info *)sdev->host->hostdata; @@ -905,7 +905,7 @@ static const struct scsi_host_template uas_host_template = { .name = "uas", .queuecommand = uas_queuecommand, .target_alloc = uas_target_alloc, - .slave_alloc = uas_slave_alloc, + .sdev_prep = uas_sdev_prep, .device_configure = uas_device_configure, .eh_abort_handler = uas_eh_abort_handler, .eh_device_reset_handler = uas_eh_device_reset_handler, diff --git a/include/linux/libata.h b/include/linux/libata.h index 9b4a6ff03235..6741ef395797 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -1201,10 +1201,10 @@ extern int ata_std_bios_param(struct scsi_device *sdev, struct block_device *bdev, sector_t capacity, int geom[]); extern void ata_scsi_unlock_native_capacity(struct scsi_device *sdev); -extern int ata_scsi_slave_alloc(struct scsi_device *sdev); +extern int ata_scsi_sdev_prep(struct scsi_device *sdev); int ata_scsi_device_configure(struct scsi_device *sdev, struct queue_limits *lim); -extern void ata_scsi_slave_destroy(struct scsi_device *sdev); +extern void ata_scsi_sdev_destroy(struct scsi_device *sdev); extern int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth); extern int ata_change_queue_depth(struct ata_port *ap, struct scsi_device *sdev, @@ -1460,8 +1460,8 @@ extern const struct attribute_group *ata_common_sdev_groups[]; .this_id = ATA_SHT_THIS_ID, \ .emulated = ATA_SHT_EMULATED, \ .proc_name = drv_name, \ - .slave_alloc = ata_scsi_slave_alloc, \ - .slave_destroy = ata_scsi_slave_destroy, \ + .sdev_prep = ata_scsi_sdev_prep, \ + .sdev_destroy = ata_scsi_sdev_destroy, \ .bios_param = ata_std_bios_param, \ .unlock_native_capacity = ata_scsi_unlock_native_capacity,\ .max_sectors = ATA_MAX_SECTORS_LBA48 diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h index 4a9b4169e081..4a8af9f7614e 100644 --- a/include/scsi/libfc.h +++ b/include/scsi/libfc.h @@ -963,7 +963,7 @@ int fc_queuecommand(struct Scsi_Host *, struct scsi_cmnd *); int fc_eh_abort(struct scsi_cmnd *); int fc_eh_device_reset(struct scsi_cmnd *); int fc_eh_host_reset(struct scsi_cmnd *); -int fc_slave_alloc(struct scsi_device *); +int fc_sdev_prep(struct scsi_device *); /* * ELS/CT interface diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index 1324068dd950..ca53b17e8268 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h @@ -703,7 +703,7 @@ int sas_eh_device_reset_handler(struct scsi_cmnd *cmd); int sas_eh_target_reset_handler(struct scsi_cmnd *cmd); extern void sas_target_destroy(struct scsi_target *); -extern int sas_slave_alloc(struct scsi_device *); +extern int sas_sdev_prep(struct scsi_device *); extern int sas_ioctl(struct scsi_device *sdev, unsigned int cmd, void __user *arg); extern int sas_drain_work(struct sas_ha_struct *ha); @@ -751,7 +751,7 @@ void sas_notify_phy_event(struct asd_sas_phy *phy, enum phy_event event, #define LIBSAS_SHT_BASE _LIBSAS_SHT_BASE \ .device_configure = sas_device_configure, \ - .slave_alloc = sas_slave_alloc, \ + .sdev_prep = sas_sdev_prep, \ #define LIBSAS_SHT_BASE_NO_SLAVE_INIT _LIBSAS_SHT_BASE diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index 9c540f5468eb..f35b11261df3 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h @@ -155,7 +155,7 @@ struct scsi_device { blist_flags_t sdev_bflags; /* black/white flags as also found in * scsi_devinfo.[hc]. For now used only to - * pass settings from slave_alloc to scsi + * pass settings from sdev_prep to scsi * core. */ unsigned int eh_timeout; /* Error handling timeout */ @@ -357,7 +357,7 @@ struct scsi_target { atomic_t target_blocked; /* - * LLDs should set this in the slave_alloc host template callout. + * LLDs should set this in the sdev_prep host template callout. * If set to zero then there is not limit. */ unsigned int can_queue; diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index 2b4ab0369ffb..0b32266079b2 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h @@ -168,20 +168,20 @@ struct scsi_host_template { * Return values: 0 on success, non-0 on failure * * Deallocation: If we didn't find any devices at this ID, you will - * get an immediate call to slave_destroy(). If we find something + * get an immediate call to sdev_destroy(). If we find something * here then you will get a call to slave_configure(), then the * device will be used for however long it is kept around, then when * the device is removed from the system (or * possibly at reboot - * time), you will then get a call to slave_destroy(). This is - * assuming you implement slave_configure and slave_destroy. + * time), you will then get a call to sdev_destroy(). This is + * assuming you implement slave_configure and sdev_destroy. * However, if you allocate memory and hang it off the device struct, - * then you must implement the slave_destroy() routine at a minimum + * then you must implement the sdev_destroy() routine at a minimum * in order to avoid leaking memory * each time a device is tore down. * * Status: OPTIONAL */ - int (* slave_alloc)(struct scsi_device *); + int (* sdev_prep)(struct scsi_device *); /* * Once the device has responded to an INQUIRY and we know the @@ -206,7 +206,7 @@ struct scsi_host_template { * specific setup basis... * 6. Return 0 on success, non-0 on error. The device will be marked * as offline on error so that no access will occur. If you return - * non-0, your slave_destroy routine will never get called for this + * non-0, your sdev_destroy routine will never get called for this * device, so don't leave any loose memory hanging around, clean * up after yourself before returning non-0 * @@ -223,11 +223,11 @@ struct scsi_host_template { * has ceased the mid layer calls this point so that the low level * driver may completely detach itself from the scsi device and vice * versa. The low level driver is responsible for freeing any memory - * it allocated in the slave_alloc or slave_configure calls. + * it allocated in the sdev_prep or slave_configure calls. * * Status: OPTIONAL */ - void (* slave_destroy)(struct scsi_device *); + void (* sdev_destroy)(struct scsi_device *); /* * Before the mid layer attempts to scan for a new device attached 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:00 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: 832656 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 A66D881720 for ; Wed, 2 Oct 2024 20:38:54 +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=1727901537; cv=none; b=ahuetJ2rrhBbgAp230wOUj+Aw+U193Od6SP3qzuPPILKpWyros4Wn5JSVVb5iFUiXIidcIH2fpkpGzgyFsec+0PsIKZHJpS13wyBNB9/Yh1M7+Zun81dXfIzULZz9qVN/UQ18Vdriy92hLzeyBtAO5kCXLrYNfKJLWLDSD+llCs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901537; c=relaxed/simple; bh=GWQljc3op259Hqa8bHu/Ejqyx004Z4Hv/lGVDodSdmY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rcJWXygQ2zrk9HLX6O31X9hJT5igJrB7vVxXHydSIELXxsmsWlAfxgLbOFp8oJRHUtWyM42g2LcpNCvqa7XN330NbNfYTtICde1R9BZgIozlhXPscsjV+eCHjgCFl/b7tpIfS3XchRToejevkcucH88+ODoeOmeHKhaNH1Kt/Y0= 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=r1nN2PsF; 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="r1nN2PsF" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmqf25bKzlgMW9; Wed, 2 Oct 2024 20:38:54 +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=1727901445; x=1730493446; bh=djkLl Kj/b4pybw2Y70dEeA8rWQi+FubwJyISDJsCjHs=; b=r1nN2PsFuWgU2FgQEmJJy N95qUfOIfDv1+QVk76vcCH4UID4eXZvxEUCjzWTkdo9Vij2dlWvAWCcXjZSXpmbk A9PYIih3kU81WtGWBGp7gh1si8hLHIHZC5B/UWWFBmz6bii6rEH4F5I7+KPrIBHF JvjpKA2pKLIaDQVNvSSd7ygBV7evB962WpAyD7vkpt2kwdmypViB4pRWHYrKW6zS 1xK3sxRk/DaR533PGMZyVme+mDehoWJWn1cOLAjHhmOWPvGBVq4EDw7BIpi8pDbV +8m5gsvQBgqjzs2zTAD/tYuKwVO8AB27BgQ8KdTq0F4DdlmESeU/4Sdq1PAmM37U 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 3cvSc0mGYjmS; Wed, 2 Oct 2024 20:37:25 +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 4XJmnF0bZPzlgMWG; Wed, 2 Oct 2024 20:36:48 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Christoph Hellwig , Damien Le Moal , Niklas Cassel , Takashi Sakamoto , Yihang Li , "James E.J. Bottomley" , HighPoint Linux Team , Brian King , Lee Duncan , Chris Leech , Mike Christie , Kashyap Desai , Sumit Saxena , Shivasharan S , Chandrakanth patil , Sathya Prakash Veerichetty , Sreekanth Reddy , Suganath Prabu Subramani , Alan Stern , Greg Kroah-Hartman , Oliver Neukum , John Garry , Hannes Reinecke , Peter Wang , Manivannan Sadhasivam , Avri Altman , Andrew Halaney , Bean Huo , "Bao D. Nguyen" Subject: [PATCH v2 08/11] scsi: Rename .device_configure() into .sdev_configure() Date: Wed, 2 Oct 2024 13:34:00 -0700 Message-ID: <20241002203528.4104996-9-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 Improve naming consistency with the .sdev_prep() and .sdev_destroy() methods by renaming .device_configure() into .sdev_configure(). Cc: Christoph Hellwig Cc: Damien Le Moal Signed-off-by: Bart Van Assche --- drivers/ata/ahci.h | 2 +- drivers/ata/libata-sata.c | 8 ++++---- drivers/ata/libata-scsi.c | 7 +++---- drivers/ata/pata_macio.c | 8 ++++---- drivers/ata/sata_mv.c | 2 +- drivers/ata/sata_nv.c | 24 +++++++++++------------ drivers/ata/sata_sil24.c | 2 +- drivers/firewire/sbp2.c | 6 +++--- drivers/scsi/hisi_sas/hisi_sas.h | 3 +-- drivers/scsi/hisi_sas/hisi_sas_main.c | 7 +++---- drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 2 +- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 2 +- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 8 ++++---- drivers/scsi/hptiop.c | 6 +++--- drivers/scsi/ipr.c | 8 ++++---- drivers/scsi/iscsi_tcp.c | 6 +++--- drivers/scsi/libsas/sas_scsi_host.c | 7 +++---- drivers/scsi/megaraid/megaraid_sas_base.c | 6 +++--- drivers/scsi/mpi3mr/mpi3mr_os.c | 8 ++++---- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 8 ++++---- drivers/scsi/pmcraid.c | 8 ++++---- drivers/scsi/scsi_scan.c | 10 +++++----- drivers/ufs/core/ufshcd.c | 8 ++++---- drivers/usb/storage/scsiglue.c | 4 ++-- drivers/usb/storage/uas.c | 6 +++--- include/linux/libata.h | 11 +++++------ include/scsi/libsas.h | 5 ++--- include/scsi/scsi_host.h | 4 ++-- 28 files changed, 90 insertions(+), 96 deletions(-) diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h index 8f40f75ba08c..75cdf51a7f74 100644 --- a/drivers/ata/ahci.h +++ b/drivers/ata/ahci.h @@ -397,7 +397,7 @@ extern const struct attribute_group *ahci_sdev_groups[]; .sdev_groups = ahci_sdev_groups, \ .change_queue_depth = ata_scsi_change_queue_depth, \ .tag_alloc_policy = BLK_TAG_ALLOC_RR, \ - .device_configure = ata_scsi_device_configure + .sdev_configure = ata_scsi_sdev_configure extern struct ata_port_operations ahci_ops; extern struct ata_port_operations ahci_platform_ops; diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c index c8b119a06bb2..36fd0499cdfb 100644 --- a/drivers/ata/libata-sata.c +++ b/drivers/ata/libata-sata.c @@ -1313,7 +1313,7 @@ int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth) EXPORT_SYMBOL_GPL(ata_scsi_change_queue_depth); /** - * ata_sas_device_configure - Default device_configure routine for libata + * ata_sas_sdev_configure - Default sdev_configure routine for libata * devices * @sdev: SCSI device to configure * @lim: queue limits @@ -1323,14 +1323,14 @@ EXPORT_SYMBOL_GPL(ata_scsi_change_queue_depth); * Zero. */ -int ata_sas_device_configure(struct scsi_device *sdev, struct queue_limits *lim, - struct ata_port *ap) +int ata_sas_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim, + struct ata_port *ap) { ata_scsi_sdev_config(sdev); return ata_scsi_dev_config(sdev, lim, ap->link.device); } -EXPORT_SYMBOL_GPL(ata_sas_device_configure); +EXPORT_SYMBOL_GPL(ata_sas_sdev_configure); /** * ata_sas_queuecmd - Issue SCSI cdb to libata-managed device diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index a2d601f13204..6671a43a0622 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -1169,7 +1169,7 @@ int ata_scsi_sdev_prep(struct scsi_device *sdev) EXPORT_SYMBOL_GPL(ata_scsi_sdev_prep); /** - * ata_scsi_device_configure - Set SCSI device attributes + * ata_scsi_sdev_configure - Set SCSI device attributes * @sdev: SCSI device to examine * @lim: queue limits * @@ -1181,8 +1181,7 @@ EXPORT_SYMBOL_GPL(ata_scsi_sdev_prep); * Defined by SCSI layer. We don't really care. */ -int ata_scsi_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +int ata_scsi_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { struct ata_port *ap = ata_shost_to_port(sdev->host); struct ata_device *dev = __ata_scsi_find_dev(ap, sdev); @@ -1192,7 +1191,7 @@ int ata_scsi_device_configure(struct scsi_device *sdev, return 0; } -EXPORT_SYMBOL_GPL(ata_scsi_device_configure); +EXPORT_SYMBOL_GPL(ata_scsi_sdev_configure); /** * ata_scsi_sdev_destroy - SCSI device is about to be destroyed diff --git a/drivers/ata/pata_macio.c b/drivers/ata/pata_macio.c index f2f36e55a1f4..a8e2989d0469 100644 --- a/drivers/ata/pata_macio.c +++ b/drivers/ata/pata_macio.c @@ -812,8 +812,8 @@ static void pata_macio_reset_hw(struct pata_macio_priv *priv, int resume) /* Hook the standard slave config to fixup some HW related alignment * restrictions */ -static int pata_macio_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int pata_macio_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct ata_port *ap = ata_shost_to_port(sdev->host); struct pata_macio_priv *priv = ap->private_data; @@ -822,7 +822,7 @@ static int pata_macio_device_configure(struct scsi_device *sdev, int rc; /* First call original */ - rc = ata_scsi_device_configure(sdev, lim); + rc = ata_scsi_sdev_configure(sdev, lim); if (rc) return rc; @@ -932,7 +932,7 @@ static const struct scsi_host_template pata_macio_sht = { /* We may not need that strict one */ .dma_boundary = ATA_DMA_BOUNDARY, .max_segment_size = PATA_MACIO_MAX_SEGMENT_SIZE, - .device_configure = pata_macio_device_configure, + .sdev_configure = pata_macio_sdev_configure, .sdev_groups = ata_common_sdev_groups, .can_queue = ATA_DEF_QUEUE, .tag_alloc_policy = BLK_TAG_ALLOC_RR, diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index 05c905827dc5..705f9bae2175 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c @@ -673,7 +673,7 @@ static const struct scsi_host_template mv6_sht = { .sdev_groups = ata_ncq_sdev_groups, .change_queue_depth = ata_scsi_change_queue_depth, .tag_alloc_policy = BLK_TAG_ALLOC_RR, - .device_configure = ata_scsi_device_configure + .sdev_configure = ata_scsi_sdev_configure }; static struct ata_port_operations mv5_ops = { diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index 36d99043ef50..b62b8ebdd89f 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c @@ -296,8 +296,8 @@ static void nv_nf2_freeze(struct ata_port *ap); static void nv_nf2_thaw(struct ata_port *ap); static void nv_ck804_freeze(struct ata_port *ap); static void nv_ck804_thaw(struct ata_port *ap); -static int nv_adma_device_configure(struct scsi_device *sdev, - struct queue_limits *lim); +static int nv_adma_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim); static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc); static enum ata_completion_errors nv_adma_qc_prep(struct ata_queued_cmd *qc); static unsigned int nv_adma_qc_issue(struct ata_queued_cmd *qc); @@ -319,8 +319,8 @@ static void nv_adma_tf_read(struct ata_port *ap, struct ata_taskfile *tf); static void nv_mcp55_thaw(struct ata_port *ap); static void nv_mcp55_freeze(struct ata_port *ap); static void nv_swncq_error_handler(struct ata_port *ap); -static int nv_swncq_device_configure(struct scsi_device *sdev, - struct queue_limits *lim); +static int nv_swncq_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim); static int nv_swncq_port_start(struct ata_port *ap); static enum ata_completion_errors nv_swncq_qc_prep(struct ata_queued_cmd *qc); static void nv_swncq_fill_sg(struct ata_queued_cmd *qc); @@ -382,7 +382,7 @@ static const struct scsi_host_template nv_adma_sht = { .can_queue = NV_ADMA_MAX_CPBS, .sg_tablesize = NV_ADMA_SGTBL_TOTAL_LEN, .dma_boundary = NV_ADMA_DMA_BOUNDARY, - .device_configure = nv_adma_device_configure, + .sdev_configure = nv_adma_sdev_configure, .sdev_groups = ata_ncq_sdev_groups, .change_queue_depth = ata_scsi_change_queue_depth, .tag_alloc_policy = BLK_TAG_ALLOC_RR, @@ -393,7 +393,7 @@ static const struct scsi_host_template nv_swncq_sht = { .can_queue = ATA_MAX_QUEUE - 1, .sg_tablesize = LIBATA_MAX_PRD, .dma_boundary = ATA_DMA_BOUNDARY, - .device_configure = nv_swncq_device_configure, + .sdev_configure = nv_swncq_sdev_configure, .sdev_groups = ata_ncq_sdev_groups, .change_queue_depth = ata_scsi_change_queue_depth, .tag_alloc_policy = BLK_TAG_ALLOC_RR, @@ -663,8 +663,8 @@ static void nv_adma_mode(struct ata_port *ap) pp->flags &= ~NV_ADMA_PORT_REGISTER_MODE; } -static int nv_adma_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int nv_adma_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct ata_port *ap = ata_shost_to_port(sdev->host); struct nv_adma_port_priv *pp = ap->private_data; @@ -676,7 +676,7 @@ static int nv_adma_device_configure(struct scsi_device *sdev, int adma_enable; u32 current_reg, new_reg, config_mask; - rc = ata_scsi_device_configure(sdev, lim); + rc = ata_scsi_sdev_configure(sdev, lim); if (sdev->id >= ATA_MAX_DEVICES || sdev->channel || sdev->lun) /* Not a proper libata device, ignore */ @@ -1871,8 +1871,8 @@ static void nv_swncq_host_init(struct ata_host *host) writel(~0x0, mmio + NV_INT_STATUS_MCP55); } -static int nv_swncq_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int nv_swncq_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct ata_port *ap = ata_shost_to_port(sdev->host); struct pci_dev *pdev = to_pci_dev(ap->host->dev); @@ -1882,7 +1882,7 @@ static int nv_swncq_device_configure(struct scsi_device *sdev, u8 check_maxtor = 0; unsigned char model_num[ATA_ID_PROD_LEN + 1]; - rc = ata_scsi_device_configure(sdev, lim); + rc = ata_scsi_sdev_configure(sdev, lim); if (sdev->id >= ATA_MAX_DEVICES || sdev->channel || sdev->lun) /* Not a proper libata device, ignore */ return rc; diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index 72c03cbdaff4..3e0be0399619 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c @@ -381,7 +381,7 @@ static const struct scsi_host_template sil24_sht = { .tag_alloc_policy = BLK_TAG_ALLOC_FIFO, .sdev_groups = ata_ncq_sdev_groups, .change_queue_depth = ata_scsi_change_queue_depth, - .device_configure = ata_scsi_device_configure + .sdev_configure = ata_scsi_sdev_configure }; static struct ata_port_operations sil24_ops = { diff --git a/drivers/firewire/sbp2.c b/drivers/firewire/sbp2.c index 36feab1b7b0a..538a5e5d49aa 100644 --- a/drivers/firewire/sbp2.c +++ b/drivers/firewire/sbp2.c @@ -1506,8 +1506,8 @@ static int sbp2_scsi_sdev_prep(struct scsi_device *sdev) return 0; } -static int sbp2_scsi_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int sbp2_scsi_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct sbp2_logical_unit *lu = sdev->hostdata; @@ -1591,7 +1591,7 @@ static const struct scsi_host_template scsi_driver_template = { .proc_name = "sbp2", .queuecommand = sbp2_scsi_queuecommand, .sdev_prep = sbp2_scsi_sdev_prep, - .device_configure = sbp2_scsi_device_configure, + .sdev_configure = sbp2_scsi_sdev_configure, .eh_abort_handler = sbp2_scsi_abort, .this_id = -1, .sg_tablesize = SG_ALL, diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h index c5a1a865396d..226c8355dbe8 100644 --- a/drivers/scsi/hisi_sas/hisi_sas.h +++ b/drivers/scsi/hisi_sas/hisi_sas.h @@ -643,8 +643,7 @@ extern int hisi_sas_probe(struct platform_device *pdev, const struct hisi_sas_hw *ops); extern void hisi_sas_remove(struct platform_device *pdev); -int hisi_sas_device_configure(struct scsi_device *sdev, - struct queue_limits *lim); +int hisi_sas_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim); extern int hisi_sas_sdev_prep(struct scsi_device *sdev); extern int hisi_sas_scan_finished(struct Scsi_Host *shost, unsigned long time); extern void hisi_sas_scan_start(struct Scsi_Host *shost); diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c index 610e3668ac4f..a8ef14ec8685 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_main.c +++ b/drivers/scsi/hisi_sas/hisi_sas_main.c @@ -868,11 +868,10 @@ static int hisi_sas_dev_found(struct domain_device *device) return rc; } -int hisi_sas_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +int hisi_sas_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { struct domain_device *dev = sdev_to_domain_dev(sdev); - int ret = sas_device_configure(sdev, lim); + int ret = sas_sdev_configure(sdev, lim); if (ret) return ret; @@ -881,7 +880,7 @@ int hisi_sas_device_configure(struct scsi_device *sdev, return 0; } -EXPORT_SYMBOL_GPL(hisi_sas_device_configure); +EXPORT_SYMBOL_GPL(hisi_sas_sdev_configure); void hisi_sas_scan_start(struct Scsi_Host *shost) { diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c index ac4fc89259a7..a93594dbd03e 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c +++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c @@ -1736,7 +1736,7 @@ ATTRIBUTE_GROUPS(host_v1_hw); static const struct scsi_host_template sht_v1_hw = { LIBSAS_SHT_BASE_NO_SLAVE_INIT - .device_configure = hisi_sas_device_configure, + .sdev_configure = hisi_sas_sdev_configure, .scan_finished = hisi_sas_scan_finished, .scan_start = hisi_sas_scan_start, .sg_tablesize = HISI_SAS_SGE_PAGE_CNT, diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index 99eea5a0332b..604a87d7ab3b 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c +++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c @@ -3568,7 +3568,7 @@ static void map_queues_v2_hw(struct Scsi_Host *shost) static const struct scsi_host_template sht_v2_hw = { LIBSAS_SHT_BASE_NO_SLAVE_INIT - .device_configure = hisi_sas_device_configure, + .sdev_configure = hisi_sas_sdev_configure, .scan_finished = hisi_sas_scan_finished, .scan_start = hisi_sas_scan_start, .sg_tablesize = HISI_SAS_SGE_PAGE_CNT, diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c index fcc3e7c04bba..871d66ea53c1 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c @@ -2902,12 +2902,12 @@ static ssize_t iopoll_q_cnt_v3_hw_show(struct device *dev, } static DEVICE_ATTR_RO(iopoll_q_cnt_v3_hw); -static int device_configure_v3_hw(struct scsi_device *sdev, - struct queue_limits *lim) +static int sdev_configure_v3_hw(struct scsi_device *sdev, + struct queue_limits *lim) { struct Scsi_Host *shost = dev_to_shost(&sdev->sdev_gendev); struct hisi_hba *hisi_hba = shost_priv(shost); - int ret = hisi_sas_device_configure(sdev, lim); + int ret = hisi_sas_sdev_configure(sdev, lim); struct device *dev = hisi_hba->dev; if (ret) @@ -3330,7 +3330,7 @@ static void hisi_sas_map_queues(struct Scsi_Host *shost) static const struct scsi_host_template sht_v3_hw = { LIBSAS_SHT_BASE_NO_SLAVE_INIT - .device_configure = device_configure_v3_hw, + .sdev_configure = sdev_configure_v3_hw, .scan_finished = hisi_sas_scan_finished, .scan_start = hisi_sas_scan_start, .map_queues = hisi_sas_map_queues, diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c index e889f268601b..55eee5b0f0d7 100644 --- a/drivers/scsi/hptiop.c +++ b/drivers/scsi/hptiop.c @@ -1151,8 +1151,8 @@ static struct attribute *hptiop_host_attrs[] = { ATTRIBUTE_GROUPS(hptiop_host); -static int hptiop_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int hptiop_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { if (sdev->type == TYPE_TAPE) lim->max_hw_sectors = 8192; @@ -1168,7 +1168,7 @@ static const struct scsi_host_template driver_template = { .emulated = 0, .proc_name = driver_name, .shost_groups = hptiop_host_groups, - .device_configure = hptiop_device_configure, + .sdev_configure = hptiop_sdev_configure, .this_id = -1, .change_queue_depth = hptiop_adjust_disk_queue_depth, .cmd_size = sizeof(struct hpt_cmd_priv), diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index a20465fc6096..a6d37b5128ca 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c @@ -4769,7 +4769,7 @@ static void ipr_sdev_destroy(struct scsi_device *sdev) } /** - * ipr_device_configure - Configure a SCSI device + * ipr_sdev_configure - Configure a SCSI device * @sdev: scsi device struct * @lim: queue limits * @@ -4778,8 +4778,8 @@ static void ipr_sdev_destroy(struct scsi_device *sdev) * Return value: * 0 on success **/ -static int ipr_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int ipr_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *) sdev->host->hostdata; struct ipr_resource_entry *res; @@ -6399,7 +6399,7 @@ static const struct scsi_host_template driver_template = { .eh_device_reset_handler = ipr_eh_dev_reset, .eh_host_reset_handler = ipr_eh_host_reset, .sdev_prep = ipr_sdev_prep, - .device_configure = ipr_device_configure, + .sdev_configure = ipr_sdev_configure, .sdev_destroy = ipr_sdev_destroy, .scan_finished = ipr_scan_finished, .target_destroy = ipr_target_destroy, diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c index c708e1059638..e81f60985193 100644 --- a/drivers/scsi/iscsi_tcp.c +++ b/drivers/scsi/iscsi_tcp.c @@ -1057,8 +1057,8 @@ static umode_t iscsi_sw_tcp_attr_is_visible(int param_type, int param) return 0; } -static int iscsi_sw_tcp_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int iscsi_sw_tcp_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct iscsi_sw_tcp_host *tcp_sw_host = iscsi_host_priv(sdev->host); struct iscsi_session *session = tcp_sw_host->session; @@ -1083,7 +1083,7 @@ static const struct scsi_host_template iscsi_sw_tcp_sht = { .eh_device_reset_handler= iscsi_eh_device_reset, .eh_target_reset_handler = iscsi_eh_recover_target, .dma_boundary = PAGE_SIZE - 1, - .device_configure = iscsi_sw_tcp_device_configure, + .sdev_configure = iscsi_sw_tcp_sdev_configure, .proc_name = "iscsi_tcp", .this_id = -1, .track_queue_depth = 1, diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c index 6ce2c67f723f..02442d6a3b4f 100644 --- a/drivers/scsi/libsas/sas_scsi_host.c +++ b/drivers/scsi/libsas/sas_scsi_host.c @@ -804,15 +804,14 @@ EXPORT_SYMBOL_GPL(sas_target_alloc); #define SAS_DEF_QD 256 -int sas_device_configure(struct scsi_device *scsi_dev, - struct queue_limits *lim) +int sas_sdev_configure(struct scsi_device *scsi_dev, struct queue_limits *lim) { struct domain_device *dev = sdev_to_domain_dev(scsi_dev); BUG_ON(dev->rphy->identify.device_type != SAS_END_DEVICE); if (dev_is_sata(dev)) { - ata_sas_device_configure(scsi_dev, lim, dev->sata_dev.ap); + ata_sas_sdev_configure(scsi_dev, lim, dev->sata_dev.ap); return 0; } @@ -830,7 +829,7 @@ int sas_device_configure(struct scsi_device *scsi_dev, return 0; } -EXPORT_SYMBOL_GPL(sas_device_configure); +EXPORT_SYMBOL_GPL(sas_sdev_configure); int sas_change_queue_depth(struct scsi_device *sdev, int depth) { diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index 239cc17e189d..5b69336aea9a 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c @@ -2068,8 +2068,8 @@ static void megasas_set_static_target_properties(struct scsi_device *sdev, } -static int megasas_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int megasas_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { u16 pd_index = 0; struct megasas_instance *instance; @@ -3510,7 +3510,7 @@ static const struct scsi_host_template megasas_template = { .module = THIS_MODULE, .name = "Avago SAS based MegaRAID driver", .proc_name = "megaraid_sas", - .device_configure = megasas_device_configure, + .sdev_configure = megasas_sdev_configure, .sdev_prep = megasas_sdev_prep, .sdev_destroy = megasas_sdev_destroy, .queuecommand = megasas_queue_command, diff --git a/drivers/scsi/mpi3mr/mpi3mr_os.c b/drivers/scsi/mpi3mr/mpi3mr_os.c index 9b5122ad09b5..cb543b8db727 100644 --- a/drivers/scsi/mpi3mr/mpi3mr_os.c +++ b/drivers/scsi/mpi3mr/mpi3mr_os.c @@ -4552,7 +4552,7 @@ static void mpi3mr_target_destroy(struct scsi_target *starget) } /** - * mpi3mr_device_configure - Slave configure callback handler + * mpi3mr_sdev_configure - Slave configure callback handler * @sdev: SCSI device reference * @lim: queue limits * @@ -4561,8 +4561,8 @@ static void mpi3mr_target_destroy(struct scsi_target *starget) * * Return: 0 always. */ -static int mpi3mr_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int mpi3mr_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct scsi_target *starget; struct Scsi_Host *shost; @@ -5063,7 +5063,7 @@ static const struct scsi_host_template mpi3mr_driver_template = { .queuecommand = mpi3mr_qcmd, .target_alloc = mpi3mr_target_alloc, .sdev_prep = mpi3mr_sdev_prep, - .device_configure = mpi3mr_device_configure, + .sdev_configure = mpi3mr_sdev_configure, .target_destroy = mpi3mr_target_destroy, .sdev_destroy = mpi3mr_sdev_destroy, .scan_finished = mpi3mr_scan_finished, diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c index 1f8f68027262..0aa93f59e233 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c @@ -2497,7 +2497,7 @@ _scsih_enable_tlr(struct MPT3SAS_ADAPTER *ioc, struct scsi_device *sdev) } /** - * scsih_device_configure - device configure routine. + * scsih_sdev_configure - device configure routine. * @sdev: scsi device struct * @lim: queue limits * @@ -2505,7 +2505,7 @@ _scsih_enable_tlr(struct MPT3SAS_ADAPTER *ioc, struct scsi_device *sdev) * the device is ignored. */ static int -scsih_device_configure(struct scsi_device *sdev, struct queue_limits *lim) +scsih_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { struct Scsi_Host *shost = sdev->host; struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); @@ -11906,7 +11906,7 @@ static const struct scsi_host_template mpt2sas_driver_template = { .queuecommand = scsih_qcmd, .target_alloc = scsih_target_alloc, .sdev_prep = scsih_sdev_prep, - .device_configure = scsih_device_configure, + .sdev_configure = scsih_sdev_configure, .target_destroy = scsih_target_destroy, .sdev_destroy = scsih_sdev_destroy, .scan_finished = scsih_scan_finished, @@ -11944,7 +11944,7 @@ static const struct scsi_host_template mpt3sas_driver_template = { .queuecommand = scsih_qcmd, .target_alloc = scsih_target_alloc, .sdev_prep = scsih_sdev_prep, - .device_configure = scsih_device_configure, + .sdev_configure = scsih_sdev_configure, .target_destroy = scsih_target_destroy, .sdev_destroy = scsih_sdev_destroy, .scan_finished = scsih_scan_finished, diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c index a93b906dcdf9..1e90d232b4b7 100644 --- a/drivers/scsi/pmcraid.c +++ b/drivers/scsi/pmcraid.c @@ -197,7 +197,7 @@ static int pmcraid_sdev_prep(struct scsi_device *scsi_dev) } /** - * pmcraid_device_configure - Configures a SCSI device + * pmcraid_sdev_configure - Configures a SCSI device * @scsi_dev: scsi device struct * @lim: queue limits * @@ -210,8 +210,8 @@ static int pmcraid_sdev_prep(struct scsi_device *scsi_dev) * Return value: * 0 on success */ -static int pmcraid_device_configure(struct scsi_device *scsi_dev, - struct queue_limits *lim) +static int pmcraid_sdev_configure(struct scsi_device *scsi_dev, + struct queue_limits *lim) { struct pmcraid_resource_entry *res = scsi_dev->hostdata; @@ -3669,7 +3669,7 @@ static const struct scsi_host_template pmcraid_host_template = { .eh_host_reset_handler = pmcraid_eh_host_reset_handler, .sdev_prep = pmcraid_sdev_prep, - .device_configure = pmcraid_device_configure, + .sdev_configure = pmcraid_sdev_configure, .sdev_destroy = pmcraid_sdev_destroy, .change_queue_depth = pmcraid_change_queue_depth, .can_queue = PMCRAID_MAX_IO_CMD, diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 16973c2b3577..768a469f3f7f 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -227,7 +227,7 @@ static int scsi_realloc_sdev_budget_map(struct scsi_device *sdev, /* * realloc if new shift is calculated, which is caused by setting - * up one new default queue depth after calling ->device_configure + * up one new default queue depth after calling ->sdev_configure */ if (!need_alloc && new_shift != sdev->budget_map.shift) need_alloc = need_free = true; @@ -1074,8 +1074,8 @@ static int scsi_add_lun(struct scsi_device *sdev, unsigned char *inq_result, else if (*bflags & BLIST_MAX_1024) lim.max_hw_sectors = 1024; - if (hostt->device_configure) - ret = hostt->device_configure(sdev, &lim); + if (hostt->sdev_configure) + ret = hostt->sdev_configure(sdev, &lim); else if (hostt->slave_configure) ret = hostt->slave_configure(sdev); if (ret) { @@ -1097,12 +1097,12 @@ static int scsi_add_lun(struct scsi_device *sdev, unsigned char *inq_result, } /* - * The queue_depth is often changed in ->device_configure. + * The queue_depth is often changed in ->sdev_configure. * * Set up budget map again since memory consumption of the map depends * on actual queue depth. */ - if (hostt->device_configure || hostt->slave_configure) + if (hostt->sdev_configure || hostt->slave_configure) scsi_realloc_sdev_budget_map(sdev, sdev->queue_depth); if (sdev->scsi_level >= SCSI_3) diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index 5990e65402ed..63f2ab266a03 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -5230,14 +5230,14 @@ static int ufshcd_change_queue_depth(struct scsi_device *sdev, int depth) } /** - * ufshcd_device_configure - adjust SCSI device configurations + * ufshcd_sdev_configure - adjust SCSI device configurations * @sdev: pointer to SCSI device * @lim: queue limits * * Return: 0 (success). */ -static int ufshcd_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int ufshcd_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct ufs_hba *hba = shost_priv(sdev->host); struct request_queue *q = sdev->request_queue; @@ -8974,7 +8974,7 @@ static const struct scsi_host_template ufshcd_driver_template = { .queuecommand = ufshcd_queuecommand, .mq_poll = ufshcd_poll, .sdev_prep = ufshcd_sdev_prep, - .device_configure = ufshcd_device_configure, + .sdev_configure = ufshcd_sdev_configure, .sdev_destroy = ufshcd_sdev_destroy, .change_queue_depth = ufshcd_change_queue_depth, .eh_abort_handler = ufshcd_abort, diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c index 3a15a8e02974..c61320003017 100644 --- a/drivers/usb/storage/scsiglue.c +++ b/drivers/usb/storage/scsiglue.c @@ -88,7 +88,7 @@ static int sdev_prep (struct scsi_device *sdev) return 0; } -static int device_configure(struct scsi_device *sdev, struct queue_limits *lim) +static int sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) { struct us_data *us = host_to_us(sdev->host); struct device *dev = us->pusb_dev->bus->sysdev; @@ -638,7 +638,7 @@ static const struct scsi_host_template usb_stor_host_template = { .this_id = -1, .sdev_prep = sdev_prep, - .device_configure = device_configure, + .sdev_configure = sdev_configure, .target_alloc = target_alloc, /* lots of sg segments can be handled */ diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c index 686f810352a7..11365152f15f 100644 --- a/drivers/usb/storage/uas.c +++ b/drivers/usb/storage/uas.c @@ -832,8 +832,8 @@ static int uas_sdev_prep(struct scsi_device *sdev) return 0; } -static int uas_device_configure(struct scsi_device *sdev, - struct queue_limits *lim) +static int uas_sdev_configure(struct scsi_device *sdev, + struct queue_limits *lim) { struct uas_dev_info *devinfo = sdev->hostdata; @@ -906,7 +906,7 @@ static const struct scsi_host_template uas_host_template = { .queuecommand = uas_queuecommand, .target_alloc = uas_target_alloc, .sdev_prep = uas_sdev_prep, - .device_configure = uas_device_configure, + .sdev_configure = uas_sdev_configure, .eh_abort_handler = uas_eh_abort_handler, .eh_device_reset_handler = uas_eh_device_reset_handler, .this_id = -1, diff --git a/include/linux/libata.h b/include/linux/libata.h index 6741ef395797..56e4c2d326b6 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -1202,8 +1202,7 @@ extern int ata_std_bios_param(struct scsi_device *sdev, sector_t capacity, int geom[]); extern void ata_scsi_unlock_native_capacity(struct scsi_device *sdev); extern int ata_scsi_sdev_prep(struct scsi_device *sdev); -int ata_scsi_device_configure(struct scsi_device *sdev, - struct queue_limits *lim); +int ata_scsi_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim); extern void ata_scsi_sdev_destroy(struct scsi_device *sdev); extern int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth); @@ -1303,8 +1302,8 @@ extern struct ata_port *ata_port_alloc(struct ata_host *host); extern void ata_port_free(struct ata_port *ap); extern int ata_tport_add(struct device *parent, struct ata_port *ap); extern void ata_tport_delete(struct ata_port *ap); -int ata_sas_device_configure(struct scsi_device *sdev, struct queue_limits *lim, - struct ata_port *ap); +int ata_sas_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim, + struct ata_port *ap); extern int ata_sas_queuecmd(struct scsi_cmnd *cmd, struct ata_port *ap); extern void ata_tf_to_fis(const struct ata_taskfile *tf, u8 pmp, int is_cmd, u8 *fis); @@ -1470,13 +1469,13 @@ extern const struct attribute_group *ata_common_sdev_groups[]; __ATA_BASE_SHT(drv_name), \ .can_queue = ATA_DEF_QUEUE, \ .tag_alloc_policy = BLK_TAG_ALLOC_RR, \ - .device_configure = ata_scsi_device_configure + .sdev_configure = ata_scsi_sdev_configure #define ATA_SUBBASE_SHT_QD(drv_name, drv_qd) \ __ATA_BASE_SHT(drv_name), \ .can_queue = drv_qd, \ .tag_alloc_policy = BLK_TAG_ALLOC_RR, \ - .device_configure = ata_scsi_device_configure + .sdev_configure = ata_scsi_sdev_configure #define ATA_BASE_SHT(drv_name) \ ATA_SUBBASE_SHT(drv_name), \ diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index ca53b17e8268..0093da9e07c7 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h @@ -683,8 +683,7 @@ int sas_phy_reset(struct sas_phy *phy, int hard_reset); int sas_phy_enable(struct sas_phy *phy, int enable); extern int sas_queuecommand(struct Scsi_Host *, struct scsi_cmnd *); extern int sas_target_alloc(struct scsi_target *); -int sas_device_configure(struct scsi_device *dev, - struct queue_limits *lim); +int sas_sdev_configure(struct scsi_device *dev, struct queue_limits *lim); extern int sas_change_queue_depth(struct scsi_device *, int new_depth); extern int sas_bios_param(struct scsi_device *, struct block_device *, sector_t capacity, int *hsc); @@ -750,7 +749,7 @@ void sas_notify_phy_event(struct asd_sas_phy *phy, enum phy_event event, #endif #define LIBSAS_SHT_BASE _LIBSAS_SHT_BASE \ - .device_configure = sas_device_configure, \ + .sdev_configure = sas_sdev_configure, \ .sdev_prep = sas_sdev_prep, \ #define LIBSAS_SHT_BASE_NO_SLAVE_INIT _LIBSAS_SHT_BASE diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index 0b32266079b2..abf203544d47 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h @@ -212,10 +212,10 @@ struct scsi_host_template { * * Status: OPTIONAL * - * Note: slave_configure is the legacy version, use device_configure for + * Note: slave_configure is the legacy version, use sdev_configure for * all new code. A driver must never define both. */ - int (* device_configure)(struct scsi_device *, struct queue_limits *lim); + int (* sdev_configure)(struct scsi_device *, struct queue_limits *lim); int (* slave_configure)(struct scsi_device *); /* 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 Reviewed-by: Damien Le Moal --- 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:02 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: 832657 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 E3AE11D278D for ; Wed, 2 Oct 2024 20:37:30 +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=1727901452; cv=none; b=r5PIB4/J7UbVIVeOvRwtKYyLdQmSeQJ4F+DKscaAbr7FFVgYmih+IOPdVt/KKmm3cGdMV8rG9LL5WpQEYxDYM5dUQXMuV+bY+FStFOHMfUd03N/NqDB7I4oHYJOBxS7QDkbxT0IxmHcgDT4JhB0GC5OsSSAQeFBfqvhlSZjlCRg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727901452; c=relaxed/simple; bh=y6jjVP7TrtRvCc+U/dePHx2wih/VoCjT/BPGuleR0/A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FrwRbm52h5pOjZTDnBmjZZBaW4o0Mvid9N2bKmzvpgocSd9UX3ztP7PITN5PeTZW7yTNMTlQzYQ4GLB+d9lMw2gRgJez/hyG5esQAuA43ZrXOBXBqeNrWt5R0N1bBMe6eDcytHP5B9MEb1KDrZXKUufWcMSfMX9pS6Vrg4Mhd/M= 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=DYrX8CFW; 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="DYrX8CFW" Received: from localhost (localhost [127.0.0.1]) by 009.lax.mailroute.net (Postfix) with ESMTP id 4XJmp24jpvzlgMWM; Wed, 2 Oct 2024 20:37:30 +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=BDId8 7jkV6zV8oO7rSAdA0yfvEac4/UWcnIZz449qB8=; b=DYrX8CFWvW/MH0GngyZCQ leOLr18Wh1IVY9bxABxMZRkfu+XkbOkK46qukeVe9sH/ORw8xHGztQl7OsCGOhl6 lKqkDG05pEKOi7Ac1zBSWokzKwFOrkN/97qTdqV6rI5btEzzGIpsCDvcD8QFklQK Tb/KnnOqhU5MEyeWO2Rtfwd1UrMolkl42RnWGlMqzoZkIS29+sAPG+8PsP66YRp9 Ahg6o7aeV5aAoa+s3TOz6in4YR7JwfgnRthEkFphkVp2M8vTf6zoDR6W2D23XtUT riUREJ+ZNG+17ECTy+xgaNg8EBKTf1BRb9k/vPlAIUe/GV0T4aQ7qAr7DB2bW8zD 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 6neKpal9KACe; 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 4XJmnf0Ml8zlgMWN; Wed, 2 Oct 2024 20:37:09 +0000 (UTC) From: Bart Van Assche To: "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, Bart Van Assche , Damien Le Moal , "James E.J. Bottomley" Subject: [PATCH v2 10/11] scsi: core: Remove the .slave_configure() method Date: Wed, 2 Oct 2024 13:34:02 -0700 Message-ID: <20241002203528.4104996-11-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 all SCSI drivers have been converted from .slave_configure() to .sdev_configure(), remove support for .slave_configure() from the SCSI core. Cc: Damien Le Moal Signed-off-by: Bart Van Assche --- drivers/scsi/scsi_scan.c | 4 +--- include/scsi/scsi_host.h | 10 +++------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 8eae48b0b821..f1830401b9c1 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -1076,8 +1076,6 @@ static int scsi_add_lun(struct scsi_device *sdev, unsigned char *inq_result, if (hostt->sdev_configure) ret = hostt->sdev_configure(sdev, &lim); - else if (hostt->slave_configure) - ret = hostt->slave_configure(sdev); if (ret) { queue_limits_cancel_update(sdev->request_queue); /* @@ -1102,7 +1100,7 @@ static int scsi_add_lun(struct scsi_device *sdev, unsigned char *inq_result, * Set up budget map again since memory consumption of the map depends * on actual queue depth. */ - if (hostt->sdev_configure || hostt->slave_configure) + if (hostt->sdev_configure) scsi_realloc_sdev_budget_map(sdev, sdev->queue_depth); if (sdev->scsi_level >= SCSI_3) diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index abf203544d47..7ae99c6d26cb 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h @@ -169,11 +169,11 @@ struct scsi_host_template { * * Deallocation: If we didn't find any devices at this ID, you will * get an immediate call to sdev_destroy(). If we find something - * here then you will get a call to slave_configure(), then the + * here then you will get a call to sdev_configure(), then the * device will be used for however long it is kept around, then when * the device is removed from the system (or * possibly at reboot * time), you will then get a call to sdev_destroy(). This is - * assuming you implement slave_configure and sdev_destroy. + * assuming you implement sdev_configure and sdev_destroy. * However, if you allocate memory and hang it off the device struct, * then you must implement the sdev_destroy() routine at a minimum * in order to avoid leaking memory @@ -211,19 +211,15 @@ struct scsi_host_template { * up after yourself before returning non-0 * * Status: OPTIONAL - * - * Note: slave_configure is the legacy version, use sdev_configure for - * all new code. A driver must never define both. */ int (* sdev_configure)(struct scsi_device *, struct queue_limits *lim); - int (* slave_configure)(struct scsi_device *); /* * Immediately prior to deallocating the device and after all activity * has ceased the mid layer calls this point so that the low level * driver may completely detach itself from the scsi device and vice * versa. The low level driver is responsible for freeing any memory - * it allocated in the sdev_prep or slave_configure calls. + * it allocated in the sdev_prep or sdev_configure calls. * * Status: OPTIONAL */ 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 Reviewed-by: Damien Le Moal --- 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 **/