From: Christoph Hellwig <hch@lst.de>
To: g.liakhovetski@gmx.de
Cc: linux-scsi@vger.kernel.org
Subject: [PATCH] kill tmscsim ->proc_info
Date: Tue, 17 Aug 2004 18:18:58 +0200 [thread overview]
Message-ID: <20040817161858.GA16589@lst.de> (raw)
hrrible code like all proc_info implementations and no really usefull
information. We might want to add sysfs attributes if some users really
miss anything.
--- 1.45/drivers/scsi/tmscsim.c 2004-07-05 00:35:28 +02:00
+++ edited/drivers/scsi/tmscsim.c 2004-08-15 19:22:09 +02:00
@@ -295,9 +295,6 @@
static int dc390_initAdapter(struct Scsi_Host *psh, unsigned long io_port, u8 Irq, u8 index );
static void dc390_updateDCB (struct dc390_acb* pACB, struct dc390_dcb* pDCB);
-static int DC390_proc_info (struct Scsi_Host *shpnt, char *buffer, char **start,
- off_t offset, int length, int inout);
-
static struct dc390_acb* dc390_pACB_start= NULL;
static struct dc390_acb* dc390_pACB_current = NULL;
static u32 dc390_laststatus = 0;
@@ -1664,7 +1630,6 @@
static struct scsi_host_template driver_template = {
.module = THIS_MODULE,
.proc_name = "tmscsim",
- .proc_info = DC390_proc_info,
.name = DC390_BANNER " V" DC390_VERSION,
.slave_alloc = dc390_slave_alloc,
.slave_configure = dc390_slave_configure,
@@ -1784,152 +1749,6 @@
scsi_host_put(scsi_host);
pci_set_drvdata(dev, NULL);
}
-
-/********************************************************************
- * Function: DC390_proc_info(char* buffer, char **start,
- * off_t offset, int length, int hostno, int inout)
- *
- * Purpose: return SCSI Adapter/Device Info
- *
- * Input: buffer: Pointer to a buffer where to write info
- * start :
- * offset:
- * hostno: Host adapter index
- * inout : Read (=0) or set(!=0) info
- *
- * Output: buffer: contains info
- * length; length of info in buffer
- *
- * return value: length
- *
- ********************************************************************/
-
-#undef SPRINTF
-#define SPRINTF(args...) pos += sprintf(pos, ## args)
-
-#define YESNO(YN) \
- if (YN) SPRINTF(" Yes "); \
- else SPRINTF(" No ")
-
-
-static int DC390_proc_info (struct Scsi_Host *shpnt, char *buffer, char **start,
- off_t offset, int length, int inout)
-{
- int dev, spd, spd1;
- char *pos = buffer;
- struct dc390_acb* pACB;
- struct dc390_dcb* pDCB;
-
- pACB = dc390_pACB_start;
-
- while(pACB != (struct dc390_acb*)-1)
- {
- if (shpnt == pACB->pScsiHost)
- break;
- pACB = pACB->pNextACB;
- }
-
- if (pACB == (struct dc390_acb*)-1) return(-ESRCH);
-
- if(inout) /* Has data been written to the file ? */
- return -ENOSYS;
-
- SPRINTF("Tekram DC390/AM53C974 PCI SCSI Host Adapter, ");
- SPRINTF("Driver Version %s\n", DC390_VERSION);
-
- SPRINTF("SCSI Host Nr %i, ", shpnt->host_no);
- SPRINTF("%s Adapter Nr %i\n", dc390_adapname, pACB->AdapterIndex);
- SPRINTF("IOPortBase 0x%04x, ", pACB->IOPortBase);
- SPRINTF("IRQ %02i\n", pACB->IRQLevel);
-
- SPRINTF("MaxID %i, MaxLUN %i, ", shpnt->max_id, shpnt->max_lun);
- SPRINTF("AdapterID %i, SelTimeout %i ms, DelayReset %i s\n",
- shpnt->this_id, (pACB->sel_timeout*164)/100,
- dc390_eepromBuf[pACB->AdapterIndex][EE_DELAY]);
-
- SPRINTF("TagMaxNum %i, Status 0x%02x, ACBFlag 0x%02x, GlitchEater %i ns\n",
- pACB->TagMaxNum, pACB->status, pACB->ACBFlag, GLITCH_TO_NS(pACB->glitch_cfg)*12);
-
- SPRINTF("Statistics: Cmnds %li, Cmnds not sent directly %i, Out of SRB conds %i\n",
- pACB->Cmds, pACB->CmdInQ, pACB->CmdOutOfSRB);
- SPRINTF(" Lost arbitrations %i, Sel. connected %i, Connected: %s\n",
- pACB->SelLost, pACB->SelConn, pACB->Connected? "Yes": "No");
-
- SPRINTF("Nr of DCBs: %i\n", pACB->DCBCnt);
- SPRINTF("Map of attached LUNs: %02x %02x %02x %02x %02x %02x %02x %02x\n",
- pACB->DCBmap[0], pACB->DCBmap[1], pACB->DCBmap[2], pACB->DCBmap[3],
- pACB->DCBmap[4], pACB->DCBmap[5], pACB->DCBmap[6], pACB->DCBmap[7]);
-
- SPRINTF("Idx ID LUN Prty Sync DsCn SndS TagQ NegoPeriod SyncSpeed SyncOffs MaxCmd\n");
-
- pDCB = pACB->pLinkDCB;
- for (dev = 0; dev < pACB->DCBCnt; dev++)
- {
- SPRINTF("%02i %02i %02i ", dev, pDCB->TargetID, pDCB->TargetLUN);
- YESNO(pDCB->DevMode & PARITY_CHK_);
- YESNO(pDCB->SyncMode & SYNC_NEGO_DONE);
- YESNO(pDCB->DevMode & EN_DISCONNECT_);
- YESNO(pDCB->DevMode & SEND_START_);
- YESNO(pDCB->SyncMode & EN_TAG_QUEUEING);
- if (pDCB->SyncOffset & 0x0f)
- {
- int sp = pDCB->SyncPeriod; if (! (pDCB->CtrlR3 & FAST_SCSI)) sp++;
- SPRINTF(" %03i ns ", (pDCB->NegoPeriod) << 2);
- spd = 40/(sp); spd1 = 40%(sp);
- spd1 = (spd1 * 10 + sp/2) / (sp);
- SPRINTF(" %2i.%1i M %02i", spd, spd1, (pDCB->SyncOffset & 0x0f));
- }
- else SPRINTF(" (%03i ns) ", (pDCB->NegoPeriod) << 2);
- /* Add more info ...*/
- SPRINTF (" %02i\n", pDCB->MaxCommand);
- pDCB = pDCB->pNextDCB;
- }
- if (timer_pending(&pACB->Waiting_Timer)) SPRINTF ("Waiting queue timer running\n");
- else SPRINTF ("\n");
- pDCB = pACB->pLinkDCB;
-
- for (dev = 0; dev < pACB->DCBCnt; dev++)
- {
- struct dc390_srb* pSRB;
- if (pDCB->WaitSRBCnt)
- SPRINTF ("DCB (%02i-%i): Waiting: %i:", pDCB->TargetID, pDCB->TargetLUN,
- pDCB->WaitSRBCnt);
- for (pSRB = pDCB->pWaitingSRB; pSRB; pSRB = pSRB->pNextSRB)
- SPRINTF(" %li", pSRB->pcmd->pid);
- if (pDCB->GoingSRBCnt)
- SPRINTF ("\nDCB (%02i-%i): Going : %i:", pDCB->TargetID, pDCB->TargetLUN,
- pDCB->GoingSRBCnt);
- for (pSRB = pDCB->pGoingSRB; pSRB; pSRB = pSRB->pNextSRB)
-#if 0 //def DC390_DEBUGTRACE
- SPRINTF(" %s\n ", pSRB->debugtrace);
-#else
- SPRINTF(" %li", pSRB->pcmd->pid);
-#endif
- if (pDCB->WaitSRBCnt || pDCB->GoingSRBCnt) SPRINTF ("\n");
- pDCB = pDCB->pNextDCB;
- }
-
-#ifdef DC390_DEBUGDCB
- SPRINTF ("DCB list for ACB %p:\n", pACB);
- pDCB = pACB->pLinkDCB;
- SPRINTF ("%p", pDCB);
- for (dev = 0; dev < pACB->DCBCnt; dev++, pDCB=pDCB->pNextDCB)
- SPRINTF ("->%p", pDCB->pNextDCB);
- SPRINTF("\n");
-#endif
-
- *start = buffer + offset;
-
- if (pos - buffer < offset)
- return 0;
- else if (pos - buffer - offset < length)
- return pos - buffer - offset;
- else
- return length;
-}
-
-#undef YESNO
-#undef SPRINTF
static struct pci_driver dc390_driver = {
.name = "tmscsim",
next reply other threads:[~2004-08-17 16:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-17 16:18 Christoph Hellwig [this message]
2004-08-17 16:46 ` [PATCH] kill tmscsim ->proc_info Chiaki
2004-08-17 16:48 ` Christoph Hellwig
2004-08-17 17:03 ` Chiaki
2004-08-24 11:31 ` Christoph Hellwig
2004-08-17 20:38 ` Guennadi Liakhovetski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040817161858.GA16589@lst.de \
--to=hch@lst.de \
--cc=g.liakhovetski@gmx.de \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.