From: "Jun'ichi Nomura" <j-nomura@ce.jp.nec.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org,
gregkh@suse.de, maule@sgi.com
Subject: Re: [PATCH] (-mm) drivers/pci/msi: explicit declaration of msi_register
Date: Wed, 15 Mar 2006 00:51:14 +0000 [thread overview]
Message-ID: <44176502.9050109@ce.jp.nec.com> (raw)
In-Reply-To: <20060314134535.72eb7243.akpm@osdl.org>
[-- Attachment #1: Type: text/plain, Size: 1713 bytes --]
Hi Andrew,
Andrew Morton wrote:
> One option might be to create inclued/linux/msi.h, put this declaration in
> there then include <asm/msi.h>. Possibly some other declarations should be
> moved into linux/msi.h as well.
How about the attached one?
Build tested on ia64 with both CONFIG_PCI_MSI y and n.
This is a minimum set to fix compile warnings and errors.
Maybe better fleshed up by msi developers if necessary.
The patch also fixes other build error below on CONFIG_IA64_GENERIC.
CC arch/ia64/sn/pci/msi.o
/build/rc6/source/arch/ia64/sn/pci/msi.c: At top level:
/build/rc6/source/arch/ia64/sn/pci/msi.c:192: error: variable `sn_msi_ops' has initializer but incomplete type
/build/rc6/source/arch/ia64/sn/pci/msi.c:193: error: unknown field `setup' specified in initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:193: warning: excess elements in struct initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:193: warning: (near initialization for `sn_msi_ops')
/build/rc6/source/arch/ia64/sn/pci/msi.c:194: error: unknown field `teardown' specified in initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:194: warning: excess elements in struct initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:194: warning: (near initialization for `sn_msi_ops')
/build/rc6/source/arch/ia64/sn/pci/msi.c:196: error: unknown field `target' specified in initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:196: warning: excess elements in struct initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:196: warning: (near initialization for `sn_msi_ops')
/build/rc6/source/arch/ia64/sn/pci/msi.c:192: error: storage size of `sn_msi_ops' isn't known
Thanks,
--
Jun'ichi Nomura, NEC Solutions (America), Inc.
[-- Attachment #2: drivers-pci-msi-add-linux-msi-h.patch --]
[-- Type: text/x-patch, Size: 7889 bytes --]
--- linux-2.6.16-rc6-mm1.orig/include/linux/msi.h 2006-03-14 17:00:10.000000000 -0500
+++ linux-2.6.16-rc6-mm1/include/linux/msi.h 2006-03-14 19:04:47.000000000 -0500
@@ -0,0 +1,71 @@
+#ifndef __LINUX_MSI_H
+#define __LINUX_MSI_H
+
+#include <linux/config.h>
+#include <linux/types.h>
+
+#ifdef CONFIG_PCI_MSI
+struct pci_dev;
+/*
+ * MSI operation vector. Used by the msi core code (drivers/pci/msi.c)
+ * to abstract platform-specific tasks relating to MSI address generation
+ * and resource management.
+ */
+struct msi_ops {
+ /**
+ * setup - generate an MSI bus address and data for a given vector
+ * @pdev: PCI device context (in)
+ * @vector: vector allocated by the msi core (in)
+ * @addr_hi: upper 32 bits of PCI bus MSI address (out)
+ * @addr_lo: lower 32 bits of PCI bus MSI address (out)
+ * @data: MSI data payload (out)
+ *
+ * Description: The setup op is used to generate a PCI bus addres and
+ * data which the msi core will program into the card MSI capability
+ * registers. The setup routine is responsible for picking an initial
+ * cpu to target the MSI at. The setup routine is responsible for
+ * examining pdev to determine the MSI capabilities of the card and
+ * generating a suitable address/data. The setup routine is
+ * responsible for allocating and tracking any system resources it
+ * needs to route the MSI to the cpu it picks, and for associating
+ * those resources with the passed in vector.
+ *
+ * Returns 0 if the MSI address/data was successfully setup.
+ */
+ int (*setup) (struct pci_dev *pdev, unsigned int vector,
+ u32 *addr_hi, u32 *addr_lo, u32 *data);
+
+ /**
+ * teardown - release resources allocated by setup
+ * @vector: vector context for resources (in)
+ *
+ * Description: The teardown op is used to release any resources
+ * that were allocated in the setup routine associated with the passed
+ * in vector.
+ */
+ void (*teardown) (unsigned int vector);
+
+ /**
+ * target - retarget an MSI at a different cpu
+ * @vector: vector context for resources (in)
+ * @cpu: new cpu to direct vector at (in)
+ * @addr_hi: new value of PCI bus upper 32 bits (in/out)
+ * @addr_lo: new value of PCI bus lower 32 bits (in/out)
+ *
+ * Description: The target op is used to redirect an MSI vector
+ * at a different cpu. addr_hi/addr_lo coming in are the existing
+ * values that the MSI core has programmed into the card. The
+ * target code is responsible for freeing any resources (if any)
+ * associated with the old address, and generating a new PCI bus
+ * addr_hi/addr_lo that will redirect the vector at the indicated cpu.
+ */
+ void (*target) (unsigned int vector, unsigned int cpu,
+ u32 *addr_hi, u32 *addr_lo);
+};
+
+extern struct msi_ops msi_apic_ops;
+int msi_register(struct msi_ops *ops);
+#endif
+
+#include <asm/msi.h>
+#endif /* __LINUX_MSI_H */
--- linux-2.6.16-rc6-mm1.orig/drivers/pci/msi.h 2006-03-14 19:01:11.000000000 -0500
+++ linux-2.6.16-rc6-mm1/drivers/pci/msi.h 2006-03-14 18:28:50.000000000 -0500
@@ -6,7 +6,7 @@
#ifndef MSI_H
#define MSI_H
-#include <asm/msi.h>
+#include <linux/msi.h>
/*
* Assume the maximum number of hot plug slots supported by the system is about
@@ -82,62 +82,4 @@ struct msi_desc {
void __iomem *mask_base;
struct pci_dev *dev;
};
-
-/*
- * MSI operation vector. Used by the msi core code (drivers/pci/msi.c)
- * to abstract platform-specific tasks relating to MSI address generation
- * and resource management.
- */
-struct msi_ops {
- /**
- * setup - generate an MSI bus address and data for a given vector
- * @pdev: PCI device context (in)
- * @vector: vector allocated by the msi core (in)
- * @addr_hi: upper 32 bits of PCI bus MSI address (out)
- * @addr_lo: lower 32 bits of PCI bus MSI address (out)
- * @data: MSI data payload (out)
- *
- * Description: The setup op is used to generate a PCI bus addres and
- * data which the msi core will program into the card MSI capability
- * registers. The setup routine is responsible for picking an initial
- * cpu to target the MSI at. The setup routine is responsible for
- * examining pdev to determine the MSI capabilities of the card and
- * generating a suitable address/data. The setup routine is
- * responsible for allocating and tracking any system resources it
- * needs to route the MSI to the cpu it picks, and for associating
- * those resources with the passed in vector.
- *
- * Returns 0 if the MSI address/data was successfully setup.
- */
- int (*setup) (struct pci_dev *pdev, unsigned int vector,
- u32 *addr_hi, u32 *addr_lo, u32 *data);
-
- /**
- * teardown - release resources allocated by setup
- * @vector: vector context for resources (in)
- *
- * Description: The teardown op is used to release any resources
- * that were allocated in the setup routine associated with the passed
- * in vector.
- */
- void (*teardown) (unsigned int vector);
-
- /**
- * target - retarget an MSI at a different cpu
- * @vector: vector context for resources (in)
- * @cpu: new cpu to direct vector at (in)
- * @addr_hi: new value of PCI bus upper 32 bits (in/out)
- * @addr_lo: new value of PCI bus lower 32 bits (in/out)
- *
- * Description: The target op is used to redirect an MSI vector
- * at a different cpu. addr_hi/addr_lo coming in are the existing
- * values that the MSI core has programmed into the card. The
- * target code is responsible for freeing any resources (if any)
- * associated with the old address, and generating a new PCI bus
- * addr_hi/addr_lo that will redirect the vector at the indicated cpu.
- */
- void (*target) (unsigned int vector, unsigned int cpu,
- u32 *addr_hi, u32 *addr_lo);
-};
-
#endif /* MSI_H */
--- linux-2.6.16-rc6-mm1.orig/drivers/pci/pci.h 2006-03-14 17:01:54.000000000 -0500
+++ linux-2.6.16-rc6-mm1/drivers/pci/pci.h 2006-03-14 19:08:53.000000000 -0500
@@ -48,14 +48,11 @@ extern int pci_msi_quirk;
#define pci_msi_quirk 0
#endif
-struct msi_ops;
#ifdef CONFIG_PCI_MSI
void disable_msi_mode(struct pci_dev *dev, int pos, int type);
-int msi_register(struct msi_ops *ops);
void pci_no_msi(void);
#else
static inline void disable_msi_mode(struct pci_dev *dev, int pos, int type) { }
-static inline int msi_register(struct msi_ops *ops) { return 0; }
static inline void pci_no_msi(void) { }
#endif
--- linux-2.6.16-rc6-mm1.orig/include/asm-ia64/msi.h 2006-03-14 13:54:11.000000000 -0500
+++ linux-2.6.16-rc6-mm1/include/asm-ia64/msi.h 2006-03-14 16:50:01.000000000 -0500
@@ -14,8 +14,6 @@ static inline void set_intr_gate (int nr
#define ack_APIC_irq ia64_eoi
#define MSI_TARGET_CPU_SHIFT 4
-extern struct msi_ops msi_apic_ops;
-
/* default ia64 msi init routine */
static inline int ia64_msi_init(void)
{
--- linux-2.6.16-rc6-mm1.orig/include/asm-i386/msi.h 2006-03-14 14:03:57.000000000 -0500
+++ linux-2.6.16-rc6-mm1/include/asm-i386/msi.h 2006-03-14 17:05:54.000000000 -0500
@@ -12,8 +12,6 @@
#define LAST_DEVICE_VECTOR 232
#define MSI_TARGET_CPU_SHIFT 12
-extern struct msi_ops msi_apic_ops;
-
static inline int msi_arch_init(void)
{
msi_register(&msi_apic_ops);
--- linux-2.6.16-rc6-mm1.orig/include/asm-x86_64/msi.h 2006-03-14 14:04:54.000000000 -0500
+++ linux-2.6.16-rc6-mm1/include/asm-x86_64/msi.h 2006-03-14 17:06:08.000000000 -0500
@@ -13,8 +13,6 @@
#define LAST_DEVICE_VECTOR 232
#define MSI_TARGET_CPU_SHIFT 12
-extern struct msi_ops msi_apic_ops;
-
static inline int msi_arch_init(void)
{
msi_register(&msi_apic_ops);
--- linux-2.6.16-rc6-mm1.orig/arch/ia64/sn/pci/msi.c 2006-03-14 18:13:18.000000000 -0500
+++ linux-2.6.16-rc6-mm1/arch/ia64/sn/pci/msi.c 2006-03-14 18:12:50.000000000 -0500
@@ -10,7 +10,7 @@
#include <linux/pci.h>
#include <linux/cpumask.h>
-#include <asm/msi.h>
+#include <linux/msi.h>
#include <asm/sn/addrs.h>
#include <asm/sn/intr.h>
WARNING: multiple messages have this Message-ID (diff)
From: "Jun'ichi Nomura" <j-nomura@ce.jp.nec.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org,
gregkh@suse.de, maule@sgi.com
Subject: Re: [PATCH] (-mm) drivers/pci/msi: explicit declaration of msi_register
Date: Tue, 14 Mar 2006 19:51:14 -0500 [thread overview]
Message-ID: <44176502.9050109@ce.jp.nec.com> (raw)
In-Reply-To: <20060314134535.72eb7243.akpm@osdl.org>
[-- Attachment #1: Type: text/plain, Size: 1713 bytes --]
Hi Andrew,
Andrew Morton wrote:
> One option might be to create inclued/linux/msi.h, put this declaration in
> there then include <asm/msi.h>. Possibly some other declarations should be
> moved into linux/msi.h as well.
How about the attached one?
Build tested on ia64 with both CONFIG_PCI_MSI y and n.
This is a minimum set to fix compile warnings and errors.
Maybe better fleshed up by msi developers if necessary.
The patch also fixes other build error below on CONFIG_IA64_GENERIC.
CC arch/ia64/sn/pci/msi.o
/build/rc6/source/arch/ia64/sn/pci/msi.c: At top level:
/build/rc6/source/arch/ia64/sn/pci/msi.c:192: error: variable `sn_msi_ops' has initializer but incomplete type
/build/rc6/source/arch/ia64/sn/pci/msi.c:193: error: unknown field `setup' specified in initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:193: warning: excess elements in struct initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:193: warning: (near initialization for `sn_msi_ops')
/build/rc6/source/arch/ia64/sn/pci/msi.c:194: error: unknown field `teardown' specified in initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:194: warning: excess elements in struct initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:194: warning: (near initialization for `sn_msi_ops')
/build/rc6/source/arch/ia64/sn/pci/msi.c:196: error: unknown field `target' specified in initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:196: warning: excess elements in struct initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:196: warning: (near initialization for `sn_msi_ops')
/build/rc6/source/arch/ia64/sn/pci/msi.c:192: error: storage size of `sn_msi_ops' isn't known
Thanks,
--
Jun'ichi Nomura, NEC Solutions (America), Inc.
[-- Attachment #2: drivers-pci-msi-add-linux-msi-h.patch --]
[-- Type: text/x-patch, Size: 7889 bytes --]
--- linux-2.6.16-rc6-mm1.orig/include/linux/msi.h 2006-03-14 17:00:10.000000000 -0500
+++ linux-2.6.16-rc6-mm1/include/linux/msi.h 2006-03-14 19:04:47.000000000 -0500
@@ -0,0 +1,71 @@
+#ifndef __LINUX_MSI_H
+#define __LINUX_MSI_H
+
+#include <linux/config.h>
+#include <linux/types.h>
+
+#ifdef CONFIG_PCI_MSI
+struct pci_dev;
+/*
+ * MSI operation vector. Used by the msi core code (drivers/pci/msi.c)
+ * to abstract platform-specific tasks relating to MSI address generation
+ * and resource management.
+ */
+struct msi_ops {
+ /**
+ * setup - generate an MSI bus address and data for a given vector
+ * @pdev: PCI device context (in)
+ * @vector: vector allocated by the msi core (in)
+ * @addr_hi: upper 32 bits of PCI bus MSI address (out)
+ * @addr_lo: lower 32 bits of PCI bus MSI address (out)
+ * @data: MSI data payload (out)
+ *
+ * Description: The setup op is used to generate a PCI bus addres and
+ * data which the msi core will program into the card MSI capability
+ * registers. The setup routine is responsible for picking an initial
+ * cpu to target the MSI at. The setup routine is responsible for
+ * examining pdev to determine the MSI capabilities of the card and
+ * generating a suitable address/data. The setup routine is
+ * responsible for allocating and tracking any system resources it
+ * needs to route the MSI to the cpu it picks, and for associating
+ * those resources with the passed in vector.
+ *
+ * Returns 0 if the MSI address/data was successfully setup.
+ */
+ int (*setup) (struct pci_dev *pdev, unsigned int vector,
+ u32 *addr_hi, u32 *addr_lo, u32 *data);
+
+ /**
+ * teardown - release resources allocated by setup
+ * @vector: vector context for resources (in)
+ *
+ * Description: The teardown op is used to release any resources
+ * that were allocated in the setup routine associated with the passed
+ * in vector.
+ */
+ void (*teardown) (unsigned int vector);
+
+ /**
+ * target - retarget an MSI at a different cpu
+ * @vector: vector context for resources (in)
+ * @cpu: new cpu to direct vector at (in)
+ * @addr_hi: new value of PCI bus upper 32 bits (in/out)
+ * @addr_lo: new value of PCI bus lower 32 bits (in/out)
+ *
+ * Description: The target op is used to redirect an MSI vector
+ * at a different cpu. addr_hi/addr_lo coming in are the existing
+ * values that the MSI core has programmed into the card. The
+ * target code is responsible for freeing any resources (if any)
+ * associated with the old address, and generating a new PCI bus
+ * addr_hi/addr_lo that will redirect the vector at the indicated cpu.
+ */
+ void (*target) (unsigned int vector, unsigned int cpu,
+ u32 *addr_hi, u32 *addr_lo);
+};
+
+extern struct msi_ops msi_apic_ops;
+int msi_register(struct msi_ops *ops);
+#endif
+
+#include <asm/msi.h>
+#endif /* __LINUX_MSI_H */
--- linux-2.6.16-rc6-mm1.orig/drivers/pci/msi.h 2006-03-14 19:01:11.000000000 -0500
+++ linux-2.6.16-rc6-mm1/drivers/pci/msi.h 2006-03-14 18:28:50.000000000 -0500
@@ -6,7 +6,7 @@
#ifndef MSI_H
#define MSI_H
-#include <asm/msi.h>
+#include <linux/msi.h>
/*
* Assume the maximum number of hot plug slots supported by the system is about
@@ -82,62 +82,4 @@ struct msi_desc {
void __iomem *mask_base;
struct pci_dev *dev;
};
-
-/*
- * MSI operation vector. Used by the msi core code (drivers/pci/msi.c)
- * to abstract platform-specific tasks relating to MSI address generation
- * and resource management.
- */
-struct msi_ops {
- /**
- * setup - generate an MSI bus address and data for a given vector
- * @pdev: PCI device context (in)
- * @vector: vector allocated by the msi core (in)
- * @addr_hi: upper 32 bits of PCI bus MSI address (out)
- * @addr_lo: lower 32 bits of PCI bus MSI address (out)
- * @data: MSI data payload (out)
- *
- * Description: The setup op is used to generate a PCI bus addres and
- * data which the msi core will program into the card MSI capability
- * registers. The setup routine is responsible for picking an initial
- * cpu to target the MSI at. The setup routine is responsible for
- * examining pdev to determine the MSI capabilities of the card and
- * generating a suitable address/data. The setup routine is
- * responsible for allocating and tracking any system resources it
- * needs to route the MSI to the cpu it picks, and for associating
- * those resources with the passed in vector.
- *
- * Returns 0 if the MSI address/data was successfully setup.
- */
- int (*setup) (struct pci_dev *pdev, unsigned int vector,
- u32 *addr_hi, u32 *addr_lo, u32 *data);
-
- /**
- * teardown - release resources allocated by setup
- * @vector: vector context for resources (in)
- *
- * Description: The teardown op is used to release any resources
- * that were allocated in the setup routine associated with the passed
- * in vector.
- */
- void (*teardown) (unsigned int vector);
-
- /**
- * target - retarget an MSI at a different cpu
- * @vector: vector context for resources (in)
- * @cpu: new cpu to direct vector at (in)
- * @addr_hi: new value of PCI bus upper 32 bits (in/out)
- * @addr_lo: new value of PCI bus lower 32 bits (in/out)
- *
- * Description: The target op is used to redirect an MSI vector
- * at a different cpu. addr_hi/addr_lo coming in are the existing
- * values that the MSI core has programmed into the card. The
- * target code is responsible for freeing any resources (if any)
- * associated with the old address, and generating a new PCI bus
- * addr_hi/addr_lo that will redirect the vector at the indicated cpu.
- */
- void (*target) (unsigned int vector, unsigned int cpu,
- u32 *addr_hi, u32 *addr_lo);
-};
-
#endif /* MSI_H */
--- linux-2.6.16-rc6-mm1.orig/drivers/pci/pci.h 2006-03-14 17:01:54.000000000 -0500
+++ linux-2.6.16-rc6-mm1/drivers/pci/pci.h 2006-03-14 19:08:53.000000000 -0500
@@ -48,14 +48,11 @@ extern int pci_msi_quirk;
#define pci_msi_quirk 0
#endif
-struct msi_ops;
#ifdef CONFIG_PCI_MSI
void disable_msi_mode(struct pci_dev *dev, int pos, int type);
-int msi_register(struct msi_ops *ops);
void pci_no_msi(void);
#else
static inline void disable_msi_mode(struct pci_dev *dev, int pos, int type) { }
-static inline int msi_register(struct msi_ops *ops) { return 0; }
static inline void pci_no_msi(void) { }
#endif
--- linux-2.6.16-rc6-mm1.orig/include/asm-ia64/msi.h 2006-03-14 13:54:11.000000000 -0500
+++ linux-2.6.16-rc6-mm1/include/asm-ia64/msi.h 2006-03-14 16:50:01.000000000 -0500
@@ -14,8 +14,6 @@ static inline void set_intr_gate (int nr
#define ack_APIC_irq ia64_eoi
#define MSI_TARGET_CPU_SHIFT 4
-extern struct msi_ops msi_apic_ops;
-
/* default ia64 msi init routine */
static inline int ia64_msi_init(void)
{
--- linux-2.6.16-rc6-mm1.orig/include/asm-i386/msi.h 2006-03-14 14:03:57.000000000 -0500
+++ linux-2.6.16-rc6-mm1/include/asm-i386/msi.h 2006-03-14 17:05:54.000000000 -0500
@@ -12,8 +12,6 @@
#define LAST_DEVICE_VECTOR 232
#define MSI_TARGET_CPU_SHIFT 12
-extern struct msi_ops msi_apic_ops;
-
static inline int msi_arch_init(void)
{
msi_register(&msi_apic_ops);
--- linux-2.6.16-rc6-mm1.orig/include/asm-x86_64/msi.h 2006-03-14 14:04:54.000000000 -0500
+++ linux-2.6.16-rc6-mm1/include/asm-x86_64/msi.h 2006-03-14 17:06:08.000000000 -0500
@@ -13,8 +13,6 @@
#define LAST_DEVICE_VECTOR 232
#define MSI_TARGET_CPU_SHIFT 12
-extern struct msi_ops msi_apic_ops;
-
static inline int msi_arch_init(void)
{
msi_register(&msi_apic_ops);
--- linux-2.6.16-rc6-mm1.orig/arch/ia64/sn/pci/msi.c 2006-03-14 18:13:18.000000000 -0500
+++ linux-2.6.16-rc6-mm1/arch/ia64/sn/pci/msi.c 2006-03-14 18:12:50.000000000 -0500
@@ -10,7 +10,7 @@
#include <linux/pci.h>
#include <linux/cpumask.h>
-#include <asm/msi.h>
+#include <linux/msi.h>
#include <asm/sn/addrs.h>
#include <asm/sn/intr.h>
next prev parent reply other threads:[~2006-03-15 0:51 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-14 21:01 [PATCH] (-mm) drivers/pci/msi: explicit declaration of msi_register Jun'ichi Nomura
2006-03-14 21:01 ` Jun'ichi Nomura
2006-03-14 21:45 ` [PATCH] (-mm) drivers/pci/msi: explicit declaration of Andrew Morton
2006-03-14 21:45 ` [PATCH] (-mm) drivers/pci/msi: explicit declaration of msi_register Andrew Morton
2006-03-14 21:59 ` Greg KH
2006-03-14 21:59 ` Greg KH
2006-03-14 22:25 ` Matthew Wilcox
2006-03-14 22:25 ` Matthew Wilcox
2006-03-15 0:51 ` Jun'ichi Nomura [this message]
2006-03-15 0:51 ` Jun'ichi Nomura
2006-03-15 23:55 ` Greg KH
2006-03-15 23:55 ` Greg KH
2006-03-16 15:19 ` Jun'ichi Nomura
2006-03-16 15:19 ` Jun'ichi Nomura
2006-03-16 18:19 ` Mark Maule
2006-03-16 18:19 ` Mark Maule
2006-03-16 19:32 ` Jun'ichi Nomura
2006-03-16 19:32 ` Jun'ichi Nomura
2006-03-16 19:41 ` Mark Maule
2006-03-16 19:41 ` Mark Maule
2006-03-16 23:28 ` Greg KH
2006-03-16 23:28 ` Greg KH
2006-03-16 23:37 ` Roland Dreier
2006-03-16 23:37 ` Roland Dreier
2006-03-16 23:45 ` Grant Grundler
2006-03-16 23:45 ` Grant Grundler
2006-03-16 23:47 ` Greg KH
2006-03-16 23:47 ` Greg KH
2006-03-16 23:41 ` Grant Grundler
2006-03-16 23:41 ` Grant Grundler
2006-03-16 23:49 ` Greg KH
2006-03-16 23:49 ` Greg KH
2006-03-17 0:41 ` Grant Grundler
2006-03-17 0:41 ` Grant Grundler
2006-03-17 1:18 ` Mark Maule
2006-03-17 1:18 ` Mark Maule
2006-03-16 15:29 ` Jun'ichi Nomura
2006-03-16 15:29 ` Jun'ichi Nomura
2006-03-14 21:57 ` Adrian Bunk
2006-03-14 21:57 ` Adrian Bunk
2006-03-14 23:55 ` Jun'ichi Nomura
2006-03-14 23:55 ` Jun'ichi Nomura
2006-03-15 0:09 ` Mark Maule
2006-03-15 0:09 ` Mark Maule
2006-03-15 1:04 ` Jun'ichi Nomura
2006-03-15 1:04 ` Jun'ichi Nomura
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44176502.9050109@ce.jp.nec.com \
--to=j-nomura@ce.jp.nec.com \
--cc=akpm@osdl.org \
--cc=gregkh@suse.de \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maule@sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.