Revision 0da2f0f164f098bb4447c714b552ac1681b2d6e8 authored by Yoann Padioleau on 06 July 2007, 09:39:56 UTC, committed by Linus Torvalds on 06 July 2007, 17:23:43 UTC
In 7d12e780e003f93433d49ce78cfedf4b4c52adc5 David Howells performed
this evolution:
 "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers"

He correctly updated many of the function definitions that were using this
extra regs pointer parameter but forgot to update some caller sites of
those functions.  The reason the modifications was not properly done on all
drivers is that some drivers were rarely compiled because they are for
AMIGA, or that some code sites were inside #ifdefs where the option is not
set or inside #if 0.

Here is the semantic patch that found the occurences
and fixed the problem.

@ rule1 @
identifier fn;
identifier irq, dev_id;
typedef irqreturn_t;
@@

static irqreturn_t fn(int irq, void *dev_id)
{
   ...
}

@@
identifier rule1.fn;
expression E1, E2, E3;
@@

 fn(E1, E2
-   ,E3
   )

Signed-off-by: Yoann Padioleau <padator@wanadoo.fr>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 071922c
Raw File
msgbuf.h
#ifndef _ASM_MSGBUF_H
#define _ASM_MSGBUF_H

/*
 * The msqid64_ds structure for FR-V architecture.
 * Note extra padding because this structure is passed back and forth
 * between kernel and user space.
 *
 * Pad space is left for:
 * - 64-bit time_t to solve y2038 problem
 * - 2 miscellaneous 32-bit values
 */

struct msqid64_ds {
	struct ipc64_perm	msg_perm;
	__kernel_time_t		msg_stime;	/* last msgsnd time */
	unsigned long		__unused1;
	__kernel_time_t		msg_rtime;	/* last msgrcv time */
	unsigned long		__unused2;
	__kernel_time_t		msg_ctime;	/* last change time */
	unsigned long		__unused3;
	unsigned long		msg_cbytes;	/* current number of bytes on queue */
	unsigned long		msg_qnum;	/* number of messages in queue */
	unsigned long		msg_qbytes;	/* max number of bytes on queue */
	__kernel_pid_t		msg_lspid;	/* pid of last msgsnd */
	__kernel_pid_t		msg_lrpid;	/* last receive pid */
	unsigned long		__unused4;
	unsigned long		__unused5;
};

#endif /* _ASM_MSGBUF_H */

back to top