Re: problem with register_hw_with_fixup

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

 



On Tue, 23 Jan 2007 09:51:52 +0100
Stefan Althoefer <as@xxxxxxx> wrote:

> hi,
> 
> I'm currently developing a ide driver for an embedded ARM device.
> The device hardware is somewhat wired, as all IDE access must
> be done 16bit, even the control bytes. I therefore need special
> access functions.

For new drivers you should really be looking at drivers/ata

> However, in probe_hwif_init_with_fixup() I find this sequence:
> 
> -----%<-----------------
> int probe_hwif_init_with_fixup(ide_hwif_t *hwif, void (*fixup)(ide_hwif_t *hwif))
> {
> 	probe_hwif(hwif);
> 
> 	if (fixup)
> 		fixup(hwif);
> -------------------------
> 
> fixup() gets called after probe_hwif, hence my special function
> pointers will not be installed in time.

fixup is intended for doing drive level fixups and was added fairly
recently to deal with things like IT8212 in RAID mode and some PCMCIA
decode problems which run after the probe.

There isn't a good way to handle this with the old IDE layer. PMac does
it by walking the hwif array itself (without any proper locking). Adding
the call you need might be a good idea, but moving fixup will break
things.

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux