
Dear Michael Walle,
In message 201202242048.51624.michael@walle.cc you wrote:
which is why the exported funcs are "high level" and not ones that get into low level stuff that would necessitate passing structs. the other problem with struct passing is that they tend to break the ABI layer. -mike
Then i guess there is no way to support a board which has only evil closed source drivers for its networking card. That is, i can't export eth_register() to register my ops defined in the blob without violating the GPL.
As Mike already explained, this is correct. And it is intentional.
Even if the headers for the "struct eth_device" were public domain, this mechanism would be sth like 'linking' against the uboot, wouldn't it?
Yes, indeed.
You are not supposed to mix closed-source drivers with GPL code. The best approach is probably to re-write the drivers under GPL.
Best regards,
Wolfgang Denk