|
@@ -41,17 +41,6 @@ MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");
|
|
|
MODULE_DESCRIPTION("Serio abstraction core");
|
|
|
MODULE_LICENSE("GPL");
|
|
|
|
|
|
-EXPORT_SYMBOL(serio_interrupt);
|
|
|
-EXPORT_SYMBOL(__serio_register_port);
|
|
|
-EXPORT_SYMBOL(serio_unregister_port);
|
|
|
-EXPORT_SYMBOL(serio_unregister_child_port);
|
|
|
-EXPORT_SYMBOL(__serio_register_driver);
|
|
|
-EXPORT_SYMBOL(serio_unregister_driver);
|
|
|
-EXPORT_SYMBOL(serio_open);
|
|
|
-EXPORT_SYMBOL(serio_close);
|
|
|
-EXPORT_SYMBOL(serio_rescan);
|
|
|
-EXPORT_SYMBOL(serio_reconnect);
|
|
|
-
|
|
|
/*
|
|
|
* serio_mutex protects entire serio subsystem and is taken every time
|
|
|
* serio port or driver registrered or unregistered.
|
|
@@ -692,11 +681,13 @@ void serio_rescan(struct serio *serio)
|
|
|
{
|
|
|
serio_queue_event(serio, NULL, SERIO_RESCAN_PORT);
|
|
|
}
|
|
|
+EXPORT_SYMBOL(serio_rescan);
|
|
|
|
|
|
void serio_reconnect(struct serio *serio)
|
|
|
{
|
|
|
serio_queue_event(serio, NULL, SERIO_RECONNECT_CHAIN);
|
|
|
}
|
|
|
+EXPORT_SYMBOL(serio_reconnect);
|
|
|
|
|
|
/*
|
|
|
* Submits register request to kseriod for subsequent execution.
|
|
@@ -707,6 +698,7 @@ void __serio_register_port(struct serio *serio, struct module *owner)
|
|
|
serio_init_port(serio);
|
|
|
serio_queue_event(serio, owner, SERIO_REGISTER_PORT);
|
|
|
}
|
|
|
+EXPORT_SYMBOL(__serio_register_port);
|
|
|
|
|
|
/*
|
|
|
* Synchronously unregisters serio port.
|
|
@@ -718,6 +710,7 @@ void serio_unregister_port(struct serio *serio)
|
|
|
serio_destroy_port(serio);
|
|
|
mutex_unlock(&serio_mutex);
|
|
|
}
|
|
|
+EXPORT_SYMBOL(serio_unregister_port);
|
|
|
|
|
|
/*
|
|
|
* Safely unregisters child port if one is present.
|
|
@@ -731,6 +724,7 @@ void serio_unregister_child_port(struct serio *serio)
|
|
|
}
|
|
|
mutex_unlock(&serio_mutex);
|
|
|
}
|
|
|
+EXPORT_SYMBOL(serio_unregister_child_port);
|
|
|
|
|
|
|
|
|
/*
|
|
@@ -854,6 +848,7 @@ int __serio_register_driver(struct serio_driver *drv, struct module *owner, cons
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(__serio_register_driver);
|
|
|
|
|
|
void serio_unregister_driver(struct serio_driver *drv)
|
|
|
{
|
|
@@ -877,6 +872,7 @@ start_over:
|
|
|
driver_unregister(&drv->driver);
|
|
|
mutex_unlock(&serio_mutex);
|
|
|
}
|
|
|
+EXPORT_SYMBOL(serio_unregister_driver);
|
|
|
|
|
|
static void serio_set_drv(struct serio *serio, struct serio_driver *drv)
|
|
|
{
|
|
@@ -974,6 +970,7 @@ int serio_open(struct serio *serio, struct serio_driver *drv)
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(serio_open);
|
|
|
|
|
|
/* called from serio_driver->connect/disconnect methods under serio_mutex */
|
|
|
void serio_close(struct serio *serio)
|
|
@@ -983,6 +980,7 @@ void serio_close(struct serio *serio)
|
|
|
|
|
|
serio_set_drv(serio, NULL);
|
|
|
}
|
|
|
+EXPORT_SYMBOL(serio_close);
|
|
|
|
|
|
irqreturn_t serio_interrupt(struct serio *serio,
|
|
|
unsigned char data, unsigned int dfl)
|
|
@@ -1003,6 +1001,7 @@ irqreturn_t serio_interrupt(struct serio *serio,
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(serio_interrupt);
|
|
|
|
|
|
static struct bus_type serio_bus = {
|
|
|
.name = "serio",
|