[riot-notifications] [RIOT-OS/RIOT] stm32 eth peripheral driver (#10633)

Kaspar Schleiser notifications at github.com
Sat Feb 16 14:48:35 CET 2019


I've been thinking about the namespacing.

> Also, the netdev adaption is done in the cpu implementation, and I think it should be somewhere in `drivers/`. The CPU will only provide `eth_init`, `eth_read` and `eth_write`.
> Is it possible to have multiple eth interfaces on the same board ?
> 
> I have other small comments below. But I think the global design needs more work. Maybe one day, we will want to provide a `periph_eth` for the FRDM_KW64F (Kinetis). If everything is already in place, it will be easier to add.

@aabadie  I'm not sure this makes sense. It would basically mean that "periph_eth" is the interface that is to be implemented. But ethernet is fundamentally different from uart, gpio, timers as in *no* application will directly use the API. They will use netdev. So IMO there's not much need to unify below that. I mean, just think of netdev as "periph_netdev"...

What might cause trouble is using ```eth_*()``` as function namespace...

Thus I suggest:

- keep stm32_eth as feature (for conditional compilation, only provide that for boards that have the periperal, the wiring and the configuration)
- drop periph_eth and periph_stm32_eth features (no need to use either without netdev)
- move all of the implementation into ```cpu/stm32_common/stm32_eth```
- rename all (global) functions to ```stm32_eth_*()```

Looking forward to get this in!

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/10633#issuecomment-464348583
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190216/256fc2cb/attachment-0001.html>


More information about the notifications mailing list