Re: [patch] fix "struct irq_desc"

From: David Mosberger <>
Date: 2003-08-06 17:01:40
>>>>> On Wed, 6 Aug 2003 16:52:45 +1000, Martin Pool <> said:

  Martin> In linux-2.6.0-test2-ia64-030729 configured for generic ia64,
  Martin> asm-ia64/machvec.h returns a 'struct irq_desc'.  There is a forward
  Martin> declaration for the struct, but it is never actually defined under
  Martin> that name, only as irq_desc_t.

  Martin> This means that the type of ia64_mv_irq_desc is wrong, which causes
  Martin> the build to break in some files that are built with -Werror.  Really
  Martin> this is incorrect even for non-generic builds although it does not
  Martin> actually fail.

  Martin> This patch puts in both the struct name and _t name:

  Martin> --- linux-2.6.0test2-ia64/include/linux/irq.h.~1~	2003-07-29 12:05:34.000000000 +1000
  Martin> +++ linux-2.6.0test2-ia64/include/linux/irq.h	2003-08-06 16:33:30.000000000 +1000
  Martin> @@ -56,7 +56,7 @@ typedef struct hw_interrupt_type  hw_irq
  Martin> *
  Martin> * Pad this out to 32 bytes for cache and indexing reasons.
  Martin> */
  Martin> -typedef struct {
  Martin> +typedef struct irq_desc {
  Martin> unsigned int status;		/* IRQ status */
  Martin> hw_irq_controller *handler;
  Martin> struct irqaction *action;	/* IRQ action list */

  Martin> Perhaps it would be better to make everything use the
  Martin> irq_desc_t name?  That would require a somewhat larger
  Martin> rearrangement of the headers to make it visible at that
  Martin> point, but I can do that if desired.

Can you run it past Andrew Morton and see if he accepts this patch?  I
think it makes tons of sense on the grounds that in Linux typedef's
are usually frowned upon (exactly because they can't be
forward-declared).  I dropped that patch a while ago because I thought
it wasn't needed anymore (and I was trying to get sync'd up with
Linus' tree).

To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Wed Aug 6 03:18:22 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:16 EST