浏览代码

[PATCH] pcmcia: warn on IOCTL usage

More visible user information of scheduled feature removal.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Dominik Brodowski 19 年之前
父节点
当前提交
c352ec8ab8
共有 1 个文件被更改,包括 12 次插入0 次删除
  1. 12 0
      drivers/pcmcia/pcmcia_ioctl.c

+ 12 - 0
drivers/pcmcia/pcmcia_ioctl.c

@@ -376,6 +376,7 @@ static int ds_open(struct inode *inode, struct file *file)
     socket_t i = iminor(inode);
     socket_t i = iminor(inode);
     struct pcmcia_socket *s;
     struct pcmcia_socket *s;
     user_info_t *user;
     user_info_t *user;
+    static int warning_printed = 0;
 
 
     ds_dbg(0, "ds_open(socket %d)\n", i);
     ds_dbg(0, "ds_open(socket %d)\n", i);
 
 
@@ -407,6 +408,17 @@ static int ds_open(struct inode *inode, struct file *file)
     s->user = user;
     s->user = user;
     file->private_data = user;
     file->private_data = user;
 
 
+    if (!warning_printed) {
+	    printk(KERN_INFO "pcmcia: Detected deprecated PCMCIA ioctl "
+			"usage.\n");
+	    printk(KERN_INFO "pcmcia: This interface will soon be removed from "
+			"the kernel; please expect breakage unless you upgrade "
+			"to new tools.\n");
+	    printk(KERN_INFO "pcmcia: see http://www.kernel.org/pub/linux/"
+			"utils/kernel/pcmcia/pcmcia.html for details.\n");
+	    warning_printed = 1;
+    }
+
     if (s->pcmcia_state.present)
     if (s->pcmcia_state.present)
 	queue_event(user, CS_EVENT_CARD_INSERTION);
 	queue_event(user, CS_EVENT_CARD_INSERTION);
     return 0;
     return 0;