* [omap:droid4-pending-v5.4 16/26] include/linux/serdev-gsm.h:29:2: error: unknown type name 'atomic_t'
@ 2019-10-30 3:29 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-10-30 3:29 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 9478 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git droid4-pending-v5.4
head: 3efaedc5ef6cde5bfde516b6db455b306b5ce5b7
commit: 2d0f14db2d1621061c1cbc73bf22009577902f4c [16/26] tty: n_gsm: Add support for serdev drivers
config: i386-randconfig-d002-201943 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
git checkout 2d0f14db2d1621061c1cbc73bf22009577902f4c
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
In file included from <command-line>:0:0:
>> include/linux/serdev-gsm.h:29:2: error: unknown type name 'atomic_t'
atomic_t asleep;
^~~~~~~~
>> include/linux/serdev-gsm.h:37:40: error: unknown type name 'u8'
int (*output)(struct gsm_serdev *gsd, u8 *data, int len);
^~
include/linux/serdev-gsm.h:39:14: error: unknown type name 'u8'
const u8 *buf, int len);
^~
>> include/linux/serdev-gsm.h:52:7: error: unknown type name 'size_t'
size_t len);
^~~~~~
include/linux/serdev-gsm.h:53:1: warning: no semicolon at end of struct or union
};
^
include/linux/serdev-gsm.h: In function 'gsm_serdev_register_device':
>> include/linux/serdev-gsm.h:172:10: error: 'ENODEV' undeclared (first use in this function)
return -ENODEV;
^~~~~~
include/linux/serdev-gsm.h:172:10: note: each undeclared identifier is reported only once for each function it appears in
include/linux/serdev-gsm.h: At top level:
include/linux/serdev-gsm.h:180:51: warning: 'struct device' declared inside parameter list will not be visible outside of this definition or declaration
static inline void *gsm_serdev_get_drvdata(struct device *dev)
^~~~~~
include/linux/serdev-gsm.h: In function 'gsm_serdev_get_drvdata':
>> include/linux/serdev-gsm.h:182:9: error: 'NULL' undeclared (first use in this function)
return NULL;
^~~~
include/linux/serdev-gsm.h: At top level:
include/linux/serdev-gsm.h:186:36: warning: 'struct device' declared inside parameter list will not be visible outside of this definition or declaration
void gsm_serdev_set_drvdata(struct device *dev, void *drvdata)
^~~~~~
include/linux/serdev-gsm.h: In function 'gsm_serdev_get_config':
include/linux/serdev-gsm.h:193:10: error: 'ENODEV' undeclared (first use in this function)
return -ENODEV;
^~~~~~
include/linux/serdev-gsm.h: In function 'gsm_serdev_set_config':
include/linux/serdev-gsm.h:199:10: error: 'ENODEV' undeclared (first use in this function)
return -ENODEV;
^~~~~~
include/linux/serdev-gsm.h: In function 'gsm_serdev_register_dlci':
include/linux/serdev-gsm.h:206:10: error: 'ENODEV' undeclared (first use in this function)
return -ENODEV;
^~~~~~
include/linux/serdev-gsm.h: At top level:
include/linux/serdev-gsm.h:217:14: error: unknown type name 'u8'
const u8 *buf, int len)
^~
include/linux/serdev-gsm.h: In function 'gsm_serdev_write':
include/linux/serdev-gsm.h:219:10: error: 'ENODEV' undeclared (first use in this function)
return -ENODEV;
^~~~~~
vim +/atomic_t +29 include/linux/serdev-gsm.h
8
9 /**
10 * struct gsm_serdev - serdev-gsm instance
11 * @serdev: serdev instance
12 * @gsm: ts 27.010 n_gsm instance
13 * @asleep: device is in idle state
14 * @drvdata: serdev-gsm consumer driver data
15 * @get_config: get ts 27.010 config
16 * @set_config: set ts 27.010 config
17 * @register_dlci: register ts 27.010 channel
18 * @unregister_dlci: unregister ts 27.010 channel
19 * @output: read data from ts 27.010 channel
20 * @write: write data to a ts 27.010 channel
21 * @kick: indicate more data is ready
22 *
23 * Currently only serdev and output must be initialized, the rest are
24 * are initialized by gsm_serdev_register_dlci().
25 */
26 struct gsm_serdev {
27 struct serdev_device *serdev;
28 struct gsm_mux *gsm;
> 29 atomic_t asleep;
30 void *drvdata;
31 int (*get_config)(struct gsm_serdev *gsd, struct gsm_config *c);
32 int (*set_config)(struct gsm_serdev *gsd, struct gsm_config *c);
33 int (*register_dlci)(struct gsm_serdev *gsd,
34 struct gsm_serdev_dlci *ops);
35 void (*unregister_dlci)(struct gsm_serdev *gsd,
36 struct gsm_serdev_dlci *ops);
> 37 int (*output)(struct gsm_serdev *gsd, u8 *data, int len);
38 int (*write)(struct gsm_serdev *gsd, struct gsm_serdev_dlci *ops,
39 const u8 *buf, int len);
40 void (*kick)(struct gsm_serdev *gsd);
41 };
42
43 /**
44 * struct gsm_serdev_dlci - serdev-gsm ts 27.010 channel data
45 * @line: ts 27.010 channel, control channel 0 is not available
46 * @receive_buf: function to handle data received for the channel
47 */
48 struct gsm_serdev_dlci {
49 int line;
50 int (*receive_buf)(struct gsm_serdev_dlci *ops,
51 const unsigned char *buf,
> 52 size_t len);
53 };
54
55 #ifdef CONFIG_SERIAL_DEV_BUS
56
57 int gsm_serdev_register_device(struct gsm_serdev *gsd);
58 void gsm_serdev_unregister_device(struct gsm_serdev *gsd);
59
60 static inline void *gsm_serdev_get_drvdata(struct device *dev)
61 {
62 struct serdev_device *serdev = to_serdev_device(dev);
63 struct gsm_serdev *gsd = serdev_device_get_drvdata(serdev);
64
65 if (gsd)
66 return gsd->drvdata;
67
68 return NULL;
69 }
70
71 static inline void gsm_serdev_set_drvdata(struct device *dev, void *drvdata)
72 {
73 struct serdev_device *serdev = to_serdev_device(dev);
74 struct gsm_serdev *gsd = serdev_device_get_drvdata(serdev);
75
76 if (gsd)
77 gsd->drvdata = drvdata;
78 }
79
80 /**
81 * gsm_serdev_get_config - read ts 27.010 config
82 * @gsd: serdev-gsm instance
83 * @c: ts 27.010 config data
84 *
85 * See gsm_copy_config_values() for more information.
86 */
87 static inline
88 int gsm_serdev_get_config(struct gsm_serdev *gsd, struct gsm_config *c)
89 {
90 return gsd->get_config(gsd, c);
91 }
92
93 /**
94 * gsm_serdev_set_config - set ts 27.010 config
95 * @gsd: serdev-gsm instance
96 * @c: ts 27.010 config data
97 *
98 * See gsm_config() for more information.
99 */
100 static inline
101 int gsm_serdev_set_config(struct gsm_serdev *gsd, struct gsm_config *c)
102 {
103 if (gsd && gsd->set_config)
104 return gsd->set_config(gsd, c);
105
106 return -ENODEV;
107 }
108
109 /**
110 * gsm_serdev_register_dlci - register a ts 27.010 channel
111 * @gsd: serdev-gsm instance
112 * @ops: channel ops
113 */
114 static inline
115 int gsm_serdev_register_dlci(struct gsm_serdev *gsd,
116 struct gsm_serdev_dlci *ops)
117 {
118 if (gsd && gsd->register_dlci)
119 return gsd->register_dlci(gsd, ops);
120
121 return -ENODEV;
122 }
123
124 /**
125 * gsm_serdev_unregister_dlci - unregister a ts 27.010 channel
126 * @gsd: serdev-gsm instance
127 * @ops: channel ops
128 */
129 static inline
130 void gsm_serdev_unregister_dlci(struct gsm_serdev *gsd,
131 struct gsm_serdev_dlci *ops)
132 {
133 if (gsd && gsd->unregister_dlci)
134 gsd->unregister_dlci(gsd, ops);
135 }
136
137 /**
138 * gsm_serdev_write - write data to a ts 27.010 channel
139 * @gsd: serdev-gsm instance
140 * @ops: channel ops
141 * @buf: write buffer
142 * @len: buffer length
143 */
144 static inline
145 int gsm_serdev_write(struct gsm_serdev *gsd, struct gsm_serdev_dlci *ops,
146 const u8 *buf, int len)
147 {
148 if (gsd && gsd->write)
149 return gsd->write(gsd, ops, buf, len);
150
151 return -ENODEV;
152 }
153
154 /**
155 * gsm_serdev_data_kick - indicate more data can be trasmitted
156 * @gsd: serdev-gsm instance
157 *
158 * See gsm_data_kick() for more information.
159 */
160 static inline
161 void gsm_serdev_data_kick(struct gsm_serdev *gsd)
162 {
163 if (gsd && gsd->kick)
164 gsd->kick(gsd);
165 }
166
167 #else /* CONFIG_SERIAL_DEV_BUS */
168
169 static inline
170 int gsm_serdev_register_device(struct gsm_serdev *gsd)
171 {
> 172 return -ENODEV;
173 }
174
175 static inline
176 void gsm_serdev_unregister_device(struct gsm_serdev *gsd)
177 {
178 }
179
180 static inline void *gsm_serdev_get_drvdata(struct device *dev)
181 {
> 182 return NULL;
183 }
184
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26881 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-10-30 3:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-30 3:29 [omap:droid4-pending-v5.4 16/26] include/linux/serdev-gsm.h:29:2: error: unknown type name 'atomic_t' kbuild test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.