Thread (37 messages) 37 messages, 4 authors, 2020-11-17

Re: [PATCH net-next v2 03/11] net: dsa: microchip: split ksz_common.h

From: Christian Eggers <ceggers@arri.de>
Date: 2020-11-13 16:58:04
Also in: lkml, netdev

On Friday, 13 November 2020, 00:02:54 CET, Vladimir Oltean wrote:
On Thu, Nov 12, 2020 at 04:35:29PM +0100, Christian Eggers wrote:
quoted
Parts of ksz_common.h (struct ksz_device) will be required in
net/dsa/tag_ksz.c soon. So move the relevant parts into a new header
file.

Signed-off-by: Christian Eggers <ceggers@arri.de>
---
I had to skip ahead to see what you're going to use struct ksz_port and
struct ksz_device for. It looks like you need:

	struct ksz_port::tstamp_rx_latency_ns
	struct ksz_device::ptp_clock_lock
	struct ksz_device::ptp_clock_time

Not more.

Why don't you go the other way around, i.e. exporting some functions
from your driver, and calling them from the tagger? 
Good question... But as for as I can see, there are a single tagger and 
multiple device drivers (currently KSZ8795 and KSZ9477). 

Moving the KSZ9477 specific stuff, which is required by the tagger, into the 
KSZ9477 device driver, would make the tagger dependent on the driver(s). 
Currently, no tagger seems to have this direction of dependency (at least I 
cannot find this in net/dsa/Kconfig).

If I shall change this anyway, I would use #ifdefs within the tag_ksz driver 
in order to avoid unnecessary dependencies to the KSZ9477 driver for the case 
only KSZ8795 is selected.
You could even move
the entire ksz9477_tstamp_to_clock() into the driver as-is, as far as I
can see.


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help