aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cdrom
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cdrom')
-rw-r--r--drivers/cdrom/cdrom.c46
1 files changed, 6 insertions, 40 deletions
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c
index 79245714f0a7..d70745c84250 100644
--- a/drivers/cdrom/cdrom.c
+++ b/drivers/cdrom/cdrom.c
@@ -3458,47 +3458,19 @@ static void cdrom_update_settings(void)
3458static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp, 3458static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp,
3459 void __user *buffer, size_t *lenp, loff_t *ppos) 3459 void __user *buffer, size_t *lenp, loff_t *ppos)
3460{ 3460{
3461 int *valp = ctl->data;
3462 int val = *valp;
3463 int ret; 3461 int ret;
3464 3462
3465 ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos); 3463 ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos);
3466 3464
3467 if (write && *valp != val) { 3465 if (write) {
3468 3466
3469 /* we only care for 1 or 0. */ 3467 /* we only care for 1 or 0. */
3470 if (*valp) 3468 autoclose = !!cdrom_sysctl_settings.autoclose;
3471 *valp = 1; 3469 autoeject = !!cdrom_sysctl_settings.autoeject;
3472 else 3470 debug = !!cdrom_sysctl_settings.debug;
3473 *valp = 0; 3471 lockdoor = !!cdrom_sysctl_settings.lock;
3472 check_media_type = !!cdrom_sysctl_settings.check;
3474 3473
3475 switch (ctl->ctl_name) {
3476 case DEV_CDROM_AUTOCLOSE: {
3477 if (valp == &cdrom_sysctl_settings.autoclose)
3478 autoclose = cdrom_sysctl_settings.autoclose;
3479 break;
3480 }
3481 case DEV_CDROM_AUTOEJECT: {
3482 if (valp == &cdrom_sysctl_settings.autoeject)
3483 autoeject = cdrom_sysctl_settings.autoeject;
3484 break;
3485 }
3486 case DEV_CDROM_DEBUG: {
3487 if (valp == &cdrom_sysctl_settings.debug)
3488 debug = cdrom_sysctl_settings.debug;
3489 break;
3490 }
3491 case DEV_CDROM_LOCK: {
3492 if (valp == &cdrom_sysctl_settings.lock)
3493 lockdoor = cdrom_sysctl_settings.lock;
3494 break;
3495 }
3496 case DEV_CDROM_CHECK_MEDIA: {
3497 if (valp == &cdrom_sysctl_settings.check)
3498 check_media_type = cdrom_sysctl_settings.check;
3499 break;
3500 }
3501 }
3502 /* update the option flags according to the changes. we 3474 /* update the option flags according to the changes. we
3503 don't have per device options through sysctl yet, 3475 don't have per device options through sysctl yet,
3504 but we will have and then this will disappear. */ 3476 but we will have and then this will disappear. */
@@ -3511,7 +3483,6 @@ static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp,
3511/* Place files in /proc/sys/dev/cdrom */ 3483/* Place files in /proc/sys/dev/cdrom */
3512static ctl_table cdrom_table[] = { 3484static ctl_table cdrom_table[] = {
3513 { 3485 {
3514 .ctl_name = DEV_CDROM_INFO,
3515 .procname = "info", 3486 .procname = "info",
3516 .data = &cdrom_sysctl_settings.info, 3487 .data = &cdrom_sysctl_settings.info,
3517 .maxlen = CDROM_STR_SIZE, 3488 .maxlen = CDROM_STR_SIZE,
@@ -3519,7 +3490,6 @@ static ctl_table cdrom_table[] = {
3519 .proc_handler = &cdrom_sysctl_info, 3490 .proc_handler = &cdrom_sysctl_info,
3520 }, 3491 },
3521 { 3492 {
3522 .ctl_name = DEV_CDROM_AUTOCLOSE,
3523 .procname = "autoclose", 3493 .procname = "autoclose",
3524 .data = &cdrom_sysctl_settings.autoclose, 3494 .data = &cdrom_sysctl_settings.autoclose,
3525 .maxlen = sizeof(int), 3495 .maxlen = sizeof(int),
@@ -3527,7 +3497,6 @@ static ctl_table cdrom_table[] = {
3527 .proc_handler = &cdrom_sysctl_handler, 3497 .proc_handler = &cdrom_sysctl_handler,
3528 }, 3498 },
3529 { 3499 {
3530 .ctl_name = DEV_CDROM_AUTOEJECT,
3531 .procname = "autoeject", 3500 .procname = "autoeject",
3532 .data = &cdrom_sysctl_settings.autoeject, 3501 .data = &cdrom_sysctl_settings.autoeject,
3533 .maxlen = sizeof(int), 3502 .maxlen = sizeof(int),
@@ -3535,7 +3504,6 @@ static ctl_table cdrom_table[] = {
3535 .proc_handler = &cdrom_sysctl_handler, 3504 .proc_handler = &cdrom_sysctl_handler,
3536 }, 3505 },
3537 { 3506 {
3538 .ctl_name = DEV_CDROM_DEBUG,
3539 .procname = "debug", 3507 .procname = "debug",
3540 .data = &cdrom_sysctl_settings.debug, 3508 .data = &cdrom_sysctl_settings.debug,
3541 .maxlen = sizeof(int), 3509 .maxlen = sizeof(int),
@@ -3543,7 +3511,6 @@ static ctl_table cdrom_table[] = {
3543 .proc_handler = &cdrom_sysctl_handler, 3511 .proc_handler = &cdrom_sysctl_handler,
3544 }, 3512 },
3545 { 3513 {
3546 .ctl_name = DEV_CDROM_LOCK,
3547 .procname = "lock", 3514 .procname = "lock",
3548 .data = &cdrom_sysctl_settings.lock, 3515 .data = &cdrom_sysctl_settings.lock,
3549 .maxlen = sizeof(int), 3516 .maxlen = sizeof(int),
@@ -3551,7 +3518,6 @@ static ctl_table cdrom_table[] = {
3551 .proc_handler = &cdrom_sysctl_handler, 3518 .proc_handler = &cdrom_sysctl_handler,
3552 }, 3519 },
3553 { 3520 {
3554 .ctl_name = DEV_CDROM_CHECK_MEDIA,
3555 .procname = "check_media", 3521 .procname = "check_media",
3556 .data = &cdrom_sysctl_settings.check, 3522 .data = &cdrom_sysctl_settings.check,
3557 .maxlen = sizeof(int), 3523 .maxlen = sizeof(int),