Skip to contentSkip to conversation

scsi: aic7xxx: Remove dead code

PATCH In review Souptick Joarder 2 participants 3 messages Aug 24, 2019 – Aug 26, 2019

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 scsi: aic7xxx: Remove dead code

These are dead code since 2.6.13. If there is no plan to use it further, these can be removed forever.

---
 drivers/scsi/aic7xxx/aic7xxx_osm.c | 68 --------------------------------------
 1 file changed, 68 deletions(-)
drivers/scsi/aic7xxx/aic7xxx_osm.c +0 -68
index d5c4a0d..98d2e14 100644
@@ -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,
 };
 
Signature · 1 line
1.9.1
#1 lore raw
Quoted 2 lines · Souptick Joarder

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

#2 lore raw
Quoted 9 lines · James Bottomley
Quoted 2 lines · Souptick Joarder

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 :)

Quoted 5 lines

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.