2019-08-24 15:08:33

by Souptick Joarder

[permalink] [raw]
Subject: [PATCH] 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.

Signed-off-by: Souptick Joarder <[email protected]>
---
drivers/scsi/aic7xxx/aic7xxx_osm.c | 68 --------------------------------------
1 file changed, 68 deletions(-)

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,
};

--
1.9.1


2019-08-26 08:47:34

by James Bottomley

[permalink] [raw]
Subject: Re: [PATCH] scsi: aic7xxx: Remove dead code

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

2019-08-26 12:13:28

by Souptick Joarder

[permalink] [raw]
Subject: Re: [PATCH] scsi: aic7xxx: Remove dead code

On Mon, Aug 26, 2019 at 2:03 PM James Bottomley <[email protected]> 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.