Subject: Re: [PATCH 11/31] Constify struct file_operations for 2.6.32 v1

From: Emese Revfy <[email-masked]>
Date: Sat, 05 Dec 2009 03:50:23 +0100

Greg KH wrote:
> On Sat, Dec 05, 2009 at 01:02:59AM +0100, Emese Revfy wrote:
>> From: Emese Revfy <[email-masked]>
>>
>> Constify struct file_operations with some exceptions.
>> Per Dave Miller's suggestion, resend with proper CC list and patch format.
>>
>> Signed-off-by: Emese Revfy <[email-masked]>
>> ---
>>  drivers/acpi/battery.c                           |    2 +-
>>  drivers/char/pty.c                               |   16 +++++++++---
>>  drivers/char/tty_io.c                            |   28 ++++-----------------
>>  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/fuse/cuse.c                                   |   20 +++++++++------
>>  fs/fuse/dev.c                                    |    8 +++---
>>  fs/fuse/fuse_i.h                                 |   10 ++++++++
>>  include/linux/tty.h                              |   14 ++++++++++-
>>  include/net/tcp.h                                |    1 +
>>  include/net/udp.h                                |    1 +
>>  kernel/trace/trace_events.c                      |    2 +
>>  virt/kvm/kvm_main.c                              |    3 ++
>>  31 files changed, 89 insertions(+), 63 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..d39c67b 100644
>> --- a/drivers/char/pty.c
>> +++ b/drivers/char/pty.c
>> @@ -682,7 +682,18 @@ static int ptmx_open(struct inode *inode, struct file *filp)
>>  	return ret;
>>  }
>>  
>> -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?
> 
> confused,
> 
> greg k-h

I think this is the only way to make ptmx_fops const, provided we want to. 
--
Emese