[omap:droid4-pending-mdm-v5.3 1/15] include/linux/serdev-gsm.h:29:2: error: unknown type name 'atomic_t'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://kernel.googlesource.com/pub/scm/linux/kernel/git/tmlind/linux-omap.git droid4-pending-mdm-v5.3
head:   ac8c78ae24b5535576cb398cb6e6b895ce0f918d
commit: b0acc1316f8969c3f3463d549ce5031ce87c9b58 [1/15] tty: n_gsm: Add support for serdev drivers
config: i386-randconfig-h001-201937 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-11) 7.4.0
reproduce:
        git checkout b0acc1316f8969c3f3463d549ce5031ce87c9b58
        # 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@xxxxxxxxx>

All error/warnings (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: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux