2009-01-20 23:28:48

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: usr/include/linux/soundcard.h warnings for 'make headers_check'

usr/include/linux/soundcard.h is giving following warnings for 'make headers_check':
usr/include/linux/soundcard.h:1047: extern's make no sense in userspace
usr/include/linux/soundcard.h:1048: extern's make no sense in userspace
usr/include/linux/soundcard.h:1049: extern's make no sense in userspace
usr/include/linux/soundcard.h:1050: extern's make no sense in userspace
usr/include/linux/soundcard.h:1051: extern's make no sense in userspace
usr/include/linux/soundcard.h:1053: extern's make no sense in userspace
usr/include/linux/soundcard.h:1055: extern's make no sense in userspace
usr/include/linux/soundcard.h:1056: extern's make no sense in userspace
usr/include/linux/soundcard.h:1061: extern's make no sense in userspace
usr/include/linux/soundcard.h:1062: extern's make no sense in userspace
usr/include/linux/soundcard.h:1078: extern's make no sense in userspace
usr/include/linux/soundcard.h:1079: extern's make no sense in userspace

Do we need to fix these warnings.

If yes, then how can we fix these warnings.

Thanks

--
JSR


2009-01-21 00:08:49

by Takashi Iwai

[permalink] [raw]
Subject: Re: usr/include/linux/soundcard.h warnings for 'make headers_check'

At Tue, 20 Jan 2009 21:08:22 +0530,
Jaswinder Singh Rajput wrote:
>
> usr/include/linux/soundcard.h is giving following warnings for 'make headers_check':
> usr/include/linux/soundcard.h:1047: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1048: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1049: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1050: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1051: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1053: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1055: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1056: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1061: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1062: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1078: extern's make no sense in userspace
> usr/include/linux/soundcard.h:1079: extern's make no sense in userspace
>
> Do we need to fix these warnings.

No, these are declarations for OSS-lib.
It doesn't belong to kernel, but it's better to keep it for
compatibility in some way.


Takashi

2009-01-21 00:26:08

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: Re: usr/include/linux/soundcard.h warnings for 'make headers_check'

Hello Sam,

On Wed, 2009-01-21 at 01:08 +0100, Takashi Iwai wrote:
> At Tue, 20 Jan 2009 21:08:22 +0530,
> Jaswinder Singh Rajput wrote:
> >
> > usr/include/linux/soundcard.h is giving following warnings for 'make headers_check':
> > usr/include/linux/soundcard.h:1047: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1048: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1049: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1050: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1051: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1053: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1055: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1056: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1061: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1062: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1078: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1079: extern's make no sense in userspace
> >
> > Do we need to fix these warnings.
>
> No, these are declarations for OSS-lib.
> It doesn't belong to kernel, but it's better to keep it for
> compatibility in some way.
>

Do you have some plan where extern is required like in this case.

--
JSR

2009-01-21 05:40:05

by Sam Ravnborg

[permalink] [raw]
Subject: Re: usr/include/linux/soundcard.h warnings for 'make headers_check'

On Wed, Jan 21, 2009 at 01:08:37AM +0100, Takashi Iwai wrote:
> At Tue, 20 Jan 2009 21:08:22 +0530,
> Jaswinder Singh Rajput wrote:
> >
> > usr/include/linux/soundcard.h is giving following warnings for 'make headers_check':
> > usr/include/linux/soundcard.h:1047: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1048: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1049: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1050: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1051: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1053: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1055: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1056: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1061: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1062: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1078: extern's make no sense in userspace
> > usr/include/linux/soundcard.h:1079: extern's make no sense in userspace
> >
> > Do we need to fix these warnings.
>
> No, these are declarations for OSS-lib.
> It doesn't belong to kernel, but it's better to keep it for
> compatibility in some way.

But not in the kernel for sure.
I just checked and for example: OSS_init is not used anywhere in the kernel.
The kernel headers are not a "dump all your stuff" ground anymore.

So I encourage you to find a better home for the user space library definitons.
We can let the definiton stay for a while - but eventually they have to
be dropped from the kernel.

Sam

2009-01-24 06:50:20

by Jaswinder Singh

[permalink] [raw]
Subject: Re: usr/include/linux/soundcard.h warnings for 'make headers_check'

On Wed, Jan 21, 2009 at 5:38 AM, Takashi Iwai <[email protected]> wrote:
> At Tue, 20 Jan 2009 21:08:22 +0530,
> Jaswinder Singh Rajput wrote:
>>
>> usr/include/linux/soundcard.h is giving following warnings for 'make headers_check':
>> usr/include/linux/soundcard.h:1047: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1048: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1049: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1050: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1051: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1053: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1055: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1056: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1061: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1062: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1078: extern's make no sense in userspace
>> usr/include/linux/soundcard.h:1079: extern's make no sense in userspace
>>
>> Do we need to fix these warnings.
>
> No, these are declarations for OSS-lib.
> It doesn't belong to kernel, but it's better to keep it for
> compatibility in some way.
>

Do you find some better place for:

void seqbuf_dump(void); /* This function must be provided by programs */

extern int OSS_init(int seqfd, int buflen);
extern void OSS_seqbuf_dump(int fd, unsigned char *buf, int buflen);
extern void OSS_seq_advbuf(int len, int fd, unsigned char *buf, int buflen);
extern void OSS_seq_needbuf(int len, int fd, unsigned char *buf, int buflen);
extern void OSS_patch_caching(int dev, int chn, int patch,
int fd, unsigned char *buf, int buflen);
extern void OSS_drum_caching(int dev, int chn, int patch,
int fd, unsigned char *buf, int buflen);
extern void OSS_write_patch(int fd, unsigned char *buf, int len);
extern int OSS_write_patch2(int fd, unsigned char *buf, int len);
..

#ifdef OSSLIB
# define SEQ_USE_EXTBUF() \
extern unsigned char *_seqbuf; \
extern int _seqbuflen;extern int _seqbufptr
# define SEQ_DEFINEBUF(len) SEQ_USE_EXTBUF();static int
_requested_seqbuflen=len
# define _SEQ_ADVBUF(len) OSS_seq_advbuf(len, seqfd, _seqbuf, _seqbuflen)
# define _SEQ_NEEDBUF(len) OSS_seq_needbuf(len, seqfd, _seqbuf, _seqbuflen)
# define SEQ_DUMPBUF() OSS_seqbuf_dump(seqfd, _seqbuf, _seqbuflen)

# define SEQ_LOAD_GMINSTR(dev, instr) \
OSS_patch_caching(dev, -1, instr, seqfd, _seqbuf, _seqbuflen)
# define SEQ_LOAD_GMDRUM(dev, drum) \
OSS_drum_caching(dev, -1, drum, seqfd, _seqbuf, _seqbuflen)
#else /* !OSSLIB */

# define SEQ_LOAD_GMINSTR(dev, instr)
# define SEQ_LOAD_GMDRUM(dev, drum)

# define SEQ_USE_EXTBUF() \
extern unsigned char _seqbuf[]; \
extern int _seqbuflen;extern int _seqbufptr

..

what are your plans.

--
JSR