From: Dominik Brodowski Generate hotplug event for PCMCIA sockets being registered. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton --- drivers/pcmcia/cs.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+) diff -puN drivers/pcmcia/cs.c~pcmcia-hotplug-event-for-pcmcia-socket-devices drivers/pcmcia/cs.c --- 25/drivers/pcmcia/cs.c~pcmcia-hotplug-event-for-pcmcia-socket-devices 2005-05-31 02:44:39.000000000 -0700 +++ 25-akpm/drivers/pcmcia/cs.c 2005-05-31 02:44:39.000000000 -0700 @@ -1866,6 +1866,21 @@ int pcmcia_insert_card(struct pcmcia_soc return ret; } /* insert_card */ +static int pcmcia_socket_hotplug(struct class_device *dev, char **envp, + int num_envp, char *buffer, int buffer_size) +{ + struct pcmcia_socket *s = container_of(dev, struct pcmcia_socket, dev); + int i = 0, length = 0; + + if (add_hotplug_env_var(envp, num_envp, &i, buffer, buffer_size, + &length, "SOCKET_NO=%u", s->sock)) + return -ENOMEM; + + envp[i] = NULL; + + return 0; +} + /*====================================================================== OS-specific module glue goes here @@ -1895,6 +1910,7 @@ EXPORT_SYMBOL(pcmcia_parse_events); struct class pcmcia_socket_class = { .name = "pcmcia_socket", + .hotplug = pcmcia_socket_hotplug, .release = pcmcia_release_socket, }; EXPORT_SYMBOL(pcmcia_socket_class); _