Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 71151
b: refs/heads/master
c: 06489b4
h: refs/heads/master
i:
  71149: 4df6e69
  71147: a0a8fe7
  71143: ee47fe2
  71135: 080c9a0
v: v3
  • Loading branch information
Eric W. Biederman authored and Linus Torvalds committed Oct 18, 2007
1 parent 8cdc67a commit fffb552
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 41 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 282a821f18fe848db860e911fa5e1f6a3603dd80
refs/heads/master: 06489b4eec832227b6f30b4b43ab26a2c50d9225
46 changes: 6 additions & 40 deletions trunk/drivers/cdrom/cdrom.c
Original file line number Diff line number Diff line change
Expand Up @@ -3458,47 +3458,19 @@ static void cdrom_update_settings(void)
static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp,
void __user *buffer, size_t *lenp, loff_t *ppos)
{
int *valp = ctl->data;
int val = *valp;
int ret;

ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos);

if (write && *valp != val) {
if (write) {

/* we only care for 1 or 0. */
if (*valp)
*valp = 1;
else
*valp = 0;
autoclose = !!cdrom_sysctl_settings.autoclose;
autoeject = !!cdrom_sysctl_settings.autoeject;
debug = !!cdrom_sysctl_settings.debug;
lockdoor = !!cdrom_sysctl_settings.lock;
check_media_type = !!cdrom_sysctl_settings.check;

switch (ctl->ctl_name) {
case DEV_CDROM_AUTOCLOSE: {
if (valp == &cdrom_sysctl_settings.autoclose)
autoclose = cdrom_sysctl_settings.autoclose;
break;
}
case DEV_CDROM_AUTOEJECT: {
if (valp == &cdrom_sysctl_settings.autoeject)
autoeject = cdrom_sysctl_settings.autoeject;
break;
}
case DEV_CDROM_DEBUG: {
if (valp == &cdrom_sysctl_settings.debug)
debug = cdrom_sysctl_settings.debug;
break;
}
case DEV_CDROM_LOCK: {
if (valp == &cdrom_sysctl_settings.lock)
lockdoor = cdrom_sysctl_settings.lock;
break;
}
case DEV_CDROM_CHECK_MEDIA: {
if (valp == &cdrom_sysctl_settings.check)
check_media_type = cdrom_sysctl_settings.check;
break;
}
}
/* update the option flags according to the changes. we
don't have per device options through sysctl yet,
but we will have and then this will disappear. */
Expand All @@ -3511,47 +3483,41 @@ static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp,
/* Place files in /proc/sys/dev/cdrom */
static ctl_table cdrom_table[] = {
{
.ctl_name = DEV_CDROM_INFO,
.procname = "info",
.data = &cdrom_sysctl_settings.info,
.maxlen = CDROM_STR_SIZE,
.mode = 0444,
.proc_handler = &cdrom_sysctl_info,
},
{
.ctl_name = DEV_CDROM_AUTOCLOSE,
.procname = "autoclose",
.data = &cdrom_sysctl_settings.autoclose,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &cdrom_sysctl_handler,
},
{
.ctl_name = DEV_CDROM_AUTOEJECT,
.procname = "autoeject",
.data = &cdrom_sysctl_settings.autoeject,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &cdrom_sysctl_handler,
},
{
.ctl_name = DEV_CDROM_DEBUG,
.procname = "debug",
.data = &cdrom_sysctl_settings.debug,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &cdrom_sysctl_handler,
},
{
.ctl_name = DEV_CDROM_LOCK,
.procname = "lock",
.data = &cdrom_sysctl_settings.lock,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &cdrom_sysctl_handler,
},
{
.ctl_name = DEV_CDROM_CHECK_MEDIA,
.procname = "check_media",
.data = &cdrom_sysctl_settings.check,
.maxlen = sizeof(int),
Expand Down

0 comments on commit fffb552

Please sign in to comment.