From: Emese Revfy <re.emese@gmail.com>
To: Greg KH <gregkh@suse.de>
Cc: lenb@kernel.org, astarikovskiy@suse.de, mchehab@infradead.org,
linville@tuxdriver.com, miklos@szeredi.hu, davem@davemloft.net,
rostedt@goodmis.org, fweisbec@gmail.com, mingo@redhat.com,
avi@redhat.com, mtosatti@redhat.com,
torvalds@linux-foundation.org, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: [PATCH 11/31] Constify struct file_operations for 2.6.32 v1
Date: Mon, 07 Dec 2009 01:45:02 +0100 [thread overview]
Message-ID: <4B1C500E.5040406@gmail.com> (raw)
In-Reply-To: <20091206172526.GA17480@suse.de>
Greg KH wrote:
> On Sun, Dec 06, 2009 at 02:47:44AM +0100, Emese Revfy wrote:
>> Greg KH wrote:
>>> On Sat, Dec 05, 2009 at 03:50:23AM +0100, Emese Revfy wrote:
>>>> Greg KH wrote:
>>>>> On Sat, Dec 05, 2009 at 01:02:59AM +0100, Emese Revfy wrote:
>>>>>> -static struct file_operations ptmx_fops;
>>>>>> +static const struct file_operations ptmx_fops = {
>>>>>> + .llseek = no_llseek,
>>>>>> + .read = tty_read,
>>>>>> + .write = tty_write,
>>>>>> + .poll = tty_poll,
>>>>>> + .unlocked_ioctl = tty_ioctl,
>>>>>> + .compat_ioctl = tty_compat_ioctl,
>>>>>> + .open = ptmx_open,
>>>>>> + .release = tty_release,
>>>>>> + .fasync = tty_fasync,
>>>>>> +};
>>>>> You just made these functions all global, for no real good reason. Why
>>>>> did you do this?
>>>> I think this is the only way to make ptmx_fops const, provided we want to.
>>> Why do we want to?
>> Because I saw that checkpatch.pl itself tries to ensure the same I went
>> through the whole tree looking for non-const file_operations structures
>> and tried to make them const as best as I could. If you think making
>> ptmx_fops const is not worth the effort I will remove it from the patch.
>
> Based on the patch, I would think it is not worth it.
>
> thanks,
>
> greg k-h
>
Ok, I removed the affected hunks.
From: Emese Revfy <re.emese@gmail.com>
Constify struct file_operations with some exceptions.
Signed-off-by: Emese Revfy <re.emese@gmail.com>
---
drivers/acpi/battery.c | 2 +-
drivers/char/pty.c | 1 +
drivers/char/tty_io.c | 1 +
drivers/media/dvb/dvb-core/dvbdev.c | 1 +
drivers/net/wireless/b43/debugfs.c | 2 +-
drivers/net/wireless/b43legacy/debugfs.c | 2 +-
drivers/net/wireless/libertas/debugfs.c | 2 +-
drivers/staging/b3dfg/b3dfg.c | 2 +-
drivers/staging/dream/qdsp5/adsp_driver.c | 2 +-
drivers/staging/dream/qdsp5/audio_aac.c | 2 +-
drivers/staging/dream/qdsp5/audio_amrnb.c | 2 +-
drivers/staging/dream/qdsp5/audio_evrc.c | 2 +-
drivers/staging/dream/qdsp5/audio_in.c | 4 ++--
drivers/staging/dream/qdsp5/audio_mp3.c | 2 +-
drivers/staging/dream/qdsp5/audio_out.c | 4 ++--
drivers/staging/dream/qdsp5/audio_qcelp.c | 2 +-
drivers/staging/dream/qdsp5/snd.c | 2 +-
drivers/staging/dream/smd/smd_qmi.c | 2 +-
drivers/staging/dream/smd/smd_rpcrouter_device.c | 4 ++--
drivers/staging/panel/panel.c | 4 ++--
drivers/staging/poch/poch.c | 2 +-
drivers/staging/sep/sep_driver.c | 2 +-
drivers/staging/vme/devices/vme_user.c | 2 +-
fs/char_dev.c | 1 +
fs/fuse/cuse.c | 19 ++++++++++++-------
fs/fuse/dev.c | 8 ++++----
fs/fuse/fuse_i.h | 10 ++++++++++
virt/kvm/kvm_main.c | 3 +++
28 files changed, 57 insertions(+), 35 deletions(-)
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 3f4602b..2e41d36 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -763,7 +763,7 @@ DECLARE_FILE_FUNCTIONS(alarm);
}
static struct battery_file {
- struct file_operations ops;
+ const struct file_operations ops;
mode_t mode;
const char *name;
} acpi_battery_file[] = {
diff --git a/drivers/char/pty.c b/drivers/char/pty.c
index 62f282e..96e29e5 100644
--- a/drivers/char/pty.c
+++ b/drivers/char/pty.c
@@ -682,6 +682,7 @@ static int ptmx_open(struct inode *inode, struct file *filp)
return ret;
}
+/* cannot be const, see unix98_pty_init */
static struct file_operations ptmx_fops;
static void __init unix98_pty_init(void)
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index 59499ee..97616a9 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -3046,6 +3046,7 @@ struct tty_struct *get_current_tty(void)
}
EXPORT_SYMBOL_GPL(get_current_tty);
+/* cannot be const, see this function */
void tty_default_fops(struct file_operations *fops)
{
*fops = tty_fops;
diff --git a/drivers/media/dvb/dvb-core/dvbdev.c b/drivers/media/dvb/dvb-core/dvbdev.c
index 94159b9..9684961 100644
--- a/drivers/media/dvb/dvb-core/dvbdev.c
+++ b/drivers/media/dvb/dvb-core/dvbdev.c
@@ -191,6 +191,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
const struct dvb_device *template, void *priv, int type)
{
struct dvb_device *dvbdev;
+ /* cannot be const, see this function */
struct file_operations *dvbdevfops;
struct device *clsdev;
int minor;
diff --git a/drivers/net/wireless/b43/debugfs.c b/drivers/net/wireless/b43/debugfs.c
index 80b19a4..dab3a45 100644
--- a/drivers/net/wireless/b43/debugfs.c
+++ b/drivers/net/wireless/b43/debugfs.c
@@ -43,7 +43,7 @@ static struct dentry *rootdir;
struct b43_debugfs_fops {
ssize_t (*read)(struct b43_wldev *dev, char *buf, size_t bufsize);
int (*write)(struct b43_wldev *dev, const char *buf, size_t count);
- struct file_operations fops;
+ const struct file_operations fops;
/* Offset of struct b43_dfs_file in struct b43_dfsentry */
size_t file_struct_offset;
};
diff --git a/drivers/net/wireless/b43legacy/debugfs.c b/drivers/net/wireless/b43legacy/debugfs.c
index 1f85ac5..c99b4b4 100644
--- a/drivers/net/wireless/b43legacy/debugfs.c
+++ b/drivers/net/wireless/b43legacy/debugfs.c
@@ -44,7 +44,7 @@ static struct dentry *rootdir;
struct b43legacy_debugfs_fops {
ssize_t (*read)(struct b43legacy_wldev *dev, char *buf, size_t bufsize);
int (*write)(struct b43legacy_wldev *dev, const char *buf, size_t count);
- struct file_operations fops;
+ const struct file_operations fops;
/* Offset of struct b43legacy_dfs_file in struct b43legacy_dfsentry */
size_t file_struct_offset;
/* Take wl->irq_lock before calling read/write? */
diff --git a/drivers/net/wireless/libertas/debugfs.c b/drivers/net/wireless/libertas/debugfs.c
index 893a55c..7f66a50 100644
--- a/drivers/net/wireless/libertas/debugfs.c
+++ b/drivers/net/wireless/libertas/debugfs.c
@@ -708,7 +708,7 @@ out_unlock:
struct lbs_debugfs_files {
const char *name;
int perm;
- struct file_operations fops;
+ const struct file_operations fops;
};
static const struct lbs_debugfs_files debugfs_files[] = {
diff --git a/drivers/staging/b3dfg/b3dfg.c b/drivers/staging/b3dfg/b3dfg.c
index cda26bb..25f3ec6 100644
--- a/drivers/staging/b3dfg/b3dfg.c
+++ b/drivers/staging/b3dfg/b3dfg.c
@@ -848,7 +848,7 @@ static int b3dfg_mmap(struct file *filp, struct vm_area_struct *vma)
return r;
}
-static struct file_operations b3dfg_fops = {
+static const struct file_operations b3dfg_fops = {
.owner = THIS_MODULE,
.open = b3dfg_open,
.release = b3dfg_release,
diff --git a/drivers/staging/dream/qdsp5/adsp_driver.c b/drivers/staging/dream/qdsp5/adsp_driver.c
index e55a0db..577b776 100644
--- a/drivers/staging/dream/qdsp5/adsp_driver.c
+++ b/drivers/staging/dream/qdsp5/adsp_driver.c
@@ -576,7 +576,7 @@ static struct adsp_device *inode_to_device(struct inode *inode)
static dev_t adsp_devno;
static struct class *adsp_class;
-static struct file_operations adsp_fops = {
+static const struct file_operations adsp_fops = {
.owner = THIS_MODULE,
.open = adsp_open,
.unlocked_ioctl = adsp_ioctl,
diff --git a/drivers/staging/dream/qdsp5/audio_aac.c b/drivers/staging/dream/qdsp5/audio_aac.c
index ad2390f..4116ee8 100644
--- a/drivers/staging/dream/qdsp5/audio_aac.c
+++ b/drivers/staging/dream/qdsp5/audio_aac.c
@@ -1022,7 +1022,7 @@ done:
return rc;
}
-static struct file_operations audio_aac_fops = {
+static const struct file_operations audio_aac_fops = {
.owner = THIS_MODULE,
.open = audio_open,
.release = audio_release,
diff --git a/drivers/staging/dream/qdsp5/audio_amrnb.c b/drivers/staging/dream/qdsp5/audio_amrnb.c
index cd818a5..870b37b 100644
--- a/drivers/staging/dream/qdsp5/audio_amrnb.c
+++ b/drivers/staging/dream/qdsp5/audio_amrnb.c
@@ -833,7 +833,7 @@ done:
return rc;
}
-static struct file_operations audio_amrnb_fops = {
+static const struct file_operations audio_amrnb_fops = {
.owner = THIS_MODULE,
.open = audamrnb_open,
.release = audamrnb_release,
diff --git a/drivers/staging/dream/qdsp5/audio_evrc.c b/drivers/staging/dream/qdsp5/audio_evrc.c
index 4b43e18..cedafda 100644
--- a/drivers/staging/dream/qdsp5/audio_evrc.c
+++ b/drivers/staging/dream/qdsp5/audio_evrc.c
@@ -805,7 +805,7 @@ dma_fail:
return rc;
}
-static struct file_operations audio_evrc_fops = {
+static const struct file_operations audio_evrc_fops = {
.owner = THIS_MODULE,
.open = audevrc_open,
.release = audevrc_release,
diff --git a/drivers/staging/dream/qdsp5/audio_in.c b/drivers/staging/dream/qdsp5/audio_in.c
index 3d950a2..9431118 100644
--- a/drivers/staging/dream/qdsp5/audio_in.c
+++ b/drivers/staging/dream/qdsp5/audio_in.c
@@ -913,7 +913,7 @@ static int audpre_open(struct inode *inode, struct file *file)
return 0;
}
-static struct file_operations audio_fops = {
+static const struct file_operations audio_fops = {
.owner = THIS_MODULE,
.open = audio_in_open,
.release = audio_in_release,
@@ -922,7 +922,7 @@ static struct file_operations audio_fops = {
.unlocked_ioctl = audio_in_ioctl,
};
-static struct file_operations audpre_fops = {
+static const struct file_operations audpre_fops = {
.owner = THIS_MODULE,
.open = audpre_open,
.unlocked_ioctl = audpre_ioctl,
diff --git a/drivers/staging/dream/qdsp5/audio_mp3.c b/drivers/staging/dream/qdsp5/audio_mp3.c
index b95574f..286c2f4 100644
--- a/drivers/staging/dream/qdsp5/audio_mp3.c
+++ b/drivers/staging/dream/qdsp5/audio_mp3.c
@@ -941,7 +941,7 @@ done:
return rc;
}
-static struct file_operations audio_mp3_fops = {
+static const struct file_operations audio_mp3_fops = {
.owner = THIS_MODULE,
.open = audio_open,
.release = audio_release,
diff --git a/drivers/staging/dream/qdsp5/audio_out.c b/drivers/staging/dream/qdsp5/audio_out.c
index d1adcf6..f8f9833 100644
--- a/drivers/staging/dream/qdsp5/audio_out.c
+++ b/drivers/staging/dream/qdsp5/audio_out.c
@@ -810,7 +810,7 @@ static int audpp_open(struct inode *inode, struct file *file)
return 0;
}
-static struct file_operations audio_fops = {
+static const struct file_operations audio_fops = {
.owner = THIS_MODULE,
.open = audio_open,
.release = audio_release,
@@ -819,7 +819,7 @@ static struct file_operations audio_fops = {
.unlocked_ioctl = audio_ioctl,
};
-static struct file_operations audpp_fops = {
+static const struct file_operations audpp_fops = {
.owner = THIS_MODULE,
.open = audpp_open,
.unlocked_ioctl = audpp_ioctl,
diff --git a/drivers/staging/dream/qdsp5/audio_qcelp.c b/drivers/staging/dream/qdsp5/audio_qcelp.c
index f0f50e3..f6b9dbc 100644
--- a/drivers/staging/dream/qdsp5/audio_qcelp.c
+++ b/drivers/staging/dream/qdsp5/audio_qcelp.c
@@ -816,7 +816,7 @@ err:
return rc;
}
-static struct file_operations audio_qcelp_fops = {
+static const struct file_operations audio_qcelp_fops = {
.owner = THIS_MODULE,
.open = audqcelp_open,
.release = audqcelp_release,
diff --git a/drivers/staging/dream/qdsp5/snd.c b/drivers/staging/dream/qdsp5/snd.c
index 037d7ff..5469ec3 100644
--- a/drivers/staging/dream/qdsp5/snd.c
+++ b/drivers/staging/dream/qdsp5/snd.c
@@ -242,7 +242,7 @@ err:
return rc;
}
-static struct file_operations snd_fops = {
+static const struct file_operations snd_fops = {
.owner = THIS_MODULE,
.open = snd_open,
.release = snd_release,
diff --git a/drivers/staging/dream/smd/smd_qmi.c b/drivers/staging/dream/smd/smd_qmi.c
index d4e7d88..0ea632a 100644
--- a/drivers/staging/dream/smd/smd_qmi.c
+++ b/drivers/staging/dream/smd/smd_qmi.c
@@ -793,7 +793,7 @@ static int qmi_release(struct inode *ip, struct file *fp)
return 0;
}
-static struct file_operations qmi_fops = {
+static const struct file_operations qmi_fops = {
.owner = THIS_MODULE,
.read = qmi_read,
.write = qmi_write,
diff --git a/drivers/staging/dream/smd/smd_rpcrouter_device.c b/drivers/staging/dream/smd/smd_rpcrouter_device.c
index cd3910b..ff053d3 100644
--- a/drivers/staging/dream/smd/smd_rpcrouter_device.c
+++ b/drivers/staging/dream/smd/smd_rpcrouter_device.c
@@ -214,7 +214,7 @@ static long rpcrouter_ioctl(struct file *filp, unsigned int cmd,
return rc;
}
-static struct file_operations rpcrouter_server_fops = {
+static const struct file_operations rpcrouter_server_fops = {
.owner = THIS_MODULE,
.open = rpcrouter_open,
.release = rpcrouter_release,
@@ -224,7 +224,7 @@ static struct file_operations rpcrouter_server_fops = {
.unlocked_ioctl = rpcrouter_ioctl,
};
-static struct file_operations rpcrouter_router_fops = {
+static const struct file_operations rpcrouter_router_fops = {
.owner = THIS_MODULE,
.open = rpcrouter_open,
.release = rpcrouter_release,
diff --git a/drivers/staging/panel/panel.c b/drivers/staging/panel/panel.c
index 4ce399b..225f9bc 100644
--- a/drivers/staging/panel/panel.c
+++ b/drivers/staging/panel/panel.c
@@ -1305,7 +1305,7 @@ static int lcd_release(struct inode *inode, struct file *file)
return 0;
}
-static struct file_operations lcd_fops = {
+static const struct file_operations lcd_fops = {
.write = lcd_write,
.open = lcd_open,
.release = lcd_release,
@@ -1565,7 +1565,7 @@ static int keypad_release(struct inode *inode, struct file *file)
return 0;
}
-static struct file_operations keypad_fops = {
+static const struct file_operations keypad_fops = {
.read = keypad_read, /* read */
.open = keypad_open, /* open */
.release = keypad_release, /* close */
diff --git a/drivers/staging/poch/poch.c b/drivers/staging/poch/poch.c
index 2eb8e3d..57616a7 100644
--- a/drivers/staging/poch/poch.c
+++ b/drivers/staging/poch/poch.c
@@ -1057,7 +1057,7 @@ static int poch_ioctl(struct inode *inode, struct file *filp,
return 0;
}
-static struct file_operations poch_fops = {
+static const struct file_operations poch_fops = {
.owner = THIS_MODULE,
.open = poch_open,
.release = poch_release,
diff --git a/drivers/staging/sep/sep_driver.c b/drivers/staging/sep/sep_driver.c
index f890a16..509ece8 100644
--- a/drivers/staging/sep/sep_driver.c
+++ b/drivers/staging/sep/sep_driver.c
@@ -2603,7 +2603,7 @@ static struct pci_driver sep_pci_driver = {
static dev_t sep_devno;
/* the files operations structure of the driver */
-static struct file_operations sep_file_operations = {
+static const struct file_operations sep_file_operations = {
.owner = THIS_MODULE,
.ioctl = sep_ioctl,
.poll = sep_poll,
diff --git a/drivers/staging/vme/devices/vme_user.c b/drivers/staging/vme/devices/vme_user.c
index 7891288..8e31300 100644
--- a/drivers/staging/vme/devices/vme_user.c
+++ b/drivers/staging/vme/devices/vme_user.c
@@ -136,7 +136,7 @@ static int vme_user_ioctl(struct inode *, struct file *, unsigned int,
static int __init vme_user_probe(struct device *, int, int);
static int __exit vme_user_remove(struct device *, int, int);
-static struct file_operations vme_user_fops = {
+static const struct file_operations vme_user_fops = {
.open = vme_user_open,
.release = vme_user_release,
.read = vme_user_read,
diff --git a/fs/char_dev.c b/fs/char_dev.c
index d6db933..7b47e79 100644
--- a/fs/char_dev.c
+++ b/fs/char_dev.c
@@ -547,6 +547,7 @@ struct cdev *cdev_alloc(void)
* Initializes @cdev, remembering @fops, making it ready to add to the
* system with cdev_add().
*/
+
void cdev_init(struct cdev *cdev, const struct file_operations *fops)
{
memset(cdev, 0, sizeof *cdev);
diff --git a/fs/fuse/cuse.c b/fs/fuse/cuse.c
index de792dc..2115e7f 100644
--- a/fs/fuse/cuse.c
+++ b/fs/fuse/cuse.c
@@ -528,7 +528,18 @@ static int cuse_channel_release(struct inode *inode, struct file *file)
return rc;
}
-static struct file_operations cuse_channel_fops; /* initialized during init */
+static const struct file_operations cuse_channel_fops = { /* initialized during init */
+ .owner = THIS_MODULE,
+ .llseek = no_llseek,
+ .read = do_sync_read,
+ .aio_read = fuse_dev_read,
+ .write = do_sync_write,
+ .aio_write = fuse_dev_write,
+ .poll = fuse_dev_poll,
+ .open = cuse_channel_open,
+ .release = cuse_channel_release,
+ .fasync = fuse_dev_fasync,
+};
/**************************************************************************
@@ -575,12 +586,6 @@ static int __init cuse_init(void)
for (i = 0; i < CUSE_CONNTBL_LEN; i++)
INIT_LIST_HEAD(&cuse_conntbl[i]);
- /* inherit and extend fuse_dev_operations */
- cuse_channel_fops = fuse_dev_operations;
- cuse_channel_fops.owner = THIS_MODULE;
- cuse_channel_fops.open = cuse_channel_open;
- cuse_channel_fops.release = cuse_channel_release;
-
cuse_class = class_create(THIS_MODULE, "cuse");
if (IS_ERR(cuse_class))
return PTR_ERR(cuse_class);
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 51d9e33..03c8f95 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -745,7 +745,7 @@ __releases(&fc->lock)
* request_end(). Otherwise add it to the processing list, and set
* the 'sent' flag.
*/
-static ssize_t fuse_dev_read(struct kiocb *iocb, const struct iovec *iov,
+ssize_t fuse_dev_read(struct kiocb *iocb, const struct iovec *iov,
unsigned long nr_segs, loff_t pos)
{
int err;
@@ -987,7 +987,7 @@ static int copy_out_args(struct fuse_copy_state *cs, struct fuse_out *out,
* it from the list and copy the rest of the buffer to the request.
* The request is finished by calling request_end()
*/
-static ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov,
+ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov,
unsigned long nr_segs, loff_t pos)
{
int err;
@@ -1084,7 +1084,7 @@ static ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov,
return err;
}
-static unsigned fuse_dev_poll(struct file *file, poll_table *wait)
+unsigned fuse_dev_poll(struct file *file, poll_table *wait)
{
unsigned mask = POLLOUT | POLLWRNORM;
struct fuse_conn *fc = fuse_get_conn(file);
@@ -1210,7 +1210,7 @@ int fuse_dev_release(struct inode *inode, struct file *file)
}
EXPORT_SYMBOL_GPL(fuse_dev_release);
-static int fuse_dev_fasync(int fd, struct file *file, int on)
+int fuse_dev_fasync(int fd, struct file *file, int on)
{
struct fuse_conn *fc = fuse_get_conn(file);
if (!fc)
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
index 01cc462..b11fe78 100644
--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -521,6 +521,16 @@ extern const struct file_operations fuse_dev_operations;
extern const struct dentry_operations fuse_dentry_operations;
+extern ssize_t fuse_dev_read(struct kiocb *iocb, const struct iovec *iov,
+ unsigned long nr_segs, loff_t pos);
+
+extern ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov,
+ unsigned long nr_segs, loff_t pos);
+
+extern unsigned fuse_dev_poll(struct file *file, poll_table *wait);
+
+extern int fuse_dev_fasync(int fd, struct file *file, int on);
+
/**
* Inode to nodeid comparison.
*/
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 7495ce3..3ddb0c8 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1745,6 +1745,7 @@ static int kvm_vcpu_release(struct inode *inode, struct file *filp)
return 0;
}
+/* cannot be const, see kvm_init */
static struct file_operations kvm_vcpu_fops = {
.release = kvm_vcpu_release,
.unlocked_ioctl = kvm_vcpu_ioctl,
@@ -2341,6 +2342,7 @@ static int kvm_vm_mmap(struct file *file, struct vm_area_struct *vma)
return 0;
}
+/* cannot be const, see kvm_init */
static struct file_operations kvm_vm_fops = {
.release = kvm_vm_release,
.unlocked_ioctl = kvm_vm_ioctl,
@@ -2428,6 +2430,7 @@ out:
return r;
}
+/* cannot be const, see kvm_init */
static struct file_operations kvm_chardev_ops = {
.unlocked_ioctl = kvm_dev_ioctl,
.compat_ioctl = kvm_dev_ioctl,
next prev parent reply other threads:[~2009-12-07 0:43 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-04 22:00 [PATCH 00/31] constify various _ops structures for 2.6.32 v1 Emese Revfy
2009-12-04 22:05 ` [PATCH 01/31] Constify struct acpi_dock_ops " Emese Revfy
2009-12-04 22:08 ` [PATCH 02/31] Constify struct address_space_operations " Emese Revfy
2009-12-05 0:08 ` Matthew Wilcox
2009-12-05 0:36 ` Emese Revfy
2009-12-05 14:27 ` Matthew Wilcox
2009-12-06 0:18 ` Emese Revfy
2009-12-04 22:09 ` [PATCH 03/31] Constify struct backlight_ops " Emese Revfy
2009-12-04 22:12 ` [PATCH 04/31] Constify struct block_device_operations " Emese Revfy
2009-12-04 22:14 ` [PATCH 05/31] Constify struct dma_map_ops " Emese Revfy
2009-12-05 0:59 ` Stephen Rothwell
2009-12-05 1:20 ` Stephen Rothwell
2009-12-05 2:00 ` Emese Revfy
2009-12-05 2:10 ` Stephen Rothwell
2009-12-05 2:25 ` Emese Revfy
2009-12-05 2:27 ` Stephen Rothwell
2009-12-05 2:52 ` Emese Revfy
2009-12-05 3:21 ` Stephen Rothwell
2009-12-05 13:32 ` Emese Revfy
2009-12-04 22:16 ` [PATCH 06/31] Constify struct e1000_mac_operations " Emese Revfy
2009-12-04 22:39 ` Waskiewicz Jr, Peter P
2009-12-05 0:03 ` Emese Revfy
2009-12-05 0:40 ` Stephen Rothwell
2009-12-05 1:18 ` Emese Revfy
2009-12-05 1:21 ` Jeff Kirsher
2009-12-05 0:03 ` Emese Revfy
2009-12-06 0:37 ` [PATCH 06/31] Constify struct e1000_mac_operations for net-next-2.6 v1 Emese Revfy
2009-12-04 22:17 ` [PATCH 07/31] Constify struct e1000_nvm_operations for 2.6.32 v1 Emese Revfy
2009-12-04 22:40 ` Waskiewicz Jr, Peter P
2009-12-05 0:03 ` Emese Revfy
2009-12-05 0:03 ` Emese Revfy
2009-12-06 0:38 ` [PATCH 07/31] Constify struct e1000_nvm_operations for net-next-2.6 v1 Emese Revfy
2009-12-04 22:19 ` [PATCH 08/31] Constify struct e1000_phy_operations for 2.6.32 v1 Emese Revfy
2009-12-04 22:40 ` Waskiewicz Jr, Peter P
2009-12-05 0:03 ` Emese Revfy
2009-12-05 0:03 ` Emese Revfy
2009-12-06 0:38 ` [PATCH 08/31] Constify struct e1000_phy_operations for net-next-2.6 v1 Emese Revfy
2009-12-04 22:21 ` [PATCH 09/31] Constify struct extent_io_ops for 2.6.32 v1 Emese Revfy
2009-12-07 14:12 ` Chris Mason
2009-12-07 23:27 ` Emese Revfy
2009-12-04 22:22 ` [PATCH 10/31] Constify struct file_lock_operations " Emese Revfy
2009-12-04 22:25 ` [PATCH 11/31] Constify struct file_operations " Emese Revfy
2009-12-04 23:07 ` Emese Revfy
2009-12-05 0:02 ` Emese Revfy
2009-12-05 0:09 ` Greg KH
2009-12-05 2:50 ` Emese Revfy
2009-12-05 4:15 ` Greg KH
2009-12-06 1:47 ` Emese Revfy
2009-12-06 17:25 ` Greg KH
2009-12-07 0:45 ` Emese Revfy [this message]
2009-12-07 15:11 ` Greg KH
2009-12-07 17:35 ` Emese Revfy
2009-12-07 17:57 ` Greg KH
2009-12-05 14:16 ` Jiri Slaby
2009-12-06 2:38 ` Emese Revfy
2009-12-06 9:23 ` Jiri Slaby
2009-12-04 22:26 ` [PATCH 12/31] Constify struct hv_ops " Emese Revfy
2009-12-04 22:28 ` [PATCH 13/31] Constify struct intel_dvo_dev_ops " Emese Revfy
2009-12-04 22:29 ` [PATCH 14/31] Constify struct item_operations " Emese Revfy
2009-12-04 22:31 ` [PATCH 15/31] Constify struct iwl_ops " Emese Revfy
2009-12-04 23:05 ` Emese Revfy
2009-12-04 23:05 ` Emese Revfy
2009-12-05 0:02 ` Emese Revfy
2009-12-05 0:02 ` Emese Revfy
2009-12-04 22:32 ` [PATCH 16/31] Constify struct kgdb_arch " Emese Revfy
2009-12-04 22:33 ` [PATCH 17/31] Constify struct kgdb_io " Emese Revfy
2009-12-04 22:35 ` [PATCH 18/31] Constify struct kset_uevent_ops " Emese Revfy
2009-12-04 22:36 ` [PATCH 19/31] Constify struct lock_manager_operations " Emese Revfy
2009-12-04 22:37 ` [PATCH 20/31] Constify struct microcode_ops " Emese Revfy
2009-12-04 22:38 ` [PATCH 21/31] Constify struct mtrr_ops " Emese Revfy
2009-12-07 18:40 ` H. Peter Anvin
2009-12-04 22:39 ` [PATCH 22/31] Constify struct neigh_ops " Emese Revfy
2009-12-04 23:02 ` Emese Revfy
2009-12-04 23:19 ` David Miller
2009-12-05 0:02 ` Emese Revfy
2009-12-04 22:40 ` [PATCH 23/31] Constify struct nlmsvc_binding " Emese Revfy
2009-12-04 22:41 ` [PATCH 24/31] Constify struct pci_raw_ops " Emese Revfy
2009-12-04 22:42 ` [PATCH 25/31] Constify struct platform_hibernation_ops " Emese Revfy
2009-12-04 22:43 ` [PATCH 26/31] Constify struct platform_suspend_ops " Emese Revfy
2009-12-04 22:44 ` [PATCH 27/31] Constify struct snd_ac97_build_ops " Emese Revfy
2009-12-04 22:47 ` [PATCH 28/31] Constify struct super_operations " Emese Revfy
2009-12-06 1:23 ` Al Viro
2009-12-06 1:41 ` Emese Revfy
2009-12-04 22:49 ` [PATCH 29/31] Constify struct sysfs_ops " Emese Revfy
2009-12-04 23:00 ` Emese Revfy
2009-12-04 23:00 ` Emese Revfy
2009-12-04 23:57 ` Stephen Hemminger
2009-12-05 0:03 ` Emese Revfy
2009-12-05 0:03 ` Emese Revfy
2009-12-05 21:15 ` Jens Axboe
2009-12-06 8:58 ` Pekka Enberg
2009-12-07 9:53 ` Hans J. Koch
2009-12-07 17:46 ` Matt Domsch
2009-12-07 20:09 ` David Teigland
2009-12-04 22:50 ` [PATCH 30/31] Constify struct usb_mon_operations " Emese Revfy
2009-12-04 22:51 ` [PATCH 31/31] Constify struct wd_ops " Emese Revfy
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=4B1C500E.5040406@gmail.com \
--to=re.emese@gmail.com \
--cc=astarikovskiy@suse.de \
--cc=avi@redhat.com \
--cc=davem@davemloft.net \
--cc=fweisbec@gmail.com \
--cc=gregkh@suse.de \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=mchehab@infradead.org \
--cc=miklos@szeredi.hu \
--cc=mingo@redhat.com \
--cc=mtosatti@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=torvalds@linux-foundation.org \
/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.