OK I see I have "forced" you to take care of this.
My problem previously was the simple fact that in esp.
the pmac code was sidestepping the generic code and providing his
own mechanisms for handling chipset specific dma transfer methods.
As you can see now it's possible to have overloaded most
of the "virtuaized" udma_xxx channel methods.
Now you request me to virtualize the udma_enable stuff.
Nothing easier then this.
Now we have:
udma_enable()
{
...
/* default method implementation */
...
}
I will do the following with it:
static do_dma_enable() // was udma_enable() before
{
/* default method implementation */
}
udma_enable()
{
if (ch->udma_enable)
return ch->udma_enable();
/* fallback to default implementation */
do_dma_enable();
}
I think this should suite your needs and you will be
able to just overload the implementation of
udma_enable() in ide-pmac.c
by setting the udma_enable method in the
host chip initialization routine there. (Directly alonside
the the compiler will chock on ->udma so such memmber.)
> If I have missed something, please let me know. But it looks to me
> very much as though this patch makes it impossible for me to use my
> powermac IDE interfaces.
Would the above infrastructue adjustment suit your needs?
If Yes (I think so), please just drop me an OK please.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/