Hi, during my quest in converting two network drivers to the driver model, I couldn't find any real documentation in explaining the new network driver model, or how to address such a port. After some digging in the code (both in the framework and in some drivers), I decided to update the existing Ethernet drivers document.
This is my first shot, I surely made many mistakes or misunderstood some things. Some parts are not very clear to me, for instance to exact semantic of the recv() function and this ETH_RECV_CHECK_DEVICE flag. The uclass implementation of eth_rx() seems to diverge in the code flow. Also I found drivers implementing send() slightly differently, some actually wait for the packet to be send, others copy the data and just queue the packet. I would be very grateful for a clarification on the intended behaviour on both functions. Sending this as an RFC to get some more feedback. The diff isn't really helpful, different algorithms didn't really make a difference. I re-used some paragraphs from the old document to describe the legacy part at the end, and re-used some sentences for the callback function. But the rest is probably just a rewrite, so a super-clever diff wouldn't be of any help here anyway. I recommend to just look at the new document, preferrably with some reST rendering. Cheers, Andre Andre Przywara (1): doc: net: Rewrite network driver documentation doc/README.drivers.eth | 438 ++++++++++++++++++++++++++++++------------------- 1 file changed, 271 insertions(+), 167 deletions(-) -- 2.14.5 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot