At Wed, 4 Feb 2009 15:02:07 +0100, Arnd Bergmann wrote:
On Wednesday 04 February 2009, Jaswinder Singh Rajput wrote:
+#define _SEQ_EXTERN extern +#define SEQ_USE_EXTBUF() \ + _SEQ_EXTERN unsigned char _seqbuf[]; \ + _SEQ_EXTERN int _seqbuflen;_SEQ_EXTERN int _seqbufptr
hmm, you rename snake as rope, but actually snake is still there ;-)
Yes, that's true.
The alternative would be to remove all those macros entirely, breaking also the applications from number 2 in my list.
I see this header as another example of the byteorder.h type where a kernel header provides functionality that is used by existing applications. While it should have been part of a library to start with, we cannot change it any more now without breaking stuff.
Maybe a comment should be added to clarify this.
Yes, that should help understanding, at least.
I applied your previous patch with this change now no sound git tree, and will include it in the next pull request.
Thanks!
Takashi
Arnd <><
--- a/include/linux/soundcard.h +++ b/include/linux/soundcard.h @@ -1050,7 +1050,17 @@ typedef struct mixer_vol_table {
- Some convenience macros to simplify programming of the
- /dev/sequencer interface
- These macros define the API which should be used when possible.
- This is a legacy interface for applications written against
- the OSSlib-3.8 style interface. It is no longer possible
- to actually link against OSSlib with this header, but we
- still provide these macros for programs using them.
- If you want to use OSSlib, it is recommended that you get
- the GPL version of OSS-4.x and build against that version
- of the header.
- We redefine the extern keyword so that make headers_check
*/
- does not complain about SEQ_USE_EXTBUF.
#define SEQ_DECLAREBUF() SEQ_USE_EXTBUF()