2006-10-23 01:22:19

by Németh Márton

[permalink] [raw]
Subject: [PATCH] input: init struct serio_bus at compile time

From: M?rton N?meth <[email protected]>

Initialize serio_bus structure at compile time instead of at runtime in serio_init().
This will speed up startup a little bit and also reduce code size.

Signed-off-by: M?rton N?meth <[email protected]>

---
Patch against Linux kernel 2.6.19-rc2.


--- linux-2.6.19-rc2.orig/drivers/input/serio/serio.c 2006-10-13 18:25:04.000000000 +0200
+++ linux-2.6.19-rc2/drivers/input/serio/serio.c 2006-10-16 18:05:31.000000000 +0200
@@ -768,12 +768,6 @@ static int serio_driver_remove(struct de
return 0;
}

-static struct bus_type serio_bus = {
- .name = "serio",
- .probe = serio_driver_probe,
- .remove = serio_driver_remove,
-};
-
static void serio_add_driver(struct serio_driver *drv)
{
int error;
@@ -930,15 +924,21 @@ irqreturn_t serio_interrupt(struct serio
return ret;
}

+static struct bus_type serio_bus = {
+ .name = "serio",
+ .dev_attrs = serio_device_attrs,
+ .drv_attrs = serio_driver_attrs,
+ .match = serio_bus_match,
+ .uevent = serio_uevent,
+ .probe = serio_driver_probe,
+ .remove = serio_driver_remove,
+ .resume = serio_resume,
+};
+
static int __init serio_init(void)
{
int error;

- serio_bus.dev_attrs = serio_device_attrs;
- serio_bus.drv_attrs = serio_driver_attrs;
- serio_bus.match = serio_bus_match;
- serio_bus.uevent = serio_uevent;
- serio_bus.resume = serio_resume;
error = bus_register(&serio_bus);
if (error) {
printk(KERN_ERR "serio: failed to register serio bus, error: %d\n", error);


2006-10-23 03:19:14

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] input: init struct serio_bus at compile time

On Sunday 22 October 2006 21:22, N?meth M?rton wrote:
> From: M?rton N?meth <[email protected]>
>
> Initialize serio_bus structure at compile time instead of at runtime in serio_init().
> This will speed up startup a little bit and also reduce code size.
>
> Signed-off-by: M?rton N?meth <[email protected]>
>

Will apply, thank you.

--
Dmitry