Messages in this thread |  | | | Subject | Re: [PATCH 3/5]add .match method for ACPI | | From | Len Brown <> | | Date | 28 Oct 2004 02:31:07 -0400 |
| |
Applied,
thanks, -Len
On Wed, 2004-10-20 at 22:59, Li Shaohua wrote: > Hi, > The idea of the patch is from Bruno Ducrot <ducrot@poupinou.org>'s > ACPI > video extension patch. Since the video extension patch hasn't been > merged and the ACPI PNP driver requires it, I attached it here. > > Thanks, > Shaohua > > --- 2.6/drivers/acpi/scan.c.stg4 2004-10-18 16:49:57.926042680 > +0800 > +++ 2.6/drivers/acpi/scan.c 2004-10-18 16:57:30.572230000 +0800 > @@ -161,7 +161,7 @@ acpi_bus_get_power_flags ( > return 0; > } > > -static int > +int > acpi_match_ids ( > struct acpi_device *device, > char *ids) > @@ -314,6 +314,8 @@ acpi_bus_match ( > struct acpi_device *device, > struct acpi_driver *driver) > { > + if (driver && driver->ops.match) > + return driver->ops.match(device, driver); > return acpi_match_ids(device, driver->ids); > } > > @@ -495,9 +497,6 @@ acpi_bus_find_driver ( > > ACPI_FUNCTION_TRACE("acpi_bus_find_driver"); > > - if (!device->flags.hardware_id && > !device->flags.compatible_ids) > - goto Done; > - > spin_lock(&acpi_device_lock); > list_for_each_safe(node,next,&acpi_bus_drivers) { > struct acpi_driver * driver = container_of(node,struct > acpi_driver,node); > --- 2.6/include/acpi/acpi_bus.h.stg4 2004-10-18 16:50:31.522935176 > +0800 > +++ 2.6/include/acpi/acpi_bus.h 2004-10-18 16:55:11.474376088 +0800 > @@ -104,6 +104,8 @@ typedef int (*acpi_op_suspend) (struct a > typedef int (*acpi_op_resume) (struct acpi_device *device, int > state); > typedef int (*acpi_op_scan) (struct acpi_device *device); > typedef int (*acpi_op_bind) (struct acpi_device *device); > +typedef int (*acpi_op_match) (struct acpi_device *device, > + struct acpi_driver *driver); > > struct acpi_device_ops { > acpi_op_add add; > @@ -115,6 +117,7 @@ struct acpi_device_ops { > acpi_op_resume resume; > acpi_op_scan scan; > acpi_op_bind bind; > + acpi_op_match match; > }; > > struct acpi_driver { > @@ -322,6 +325,7 @@ int acpi_bus_receive_event (struct acpi_ > int acpi_bus_register_driver (struct acpi_driver *driver); > int acpi_bus_unregister_driver (struct acpi_driver *driver); > > +int acpi_match_ids (struct acpi_device *device, char *ids); > int acpi_create_dir(struct acpi_device *); > void acpi_remove_dir(struct acpi_device *); > > > >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |