Re: [PATCH] mfd: arizona: Update device ordering to allow clean driver removal
From: Lee Jones
Date: Mon Apr 25 2016 - 06:59:13 EST
On Fri, 15 Apr 2016, Charles Keepax wrote:
> Since this commit:
>
> commit b9a8a271c38f ("mfd: make mfd_remove_devices() iterate in reverse
> order")
>
> The order in which the MFD children remove has been reversed, as our
> driver contains some dependencies between the devices we need to make
> some changes to ensure the driver unloads cleanly.
>
> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/mfd/arizona-core.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
Applied, thanks.
> diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
> index 5319f25..bf27179 100644
> --- a/drivers/mfd/arizona-core.c
> +++ b/drivers/mfd/arizona-core.c
> @@ -908,12 +908,12 @@ static const char * const wm5102_supplies[] = {
>
> static const struct mfd_cell wm5102_devs[] = {
> { .name = "arizona-micsupp" },
> + { .name = "arizona-gpio" },
> {
> .name = "arizona-extcon",
> .parent_supplies = wm5102_supplies,
> .num_parent_supplies = 1, /* We only need MICVDD */
> },
> - { .name = "arizona-gpio" },
> { .name = "arizona-haptics" },
> { .name = "arizona-pwm" },
> {
> @@ -925,12 +925,12 @@ static const struct mfd_cell wm5102_devs[] = {
>
> static const struct mfd_cell wm5110_devs[] = {
> { .name = "arizona-micsupp" },
> + { .name = "arizona-gpio" },
> {
> .name = "arizona-extcon",
> .parent_supplies = wm5102_supplies,
> .num_parent_supplies = 1, /* We only need MICVDD */
> },
> - { .name = "arizona-gpio" },
> { .name = "arizona-haptics" },
> { .name = "arizona-pwm" },
> {
> @@ -966,12 +966,12 @@ static const char * const wm8997_supplies[] = {
>
> static const struct mfd_cell wm8997_devs[] = {
> { .name = "arizona-micsupp" },
> + { .name = "arizona-gpio" },
> {
> .name = "arizona-extcon",
> .parent_supplies = wm8997_supplies,
> .num_parent_supplies = 1, /* We only need MICVDD */
> },
> - { .name = "arizona-gpio" },
> { .name = "arizona-haptics" },
> { .name = "arizona-pwm" },
> {
> @@ -982,12 +982,13 @@ static const struct mfd_cell wm8997_devs[] = {
> };
>
> static const struct mfd_cell wm8998_devs[] = {
> + { .name = "arizona-micsupp" },
> + { .name = "arizona-gpio" },
> {
> .name = "arizona-extcon",
> .parent_supplies = wm5102_supplies,
> .num_parent_supplies = 1, /* We only need MICVDD */
> },
> - { .name = "arizona-gpio" },
> { .name = "arizona-haptics" },
> { .name = "arizona-pwm" },
> {
> @@ -995,7 +996,6 @@ static const struct mfd_cell wm8998_devs[] = {
> .parent_supplies = wm5102_supplies,
> .num_parent_supplies = ARRAY_SIZE(wm5102_supplies),
> },
> - { .name = "arizona-micsupp" },
> };
>
> int arizona_dev_init(struct arizona *arizona)
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog