xref: /linux/include/linux/ptp_mock.h (revision 40b0425f)
1*40b0425fSVladimir Oltean /* SPDX-License-Identifier: GPL-2.0-or-later */
2*40b0425fSVladimir Oltean /*
3*40b0425fSVladimir Oltean  * Mock-up PTP Hardware Clock driver for virtual network devices
4*40b0425fSVladimir Oltean  *
5*40b0425fSVladimir Oltean  * Copyright 2023 NXP
6*40b0425fSVladimir Oltean  */
7*40b0425fSVladimir Oltean 
8*40b0425fSVladimir Oltean #ifndef _PTP_MOCK_H_
9*40b0425fSVladimir Oltean #define _PTP_MOCK_H_
10*40b0425fSVladimir Oltean 
11*40b0425fSVladimir Oltean struct device;
12*40b0425fSVladimir Oltean struct mock_phc;
13*40b0425fSVladimir Oltean 
14*40b0425fSVladimir Oltean #if IS_ENABLED(CONFIG_PTP_1588_CLOCK_MOCK)
15*40b0425fSVladimir Oltean 
16*40b0425fSVladimir Oltean struct mock_phc *mock_phc_create(struct device *dev);
17*40b0425fSVladimir Oltean void mock_phc_destroy(struct mock_phc *phc);
18*40b0425fSVladimir Oltean int mock_phc_index(struct mock_phc *phc);
19*40b0425fSVladimir Oltean 
20*40b0425fSVladimir Oltean #else
21*40b0425fSVladimir Oltean 
mock_phc_create(struct device * dev)22*40b0425fSVladimir Oltean static inline struct mock_phc *mock_phc_create(struct device *dev)
23*40b0425fSVladimir Oltean {
24*40b0425fSVladimir Oltean 	return NULL;
25*40b0425fSVladimir Oltean }
26*40b0425fSVladimir Oltean 
mock_phc_destroy(struct mock_phc * phc)27*40b0425fSVladimir Oltean static inline void mock_phc_destroy(struct mock_phc *phc)
28*40b0425fSVladimir Oltean {
29*40b0425fSVladimir Oltean }
30*40b0425fSVladimir Oltean 
mock_phc_index(struct mock_phc * phc)31*40b0425fSVladimir Oltean static inline int mock_phc_index(struct mock_phc *phc)
32*40b0425fSVladimir Oltean {
33*40b0425fSVladimir Oltean 	return -1;
34*40b0425fSVladimir Oltean }
35*40b0425fSVladimir Oltean 
36*40b0425fSVladimir Oltean #endif
37*40b0425fSVladimir Oltean 
38*40b0425fSVladimir Oltean #endif /* _PTP_MOCK_H_ */
39