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

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

pata_pcmcia: get rid of extra indirection



We don't need ata_pcmcia_info any more.

Acked-by: default avatarJeff Garzik <jgarzik@redhat.com>
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent 378b451e
Loading
Loading
Loading
Loading
+6 −35
Original line number Diff line number Diff line
@@ -45,16 +45,6 @@
#define DRV_NAME "pata_pcmcia"
#define DRV_VERSION "0.3.5"

/*
 *	Private data structure to glue stuff together
 */

struct ata_pcmcia_info {
	struct pcmcia_device *pdev;
	int		ndev;
	dev_node_t	node;
};

/**
 *	pcmcia_set_mode	-	PCMCIA specific mode setup
 *	@link: link
@@ -248,7 +238,6 @@ static int pcmcia_init_one(struct pcmcia_device *pdev)
{
	struct ata_host *host;
	struct ata_port *ap;
	struct ata_pcmcia_info *info;
	struct pcmcia_config_check *stk = NULL;
	int is_kme = 0, ret = -ENOMEM, p;
	unsigned long io_base, ctl_base;
@@ -256,14 +245,6 @@ static int pcmcia_init_one(struct pcmcia_device *pdev)
	int n_ports = 1;
	struct ata_port_operations *ops = &pcmcia_port_ops;

	info = kzalloc(sizeof(*info), GFP_KERNEL);
	if (info == NULL)
		return -ENOMEM;

	/* Glue stuff together. FIXME: We may be able to get rid of info with care */
	info->pdev = pdev;
	pdev->priv = info;

	/* Set up attributes in order to probe card and get resources */
	pdev->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO;
	pdev->io.Attributes2 = IO_DATA_PATH_WIDTH_8;
@@ -347,16 +328,14 @@ static int pcmcia_init_one(struct pcmcia_device *pdev)
	if (ret)
		goto failed;

	info->ndev = 1;
	pdev->priv = host;
	kfree(stk);
	return 0;

failed:
	kfree(stk);
	info->ndev = 0;
	pcmcia_disable_device(pdev);
out1:
	kfree(info);
	return ret;
}

@@ -370,20 +349,12 @@ out1:

static void pcmcia_remove_one(struct pcmcia_device *pdev)
{
	struct ata_pcmcia_info *info = pdev->priv;
	struct device *dev = &pdev->dev;
	struct ata_host *host = pdev->priv;

	if (info != NULL) {
		/* If we have attached the device to the ATA layer, detach it */
		if (info->ndev) {
			struct ata_host *host = dev_get_drvdata(dev);
	if (host)
		ata_host_detach(host);
		}
		info->ndev = 0;
		pdev->priv = NULL;
	}

	pcmcia_disable_device(pdev);
	kfree(info);
}

static struct pcmcia_device_id pcmcia_devices[] = {