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

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

[PATCH] pcmcia: remove dev_list from drivers



The linked list of devices managed by each PCMCIA driver is, in very most
cases, unused. Therefore, remove it from many drivers.

Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent f3990715
Loading
Loading
Loading
Loading
+1 −17
Original line number Diff line number Diff line
@@ -94,8 +94,6 @@ static dev_info_t dev_info = "bluecard_cs";
static dev_link_t *bluecard_attach(void);
static void bluecard_detach(struct pcmcia_device *p_dev);

static dev_link_t *dev_list = NULL;


/* Default baud rate: 57600, 115200, 230400 or 460800 */
#define DEFAULT_BAUD_RATE  230400
@@ -890,8 +888,7 @@ static dev_link_t *bluecard_attach(void)
	link->conf.IntType = INT_MEMORY_AND_IO;

	/* Register with Card Services */
	link->next = dev_list;
	dev_list = link;
	link->next = NULL;
	client_reg.dev_info = &dev_info;
	client_reg.Version = 0x0210;
	client_reg.event_callback_args.client_data = link;
@@ -911,22 +908,10 @@ static void bluecard_detach(struct pcmcia_device *p_dev)
{
	dev_link_t *link = dev_to_instance(p_dev);
	bluecard_info_t *info = link->priv;
	dev_link_t **linkp;

	/* Locate device structure */
	for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
		if (*linkp == link)
			break;

	if (*linkp == NULL)
		return;

	if (link->state & DEV_CONFIG)
		bluecard_release(link);

	/* Unlink device structure, free bits */
	*linkp = link->next;

	kfree(info);
}

@@ -1105,7 +1090,6 @@ static int __init init_bluecard_cs(void)
static void __exit exit_bluecard_cs(void)
{
	pcmcia_unregister_driver(&bluecard_driver);
	BUG_ON(dev_list != NULL);
}

module_init(init_bluecard_cs);
+1 −17
Original line number Diff line number Diff line
@@ -97,8 +97,6 @@ static dev_info_t dev_info = "bt3c_cs";
static dev_link_t *bt3c_attach(void);
static void bt3c_detach(struct pcmcia_device *p_dev);

static dev_link_t *dev_list = NULL;


/* Transmit states  */
#define XMIT_SENDING  1
@@ -691,8 +689,7 @@ static dev_link_t *bt3c_attach(void)
	link->conf.IntType = INT_MEMORY_AND_IO;

	/* Register with Card Services */
	link->next = dev_list;
	dev_list = link;
	link->next = NULL;
	client_reg.dev_info = &dev_info;
	client_reg.Version = 0x0210;
	client_reg.event_callback_args.client_data = link;
@@ -712,22 +709,10 @@ static void bt3c_detach(struct pcmcia_device *p_dev)
{
	dev_link_t *link = dev_to_instance(p_dev);
	bt3c_info_t *info = link->priv;
	dev_link_t **linkp;

	/* Locate device structure */
	for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
		if (*linkp == link)
			break;

	if (*linkp == NULL)
		return;

	if (link->state & DEV_CONFIG)
		bt3c_release(link);

	/* Unlink device structure, free bits */
	*linkp = link->next;

	kfree(info);
}

@@ -949,7 +934,6 @@ static int __init init_bt3c_cs(void)
static void __exit exit_bt3c_cs(void)
{
	pcmcia_unregister_driver(&bt3c_driver);
	BUG_ON(dev_list != NULL);
}

module_init(init_bt3c_cs);
+1 −17
Original line number Diff line number Diff line
@@ -93,8 +93,6 @@ static dev_info_t dev_info = "btuart_cs";
static dev_link_t *btuart_attach(void);
static void btuart_detach(struct pcmcia_device *p_dev);

static dev_link_t *dev_list = NULL;


/* Maximum baud rate */
#define SPEED_MAX  115200
@@ -610,8 +608,7 @@ static dev_link_t *btuart_attach(void)
	link->conf.IntType = INT_MEMORY_AND_IO;

	/* Register with Card Services */
	link->next = dev_list;
	dev_list = link;
	link->next = NULL;
	client_reg.dev_info = &dev_info;
	client_reg.Version = 0x0210;
	client_reg.event_callback_args.client_data = link;
@@ -631,22 +628,10 @@ static void btuart_detach(struct pcmcia_device *p_dev)
{
	dev_link_t *link = dev_to_instance(p_dev);
	btuart_info_t *info = link->priv;
	dev_link_t **linkp;

	/* Locate device structure */
	for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
		if (*linkp == link)
			break;

	if (*linkp == NULL)
		return;

	if (link->state & DEV_CONFIG)
		btuart_release(link);

	/* Unlink device structure, free bits */
	*linkp = link->next;

	kfree(info);
}

@@ -870,7 +855,6 @@ static int __init init_btuart_cs(void)
static void __exit exit_btuart_cs(void)
{
	pcmcia_unregister_driver(&btuart_driver);
	BUG_ON(dev_list != NULL);
}

module_init(init_btuart_cs);
+1 −17
Original line number Diff line number Diff line
@@ -96,8 +96,6 @@ static dev_info_t dev_info = "dtl1_cs";
static dev_link_t *dtl1_attach(void);
static void dtl1_detach(struct pcmcia_device *p_dev);

static dev_link_t *dev_list = NULL;


/* Transmit states  */
#define XMIT_SENDING  1
@@ -589,8 +587,7 @@ static dev_link_t *dtl1_attach(void)
	link->conf.IntType = INT_MEMORY_AND_IO;

	/* Register with Card Services */
	link->next = dev_list;
	dev_list = link;
	link->next = NULL;
	client_reg.dev_info = &dev_info;
	client_reg.Version = 0x0210;
	client_reg.event_callback_args.client_data = link;
@@ -610,22 +607,10 @@ static void dtl1_detach(struct pcmcia_device *p_dev)
{
	dev_link_t *link = dev_to_instance(p_dev);
	dtl1_info_t *info = link->priv;
	dev_link_t **linkp;

	/* Locate device structure */
	for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
		if (*linkp == link)
			break;

	if (*linkp == NULL)
		return;

	if (link->state & DEV_CONFIG)
		dtl1_release(link);

	/* Unlink device structure, free bits */
	*linkp = link->next;

	kfree(info);
}

@@ -822,7 +807,6 @@ static int __init init_dtl1_cs(void)
static void __exit exit_dtl1_cs(void)
{
	pcmcia_unregister_driver(&dtl1_driver);
	BUG_ON(dev_list != NULL);
}

module_init(init_dtl1_cs);
+1 −13
Original line number Diff line number Diff line
@@ -492,7 +492,6 @@ static dev_link_t *mgslpc_attach(void);
static void mgslpc_detach(struct pcmcia_device *p_dev);

static dev_info_t dev_info = "synclink_cs";
static dev_link_t *dev_list = NULL;

/*
 * 1st function defined in .text section. Calling this function in
@@ -588,8 +587,7 @@ static dev_link_t *mgslpc_attach(void)
    link->conf.IntType = INT_MEMORY_AND_IO;

    /* Register with Card Services */
    link->next = dev_list;
    dev_list = link;
    link->next = NULL;

    client_reg.dev_info = &dev_info;
    client_reg.Version = 0x0210;
@@ -741,24 +739,15 @@ static void mgslpc_release(u_long arg)
static void mgslpc_detach(struct pcmcia_device *p_dev)
{
    dev_link_t *link = dev_to_instance(p_dev);
    dev_link_t **linkp;

    if (debug_level >= DEBUG_LEVEL_INFO)
	    printk("mgslpc_detach(0x%p)\n", link);

    /* find device */
    for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
	    if (*linkp == link) break;
    if (*linkp == NULL)
	    return;

    if (link->state & DEV_CONFIG) {
	    ((MGSLPC_INFO *)link->priv)->stop = 1;
	    mgslpc_release((u_long)link);
    }

    /* Unlink device structure, and free it */
    *linkp = link->next;
    mgslpc_remove_device((MGSLPC_INFO *)link->priv);
}

@@ -3131,7 +3120,6 @@ static void synclink_cs_cleanup(void)
	}

	pcmcia_unregister_driver(&mgslpc_driver);
	BUG_ON(dev_list != NULL);
}

static int __init synclink_cs_init(void)
Loading