Re: 2.6.17-mm6
From: Jeff Garzik
Date: Fri Jul 07 2006 - 16:13:29 EST
Alan Cox wrote:
Ar Gwe, 2006-07-07 am 15:59 -0400, ysgrifennodd Jeff Garzik:
The circumstances you cite happened, yes, but I think you exaggerate the
renaming. Several soldered bridge solutions are already supported by
libata.
Several do need to be renamed to ata_*.c, though.
If we work on the "commonly found" basis then it would be
pata_atiixp
pata_hpt37x
pata_hpt3x2n
pata_pdc2027x
All four commonly are found with SATA bridges, ATIIXP especially.
On the "almost any obscure case basis" would add
pata_ali
pata_sis
pata_via
and depending how far pushed
pata_sil680
and one or two others
Which do you want renamed ?
See, out of 37 pata_*.c files, you still have 25+ with pata_ prefix.
Use your judgement, based on the guidelines described: outside of
weirdo pre-production cases, are users going to be plugging PATA cables
or SATA cables into the hardware in question?
I'm a bit surprised to see pata_sis and pata_via: are you certain there
is not confusion based on the fact that newer SiS, ULi and VIA
controllers provide both SATA and PATA on the same controller?
That's a common __known painful__ area of libata. The libata API needs
to be fixed such that port_operations can be vastly different. Right
now, probe_ent requires some attributes to be common across all ports,
when they are not in real life. This leads to improper creation of
if (this port is sata)
...
else
...
code inside hooks, when the libata-with-fixed-API solution looks like
static void pata_doit() { ... }
static void sata_doit() { ... }
static struct ata_port_operations pata_ops = {...};
static struct ata_port_operations sata_ops = {...};
For such cases, PATA support for these _new_ controllers needs to be
added to sata_via.c, sata_uli.c, sata_sis.c, and they should then be
renamed. Or whatever similar renaming/code-shuffle solution brings
about the same end result.
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/