diff mbox series

scsi: aic7xxx: Remove dead code

Message ID 1566659302-3514-1-git-send-email-jrdr.linux@gmail.com (mailing list archive)
State Rejected
Headers show
Series scsi: aic7xxx: Remove dead code | expand

Commit Message

Souptick Joarder Aug. 24, 2019, 3:08 p.m. UTC
These are dead code since 2.6.13. If there is no plan
to use it further, these can be removed forever.

Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
---
 drivers/scsi/aic7xxx/aic7xxx_osm.c | 68 --------------------------------------
 1 file changed, 68 deletions(-)

Comments

James Bottomley Aug. 26, 2019, 8:31 a.m. UTC | #1
On Sat, 2019-08-24 at 20:38 +0530, Souptick Joarder wrote:
> These are dead code since 2.6.13. If there is no plan
> to use it further, these can be removed forever.

Unless you can articulate a clear useful reason for the removal I'd
rather keep this and the other code.  Most of the documentation for
this chip is lost in the mists of time, so code fragments like this are
the only way we know how it was supposed to work.

A clear reason might be that it's impossible for aic7xxx ever to make
use of IU and QAS because they're LVD parameters and it's a SE/HVD
card, so the documentation in the code is actively wrong, but you'd
need to research that.

James
Souptick Joarder Aug. 26, 2019, 12:10 p.m. UTC | #2
On Mon, Aug 26, 2019 at 2:03 PM James Bottomley <jejb@linux.ibm.com> wrote:
>
> On Sat, 2019-08-24 at 20:38 +0530, Souptick Joarder wrote:
> > These are dead code since 2.6.13. If there is no plan
> > to use it further, these can be removed forever.
>
> Unless you can articulate a clear useful reason for the removal I'd
> rather keep this and the other code.  Most of the documentation for
> this chip is lost in the mists of time, so code fragments like this are
> the only way we know how it was supposed to work.

Considering your feedback, let's keep this code :)
>
> A clear reason might be that it's impossible for aic7xxx ever to make
> use of IU and QAS because they're LVD parameters and it's a SE/HVD
> card, so the documentation in the code is actively wrong, but you'd
> need to research that.

I need to look further to come up with a clear reason.
diff mbox series

Patch

diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c
index d5c4a0d..98d2e14 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c
@@ -2445,68 +2445,6 @@  static void ahc_linux_set_dt(struct scsi_target *starget, int dt)
 	ahc_unlock(ahc, &flags);
 }
 
-#if 0
-/* FIXME: This code claims to support IU and QAS.  However, the actual
- * sequencer code and aic7xxx_core have no support for these parameters and
- * will get into a bad state if they're negotiated.  Do not enable this
- * unless you know what you're doing */
-static void ahc_linux_set_qas(struct scsi_target *starget, int qas)
-{
-	struct Scsi_Host *shost = dev_to_shost(starget->dev.parent);
-	struct ahc_softc *ahc = *((struct ahc_softc **)shost->hostdata);
-	struct ahc_tmode_tstate *tstate;
-	struct ahc_initiator_tinfo *tinfo 
-		= ahc_fetch_transinfo(ahc,
-				      starget->channel + 'A',
-				      shost->this_id, starget->id, &tstate);
-	struct ahc_devinfo devinfo;
-	unsigned int ppr_options = tinfo->goal.ppr_options
-		& ~MSG_EXT_PPR_QAS_REQ;
-	unsigned int period = tinfo->goal.period;
-	unsigned long flags;
-	struct ahc_syncrate *syncrate;
-
-	if (qas)
-		ppr_options |= MSG_EXT_PPR_QAS_REQ;
-
-	ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0,
-			    starget->channel + 'A', ROLE_INITIATOR);
-	syncrate = ahc_find_syncrate(ahc, &period, &ppr_options, AHC_SYNCRATE_DT);
-	ahc_lock(ahc, &flags);
-	ahc_set_syncrate(ahc, &devinfo, syncrate, period, tinfo->goal.offset,
-			 ppr_options, AHC_TRANS_GOAL, FALSE);
-	ahc_unlock(ahc, &flags);
-}
-
-static void ahc_linux_set_iu(struct scsi_target *starget, int iu)
-{
-	struct Scsi_Host *shost = dev_to_shost(starget->dev.parent);
-	struct ahc_softc *ahc = *((struct ahc_softc **)shost->hostdata);
-	struct ahc_tmode_tstate *tstate;
-	struct ahc_initiator_tinfo *tinfo 
-		= ahc_fetch_transinfo(ahc,
-				      starget->channel + 'A',
-				      shost->this_id, starget->id, &tstate);
-	struct ahc_devinfo devinfo;
-	unsigned int ppr_options = tinfo->goal.ppr_options
-		& ~MSG_EXT_PPR_IU_REQ;
-	unsigned int period = tinfo->goal.period;
-	unsigned long flags;
-	struct ahc_syncrate *syncrate;
-
-	if (iu)
-		ppr_options |= MSG_EXT_PPR_IU_REQ;
-
-	ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0,
-			    starget->channel + 'A', ROLE_INITIATOR);
-	syncrate = ahc_find_syncrate(ahc, &period, &ppr_options, AHC_SYNCRATE_DT);
-	ahc_lock(ahc, &flags);
-	ahc_set_syncrate(ahc, &devinfo, syncrate, period, tinfo->goal.offset,
-			 ppr_options, AHC_TRANS_GOAL, FALSE);
-	ahc_unlock(ahc, &flags);
-}
-#endif
-
 static void ahc_linux_get_signalling(struct Scsi_Host *shost)
 {
 	struct ahc_softc *ahc = *(struct ahc_softc **)shost->hostdata;
@@ -2545,12 +2483,6 @@  static void ahc_linux_get_signalling(struct Scsi_Host *shost)
 	.show_width	= 1,
 	.set_dt		= ahc_linux_set_dt,
 	.show_dt	= 1,
-#if 0
-	.set_iu		= ahc_linux_set_iu,
-	.show_iu	= 1,
-	.set_qas	= ahc_linux_set_qas,
-	.show_qas	= 1,
-#endif
 	.get_signalling	= ahc_linux_get_signalling,
 };