]> err.no Git - linux-2.6/blobdiff - drivers/pcmcia/pcmcia_ioctl.c
[PATCH] Make the bzImage format self-terminating
[linux-2.6] / drivers / pcmcia / pcmcia_ioctl.c
index 0bebfdbdc27b5180ef9b0dfd80b82e3ef2b6698f..39ba6406fd54ef8b9a398eafb3c425a6706837f5 100644 (file)
 
 
 #include <linux/config.h>
+#include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/moduleparam.h>
 #include <linux/init.h>
-#include <linux/kernel.h>
 #include <linux/major.h>
-#include <linux/string.h>
 #include <linux/errno.h>
-#include <linux/slab.h>
-#include <linux/mm.h>
-#include <linux/fcntl.h>
-#include <linux/sched.h>
-#include <linux/smp_lock.h>
-#include <linux/timer.h>
 #include <linux/ioctl.h>
 #include <linux/proc_fs.h>
 #include <linux/poll.h>
 #include <linux/pci.h>
-#include <linux/list.h>
-#include <linux/delay.h>
-#include <linux/kref.h>
 #include <linux/workqueue.h>
-#include <linux/crc32.h>
-
-#include <asm/atomic.h>
 
 #define IN_CARD_SERVICES
-#include <pcmcia/version.h>
 #include <pcmcia/cs_types.h>
 #include <pcmcia/cs.h>
-#include <pcmcia/bulkmem.h>
 #include <pcmcia/cistpl.h>
 #include <pcmcia/ds.h>
 #include <pcmcia/ss.h>
@@ -290,8 +274,16 @@ rescan:
        return (ret);
 } /* bind_request */
 
+#ifdef CONFIG_CARDBUS
+
+static struct pci_bus *pcmcia_lookup_bus(struct pcmcia_socket *s)
+{
+       if (!s || !(s->state & SOCKET_CARDBUS))
+               return NULL;
 
-extern struct pci_bus *pcmcia_lookup_bus(struct pcmcia_socket *s);
+       return s->cb_dev->subordinate;
+}
+#endif
 
 static int get_device_info(struct pcmcia_socket *s, bind_info_t *bind_info, int first)
 {
@@ -575,9 +567,6 @@ static int ds_ioctl(struct inode * inode, struct file * file,
     case DS_ADJUST_RESOURCE_INFO:
        ret = pcmcia_adjust_resource_info(&buf->adjust);
        break;
-    case DS_GET_CARD_SERVICES_INFO:
-       ret = pcmcia_get_card_services_info(&buf->servinfo);
-       break;
     case DS_GET_CONFIGURATION_INFO:
        if (buf->config.Function &&
           (buf->config.Function >= s->functions))
@@ -744,9 +733,9 @@ void __init pcmcia_setup_ioctl(void) {
 
        /* Set up character device for user mode clients */
        i = register_chrdev(0, "pcmcia", &ds_fops);
-       if (i == -EBUSY)
+       if (i < 0)
                printk(KERN_NOTICE "unable to find a free device # for "
-                      "Driver Services\n");
+                      "Driver Services (error=%d)\n", i);
        else
                major_dev = i;