Hi Peter > > > Why do we have ACPI device drivers evaluating _INI? That seems > > > like something that should be done by Linux/ACPI, not by the driver. > > > > > > I see the following drivers using _INI: > > > drivers/hwmon/hp_accel.c > > > drivers/platform/x86/fujitsu-laptop.c > > > drivers/platform/x86/sony-laptop.c > > > > > > I looked at the git logs where the _INI usage was introduced in > > > these drivers, but none gives enough information for me to understand > > > why. > > > > I can't shed a lot of light on this from the point of view of > > fujitsu-laptop. > > > > It appears that the evaluation of _INI was added to fujitsu-laptop as part > > of the patch which added support for hotkeys present on some Fujitsu > > laptops. This patch was contributed by Peter Gruber - I've added him to the > > CC. Perhaps he might explain why he added _INI evaluation as part of this > > patch (that is, what problem was encountered which required evaluation of > > _INI). > > The hotkey communication between hardware and the drivers is done using > acpi notifies and a (small) ringbuffer in the acpi dsdt code. The > easiest way to assure a consistent. The _INI method simply resets the > internal state of the ringbuffer which seems to be unavailable for > direct manipulation. Thanks for this info Peter. So evaluating _INI is required to ensure we start with an empty ringbuffer and don't end up with partial sequences and/or old keypresses being processed when the module is loaded - right? > Another possible path would be to read and discard the ringbuffer on > module load to ensure a consistent state. True - but is this really any neater than calling _INI in this context? In addition, is there a definitive way to know that we have a consistant ringbuffer state? If not we won't know when to stop reading. Having said that, the _INI method is called by acpi_ns_initialize_devices() which I assume forms part of the APCI core initialisation. Presumedly there won't be a great deal of time elapsed between this and the initialisation of fujitsu-laptop in most cases. If fujitsu-laptop didn't call _INI (as per the quick and dirty patch yesterday) there seems little scope for a real problem. The only time when it *could* be an issue is when considerable time elapsed between ACPI initialisation and the loading of fujitsu-laptop - something which in practice is only going to apply to the machines of developers. So, given this background, is there likely to be any real-world effect caused by the removal of the _INI call in fujitsu-laptop? Regards jonathan -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html