[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: swim driver question for 2.6



On Sat, Mar 26, 2005, Brad Boyer wrote:

> On Sat, Mar 26, 2005 at 10:31:01AM -0600, vinai wrote:
>
>> In trying to update the swim3 driver for 2.6, I was also pointed
>> ot the swim_iop.c driver (activated by CONFIG_BLK_DEV_SWIM_IOP
>> kernel option).  Does anyone know if this driver is still needed
>> for 2.6 on 68k machines ?
>
> The swim_iop driver never worked, honestly. I was the most recent
> person to work on it, but I never got read/write running. The only
> thing I got to work was all the ioctl type stuff, like eject and
> format detection. The bulk data transfer is poorly documented.
>
> It's only used on three specific models where there is no direct
> access to the SWIM chip without disabling ADB. However, for those
> three machines we won't be able to use floppies without this
> driver or a replacement for it.
>
>> It doesn't seem that is driver has been updated either (at least
>> in the kernel.org tree).  What floppy drivers do folks with 68k
>> macs use ?
>
> It's only recently that anyone got any floppy driver working on a
> 68k mac in linux. The swim3 driver isn't quite right for any of
> them, since they all have either an older version of SWIM or a
> different chip entirely.

Okay - thanks for the confirmation.  I had a look through the code
for both drivers, and they seemed pretty self-contained (no cross
dependencies), but I just wanted to make sure.  I'm only now just
learning how to crawl around in kernel code ...

Another question, if folks don't mind:

As Micheal suggested in an earlier thread, some older interrupt
routines had to be replaced with the 2.6 version (local_irq_**).
This was pointed out not to be SMP safe, so I read a little, and
started again with substitution, replacing the local_irq_* lines
with the spin_lock equivalents.  However, I could not find the
spin_lock_ equivalent of local_irq_enable.  The closest I found
was spin_lock_irqsave in floopy.c ...  Is this what should be
used to replace local_irq_enable ?

With all of the other irq handling functions replaced, except
that one (local_irq)enable), the machine locked up and I had to
do a hard reboot.

thanx
vinai



Reply to: