Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6fbe01a authored by Dominik Brodowski's avatar Dominik Brodowski
Browse files

[PATCH] pcmcia: remove unused p_dev->state flags



Remove the unused DEV_RELEASE_PENDING flag, and move the DEV_SUSPEND flag
into the p_dev structure, and make use of it at the core level.

Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent b4c88400
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -220,7 +220,7 @@ do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0)
static int card_present(void *arg)
static int card_present(void *arg)
{ 
{ 
	struct pcmcia_device *link = (struct pcmcia_device *)arg;
	struct pcmcia_device *link = (struct pcmcia_device *)arg;
	if (link->state & DEV_SUSPEND)
	if (link->suspended)
		return 0;
		return 0;
	else if (link->state & DEV_PRESENT)
	else if (link->state & DEV_PRESENT)
		return 1;
		return 1;
+1 −1
Original line number Original line Diff line number Diff line
@@ -1968,7 +1968,7 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id, struct pt_regs * regs)


    local = (ray_dev_t *)dev->priv;
    local = (ray_dev_t *)dev->priv;
    link = (struct pcmcia_device *)local->finder;
    link = (struct pcmcia_device *)local->finder;
    if ( ! (link->state & DEV_PRESENT) || link->state & DEV_SUSPEND ) {
    if ( ! (link->state & DEV_PRESENT) || link->suspended ) {
        DEBUG(2,"ray_cs interrupt from device not present or suspended.\n");
        DEBUG(2,"ray_cs interrupt from device not present or suspended.\n");
        return IRQ_NONE;
        return IRQ_NONE;
    }
    }
+0 −1
Original line number Original line Diff line number Diff line
@@ -4744,7 +4744,6 @@ static int wavelan_resume(struct pcmcia_device *link)
{
{
	struct net_device *	dev = (struct net_device *) link->priv;
	struct net_device *	dev = (struct net_device *) link->priv;


	link->state &= ~DEV_SUSPEND;
	if ((link->state & DEV_CONFIG) && (link->open))	{
	if ((link->state & DEV_CONFIG) && (link->open))	{
		wv_hw_reset(dev);
		wv_hw_reset(dev);
		netif_device_attach(dev);
		netif_device_attach(dev);
+25 −23
Original line number Original line Diff line number Diff line
@@ -945,7 +945,7 @@ static ssize_t pcmcia_show_pm_state(struct device *dev, struct device_attribute
{
{
	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);


	if (p_dev->dev.power.power_state.event != PM_EVENT_ON)
	if (p_dev->suspended)
		return sprintf(buf, "off\n");
		return sprintf(buf, "off\n");
	else
	else
		return sprintf(buf, "on\n");
		return sprintf(buf, "on\n");
@@ -960,11 +960,9 @@ static ssize_t pcmcia_store_pm_state(struct device *dev, struct device_attribute
        if (!count)
        if (!count)
                return -EINVAL;
                return -EINVAL;


	if ((p_dev->dev.power.power_state.event == PM_EVENT_ON) &&
	if ((!p_dev->suspended) && !strncmp(buf, "off", 3))
	    (!strncmp(buf, "off", 3)))
		ret = dpm_runtime_suspend(dev, PMSG_SUSPEND);
		ret = dpm_runtime_suspend(dev, PMSG_SUSPEND);
	else if ((p_dev->dev.power.power_state.event != PM_EVENT_ON) &&
	else if (p_dev->suspended && !strncmp(buf, "on", 2))
		 (!strncmp(buf, "on", 2)))
		dpm_runtime_resume(dev);
		dpm_runtime_resume(dev);


	return ret ? ret : count;
	return ret ? ret : count;
@@ -1030,7 +1028,7 @@ static int pcmcia_dev_suspend(struct device * dev, pm_message_t state)
{
{
	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
	struct pcmcia_driver *p_drv = NULL;
	struct pcmcia_driver *p_drv = NULL;
	int ret;
	int ret = 0;


	if (dev->driver)
	if (dev->driver)
		p_drv = to_pcmcia_drv(dev->driver);
		p_drv = to_pcmcia_drv(dev->driver);
@@ -1038,14 +1036,16 @@ static int pcmcia_dev_suspend(struct device * dev, pm_message_t state)
	if (p_drv && p_drv->suspend) {
	if (p_drv && p_drv->suspend) {
		ret = p_drv->suspend(p_dev);
		ret = p_drv->suspend(p_dev);
		if (ret)
		if (ret)
			return ret;
			goto out;
		p_dev->state |= DEV_SUSPEND;
		if ((p_dev->state & DEV_CONFIG) &&
		if ((p_dev->state & DEV_CONFIG) &&
		    !(p_dev->state & DEV_SUSPEND_NORELEASE))
		    !(p_dev->state & DEV_SUSPEND_NORELEASE))
			pcmcia_release_configuration(p_dev);
			pcmcia_release_configuration(p_dev);
	}
	}


	return 0;
 out:
	if (!ret)
		p_dev->suspended = 1;
	return ret;
}
}




@@ -1053,24 +1053,26 @@ static int pcmcia_dev_resume(struct device * dev)
{
{
	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
        struct pcmcia_driver *p_drv = NULL;
        struct pcmcia_driver *p_drv = NULL;
	int ret;
	int ret = 0;


	if (dev->driver)
	if (dev->driver)
		p_drv = to_pcmcia_drv(dev->driver);
		p_drv = to_pcmcia_drv(dev->driver);


	if (p_drv && p_drv->resume) {
	if (p_drv && p_drv->resume) {
		p_dev->state &= ~DEV_SUSPEND;
		if ((p_dev->state & DEV_CONFIG) &&
		if ((p_dev->state & DEV_CONFIG) &&
		    !(p_dev->state & DEV_SUSPEND_NORELEASE)){
		    !(p_dev->state & DEV_SUSPEND_NORELEASE)){
			ret = pcmcia_request_configuration(p_dev,
			ret = pcmcia_request_configuration(p_dev,
							   &p_dev->conf);
							   &p_dev->conf);
			if (ret)
			if (ret)
					return ret;
				goto out;
		}
		}
		return p_drv->resume(p_dev);
		ret = p_drv->resume(p_dev);
	}
	}


	return 0;
 out:
	if (!ret)
		p_dev->suspended = 0;
	return ret;
}
}




+0 −1
Original line number Original line Diff line number Diff line
@@ -60,7 +60,6 @@ static void ixj_detach(struct pcmcia_device *link)
{
{
	DEBUG(0, "ixj_detach(0x%p)\n", link);
	DEBUG(0, "ixj_detach(0x%p)\n", link);


	link->state &= ~DEV_RELEASE_PENDING;
	if (link->state & DEV_CONFIG)
	if (link->state & DEV_CONFIG)
		ixj_cs_release(link);
		ixj_cs_release(link);


Loading