lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 09 Mar 2014 13:29:30 +0800 From: Zhang Rui <rui.zhang@...el.com> To: "Rafael J. Wysocki" <rjw@...ysocki.net> Cc: linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org, bhelgaas@...gle.com, matthew.garrett@...ula.com, rafael.j.wysocki@...el.com, dmitry.torokhov@...il.com Subject: Re: [RFC PATCH 2/8] PNPACPI: use whilte list for pnpacpi device enumeration On Fri, 2014-03-07 at 02:44 +0100, Rafael J. Wysocki wrote: > On Wednesday, February 26, 2014 05:11:08 PM Zhang Rui wrote: > > + > > +static int __init acpi_pnp_scan_handler_attach(struct acpi_device *adev, > > This can't be __init. > > > + const struct acpi_device_id *id) > > +{ > > + return 1; > > +} > > + > > +static int __init acpi_pnp_scan_handler_match(char *devid, char *handlerid) > > And this too. > > > +{ > > + int i; > > + > > + if (!ispnpidacpi(devid)) > > + return 0; > > + > > + if (memcmp(devid, handlerid, 3)) > > + return 0; > > + > > + for (i = 3; i < 7; i++) { > > + if (handlerid[i] != 'X' && > > + toupper(devid[i]) != toupper(handlerid[i])) > > + return 0; > > + } > > + return 1; > > +} > > + > > +static struct acpi_scan_handler pnpacpi_handler __initdata = { > > And this cannot be __initdata, because the list of ACPI scan handlers is > walked during hotplug. > right. will update it in next version. > > + .ids = acpi_pnp_device_ids, > > + .match = acpi_pnp_scan_handler_match, > > + .attach = acpi_pnp_scan_handler_attach, > > +}; > > + > > +void __init acpi_pnp_init(void) > > +{ > > + acpi_scan_add_handler(&pnpacpi_handler); > > +} > > + > > +static acpi_status __init pnpacpi_add_device_handler(acpi_handle handle, > > + u32 lvl, void *context, > > + void **rv) > > +{ > > + struct acpi_device *device; > > + > > + if (acpi_bus_get_device(handle, &device)) > > + return AE_CTRL_DEPTH; > > + if (device->handler == &pnpacpi_handler) > > + pnpacpi_add_device(device); > > Why don't you do that in acpi_pnp_scan_handler_attach() ? > because the PNP bus is not ready at that time. thanks, rui -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists