[PATCH] pcmcia: clean up cs ds callback
struct pcmcia_callback isn't needed for each socket, one is enough for all sockets. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
e7a480d229
commit
90c6cdd1fa
2 changed files with 7 additions and 6 deletions
|
@ -1167,6 +1167,12 @@ int pcmcia_deregister_client(client_handle_t handle)
|
||||||
} /* deregister_client */
|
} /* deregister_client */
|
||||||
EXPORT_SYMBOL(pcmcia_deregister_client);
|
EXPORT_SYMBOL(pcmcia_deregister_client);
|
||||||
|
|
||||||
|
static struct pcmcia_callback pcmcia_bus_callback = {
|
||||||
|
.owner = THIS_MODULE,
|
||||||
|
.event = ds_event,
|
||||||
|
.requery = pcmcia_bus_rescan,
|
||||||
|
};
|
||||||
|
|
||||||
static int __devinit pcmcia_bus_add_socket(struct class_device *class_dev)
|
static int __devinit pcmcia_bus_add_socket(struct class_device *class_dev)
|
||||||
{
|
{
|
||||||
struct pcmcia_socket *socket = class_get_devdata(class_dev);
|
struct pcmcia_socket *socket = class_get_devdata(class_dev);
|
||||||
|
@ -1201,12 +1207,9 @@ static int __devinit pcmcia_bus_add_socket(struct class_device *class_dev)
|
||||||
INIT_WORK(&s->device_add, pcmcia_delayed_add_pseudo_device, s);
|
INIT_WORK(&s->device_add, pcmcia_delayed_add_pseudo_device, s);
|
||||||
|
|
||||||
/* Set up hotline to Card Services */
|
/* Set up hotline to Card Services */
|
||||||
s->callback.owner = THIS_MODULE;
|
|
||||||
s->callback.event = &ds_event;
|
|
||||||
s->callback.requery = &pcmcia_bus_rescan;
|
|
||||||
socket->pcmcia = s;
|
socket->pcmcia = s;
|
||||||
|
|
||||||
ret = pccard_register_pcmcia(socket, &s->callback);
|
ret = pccard_register_pcmcia(socket, &pcmcia_bus_callback);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
printk(KERN_ERR "PCMCIA registration PCCard core failed for socket %p\n", socket);
|
printk(KERN_ERR "PCMCIA registration PCCard core failed for socket %p\n", socket);
|
||||||
pcmcia_put_bus_socket(s);
|
pcmcia_put_bus_socket(s);
|
||||||
|
@ -1217,7 +1220,6 @@ static int __devinit pcmcia_bus_add_socket(struct class_device *class_dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void pcmcia_bus_remove_socket(struct class_device *class_dev)
|
static void pcmcia_bus_remove_socket(struct class_device *class_dev)
|
||||||
{
|
{
|
||||||
struct pcmcia_socket *socket = class_get_devdata(class_dev);
|
struct pcmcia_socket *socket = class_get_devdata(class_dev);
|
||||||
|
|
|
@ -5,7 +5,6 @@ struct user_info_t;
|
||||||
/* Socket state information */
|
/* Socket state information */
|
||||||
struct pcmcia_bus_socket {
|
struct pcmcia_bus_socket {
|
||||||
struct kref refcount;
|
struct kref refcount;
|
||||||
struct pcmcia_callback callback;
|
|
||||||
int state;
|
int state;
|
||||||
struct pcmcia_socket *parent;
|
struct pcmcia_socket *parent;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue