]> git.openpandora.org Git - pandora-kernel.git/commitdiff
[PATCH] pcmcia: remove export of pcmcia_release_configuration
authorDominik Brodowski <linux@dominikbrodowski.net>
Sun, 15 Jan 2006 10:18:12 +0000 (11:18 +0100)
committerDominik Brodowski <linux@dominikbrodowski.net>
Fri, 31 Mar 2006 15:15:53 +0000 (17:15 +0200)
Handle the _modifying_ operation sm91c92_cs requires in
pcmcia_modify_configuration, so that the only remaining users
of pcmcia_release_configuration() are within the pcmcia core
module.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
drivers/mtd/maps/pcmciamtd.c
drivers/net/pcmcia/smc91c92_cs.c
drivers/pcmcia/ds_internal.h
drivers/pcmcia/pcmcia_resource.c
include/pcmcia/cs.h

index f988c817e196c9ba3a7185817234158e06aa4398..f45ff2581dd394e3039308cec1756ac656bbaaa7 100644 (file)
@@ -353,8 +353,7 @@ static void pcmciamtd_release(dev_link_t *link)
                }
                pcmcia_release_window(link->win);
        }
-       pcmcia_release_configuration(link->handle);
-       link->state &= ~DEV_CONFIG;
+       pcmcia_disable_device(link->handle);
 }
 
 
index 84e18bbed9d26f253d66cac7526cf415633bcbed..86942c09d8da426d6b2a8007192f16b80136a7e1 100644 (file)
@@ -874,11 +874,8 @@ static int smc91c92_suspend(struct pcmcia_device *p_dev)
        dev_link_t *link = dev_to_instance(p_dev);
        struct net_device *dev = link->priv;
 
-       if (link->state & DEV_CONFIG) {
-               if (link->open)
-                       netif_device_detach(dev);
-               pcmcia_release_configuration(link->handle);
-       }
+       if ((link->state & DEV_CONFIG) && (link->open))
+               netif_device_detach(dev);
 
        return 0;
 }
@@ -894,7 +891,6 @@ static int smc91c92_resume(struct pcmcia_device *p_dev)
                if ((smc->manfid == MANFID_MEGAHERTZ) &&
                    (smc->cardid == PRODID_MEGAHERTZ_EM3288))
                        mhz_3288_power(link);
-               pcmcia_request_configuration(link->handle, &link->conf);
                if (smc->manfid == MANFID_MOTOROLA)
                        mot_config(link);
                if ((smc->manfid == MANFID_OSITECH) &&
@@ -963,18 +959,15 @@ static int check_sig(dev_link_t *link)
     }
 
     if (width) {
-       printk(KERN_INFO "smc91c92_cs: using 8-bit IO window.\n");
-       /* call pcmcia_release_configuration() in _suspend */
-       smc91c92_suspend(link->handle);
-
-       link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
-       link->handle->socket->io[0].res->flags &= ~IO_DATA_PATH_WIDTH;
-       link->handle->socket->io[0].res->flags |= IO_DATA_PATH_WIDTH_8;
-
-       /* call pcmcia_request_configuration() in _resume, it handles the
-        * flag update */
-       smc91c92_resume(link->handle);
-       return check_sig(link);
+           modconf_t mod = {
+                   .Attributes = CONF_IO_CHANGE_WIDTH,
+           };
+           printk(KERN_INFO "smc91c92_cs: using 8-bit IO window.\n");
+
+           smc91c92_suspend(link->handle);
+           pcmcia_modify_configuration(link->handle, &mod);
+           smc91c92_resume(link->handle);
+           return check_sig(link);
     }
     return -ENODEV;
 }
Simple merge
Simple merge
Simple merge