On Fri, Jun 16, 2017 at 06:40:52AM +0200, Michał Kępień wrote: > All ACPI device notify callbacks are invoked using acpi_os_execute(), > which causes the supplied callback to be queued to a static workqueue > which always executes on CPU 0. This means that there is no possibility > for any ACPI device notify callback to be concurrently executed on > multiple CPUs, which in the case of fujitsu-laptop means that using a > locked kfifo for handling hotkeys is redundant: as hotkey scancodes are > only pushed and popped from within acpi_fujitsu_laptop_notify(), no risk > of concurrent pushing and popping exists. Was the kfifo causing a problem currently or for the migration to separate modules? Is this purely a simplification? Rafael, the above rationale appears sound to me. Do you have any concerns? ... > -#define RINGBUFFERSIZE 40 > > /* Debugging */ > #define FUJLAPTOP_DBG_ERROR 0x0001 > @@ -146,8 +144,8 @@ struct fujitsu_laptop { > struct input_dev *input; > char phys[32]; > struct platform_device *pf_device; > - struct kfifo fifo; > - spinlock_t fifo_lock; > + int scancode_buf[40]; Do we know why 40 was used here? A single use magic number is fine, but it would be good to document why it is what it is if we know. -- Darren Hart VMware Open Source Technology Center -- 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