|
@@ -1866,6 +1866,21 @@ int pcmcia_insert_card(struct pcmcia_socket *skt)
|
|
|
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);
|