Skip to contentSkip to conversation

ANNOUNCE - DC315/DC395 driver for 2.5

DISCUSSION Jamie Lenehan 4 participants 10 messages Apr 23, 2003 – May 19, 2003 SCSI

lore
Share & tools
lore
#0 lore raw

Hello all,
an updated version of the TekRam DC395/DC315 SCSI driver for the 2.5 kernels is available from:

http://twibble.org/dist/dc395x/

Comments, suggestions and patches will be appreciated! The aim is to try and get this driver integrated into the main kernel tree.

This driver is based on the original 2.4 driver with updates for 2.5 from various people merged in and a lot of cleanups done. No one has been unable to contact Kurt Garloff, the previous maintainer of the driver, for a long time and so have decided to maintain the driver ourselves.

Signature · 2 lines
 Jamie Lenehan              Work Phone: +61 3 9843 8817
 [email protected]        Work Email: [email protected]
#1 lore raw

ANNOUNCE dc395x update [2.03]

Hi,
a new version against 2.5.69 is now up at:

http://twibble.org/dist/dc395x/

Changes in this version:

- Fix kernel crash when sharing IRQ's with other devices and the other devices IRQ triggers.

- Make the debugging mess less of a mess.

- Changed the module initialization around. If I'm reading scsi_mid_low_api.txt correctly it's now doing it "hotplug" style instead of "passive" style. At least it simplifies things and permits the driver to survive multiple insmod/rmmod cycles.

- Changed the command line option from a set of integers into multiple parameters. Use the new module_param_named stuff. Cleanup all the code that deals with these options.

- Fix the formatting of kerneldoc stuff on the functions that have it added so far. Add more for all the stuff effecting by the module/parameter changes.

- Cleanup macro abuse where macros would implicitly use local variables. Now it always passes the parameters it operates on to the macros.

- Cleanup function scope. Make everything except the module init functions static. Remove unused functions DC395x_updateDCB, DC395x_inquiry_done and DC395x_inquiry.

NOTE: I've noticed some changes to the driver on linux-scsi and
bk-commits today so it may not apply cleanly to recent bk trees.

Signature · 2 lines
 Jamie Lenehan              Work Phone: +61 3 9843 8817
 [email protected]        Work Email: [email protected]
#2 lore raw

Re: ANNOUNCE dc395x update [2.03]

Quoted 4 lines · Jamie Lenehan

Hi,
a new version against 2.5.69 is now up at:

   http://twibble.org/dist/dc395x/

I've also put up each of the changes as individual patches in the dc395x-2.5.69-2.03-split subdirectory:

00-irq-crash-fix.patch
01-debug-cleanup.patch
02-module-cleanup.patch
03-kerneldoc-update.patch
04-macro-abuse-cleanup.patch
05-static-scope-cleanup.patch
06-version-2.03.patch

Is there anyone reading here who would be able to take these changes (and hopefully future changes) and push them on to Linus?

Thanks
Jamie.

Signature · 2 lines
 Jamie Lenehan              Work Phone: +61 3 9843 8817
 [email protected]        Work Email: [email protected]
#3 lore raw

Re: ANNOUNCE dc395x update [2.03]

Quoted 17 lines · Jamie Lenehan
Quoted 4 lines · Jamie Lenehan

Hi,
a new version against 2.5.69 is now up at:

   http://twibble.org/dist/dc395x/

I've also put up each of the changes as individual patches in the dc395x-2.5.69-2.03-split subdirectory:

00-irq-crash-fix.patch
01-debug-cleanup.patch
02-module-cleanup.patch
03-kerneldoc-update.patch
04-macro-abuse-cleanup.patch
05-static-scope-cleanup.patch
06-version-2.03.patch

Quoted 2 lines

Is there anyone reading here who would be able to take these changes (and hopefully future changes) and push them on to Linus?

That's a bit much to expect, if you're not even sure they apply to bk-current :)

Signature · 1 line
Jens Axboe
#4 lore raw

Re: ANNOUNCE dc395x update [2.03]

On Tue, May 13, 2003 at 11:46:40AM +0200, Jens Axboe wrote:
[...]

Quoted 2 lines

That's a bit much to expect, if you're not even sure they apply to bk-current :)

Hmmm... good point now that I think about it... I can't really afford the volume charges to do a initial pull of the 2.5 bk tree, but looking on kernel.org mirror now I see that there are daily bk snapshots which I can probably afford to get.

I'll update to patch-2.5.69-bk8 when it appears, redo the diffs and then send another note about it.

Thanks.
Jamie.

Signature · 2 lines
 Jamie Lenehan              Work Phone: +61 3 9843 8817
 [email protected]        Work Email: [email protected]
#6 lore raw

Re: [Dc395x] Re: ANNOUNCE dc395x update [2.03]

In reply to Jens Axboe
Quoted 5 lines · Jens Axboe
Quoted 2 lines

Is there anyone reading here who would be able to take these changes (and hopefully future changes) and push them on to Linus?

That's a bit much to expect, if you're not even sure they apply to bk-current :)

Well but we do keep sending the patches to either the list and/or Linus. But we also do depend on feedback of those responsible for the SCSI stuff otherwise we end in our own changes and the individual changes of those with bk access. We are trying since pre 2.5.68 to have these patches included.

greets,

Ali Akcaagac

#7 lore raw

Re: ANNOUNCE dc395x update [2.03]

In reply to Jamie Lenehan
Quoted 2 lines · Jamie Lenehan

- Cleanup function scope. Make everything except the module init functions static.

everything should be static, including module init functions.

#8 lore raw

Re: ANNOUNCE dc395x update [2.03]

Quoted 5 lines · Christoph Hellwig
Quoted 2 lines · Jamie Lenehan

- Cleanup function scope. Make everything except the module init functions static.

everything should be static, including module init functions.

Yeah. Turns out this is a comment error - the actual module init functions are static.

Thanks.

Signature · 2 lines
 Jamie Lenehan              Work Phone: +61 3 9843 8817
 [email protected]        Work Email: [email protected]
#9 lore raw

ANNOUNCE: dc395x update [2.04]

In reply to Jamie Lenehan

Hi, a new version against 2.5.69-bk13 is now up at:

http://twibble.org/dist/dc395x/

Both as seperate patches and as one large patch.
Changes in this version since 2.03:

- 07-remove-cmd-queue.patch

Removes queueing of commands which cannot be processed immediately due to a lack of scsi request blocks. The mid layer will take care of this queuing.

- 08-remove-unused-vars.patch

Remove variables which are not used so that it's easier to see which variables are actually used.

- 09-names-functions.patch

Removes the dc395x_ prefix from functions, lower cases all the function names and renames a few function to make it a bit clearer what they actually do.

- 10-names-variables.patch

Removes the p prefix from pointer variables, lower cases the variable names and removes the dc395x prefix from variables.

- 11-struct-vars.patch

Removes the use of structure name within structures. ie in an srb the variables srb_x were changed to just be x (if x is in the srb then surely it refers to something to do with the srb!)

- 12-null-use.patch

Remove casts to NULL and use NULL instead of 0 in places where pointers were being assigned zero.

- 13-irq-fix-01.patch

The old code used to go to a lot of effort to only register a single interrupt handler if there were multiple cards in the system on the same IRQ. I changed this with the module changes to register one irq handler per device found. But it was only ever unregistering the first irq handler dev_id. This is fixed here.

I ripped out the remaining code in init_adapter which tries to find other adapters with the same id.

Previously the driver would request_regio and then request_irq. If the request_irq failed it would exit, but wouldn't release the resources. This is fixed here.

It's not possible now to register a driver instance without an IRQ. So I removed the check in driver shutdown for this situation.

- 14-irq-fix-02.patch

The existing interupt handler walks the static list of installed adapters to find one with a matching IRQ and with interupts pending.

I ripped that out and made it just use the dev_id (which is the acb pointer) to directly check that specified adapter. This does have the disadvantage that the irq handler will need to be recalled for the other device to process it's irq requests. But I think the simplification is worth it.

- 15-inline.patch

There's a mixture of __inline__ and inline used. I've replaced the __inline__'s with just inline.

- 16-version-2.04.patch

Update version number/date.

Signature · 2 lines
 Jamie Lenehan              Work Phone: +61 3 9843 8817
 [email protected]        Work Email: [email protected]