Re: [PATCH 01/44] kernel: Add support for poweroff handler call chain

Philippe Rétornaz
2014-10-07T07:46:59Z

Hello

This seems exactly what I would need on the mc13783 to handle cleanly
the poweroff,
but after reading this patchset I have the following question:

[...]

> +/*
> + * Notifier list for kernel code which wants to be called
> + * to power off the system.
> + */
> +static ATOMIC_NOTIFIER_HEAD(poweroff_handler_list);

[...]

> +void do_kernel_poweroff(void)
> +{
> + atomic_notifier_call_chain(&poweroff_handler_list, 0, NULL);
> +}
> +

It seems that the poweroff callback needs to be atomic as per
_atomic_notifier_call_chain documentation:

"Calls each function in a notifier chain in turn. The functions
run in an atomic context"

But this is a problem for many MFD (mc13783, twl4030 etc ...) which are
accessible on only a blocking bus (SPI, I2C).

What I am missing here ?

Thanks,

Philippe