Re: Applied "regulator: wm8994: Pass descriptor instead of GPIO number" to the regulator tree

From: Charles Keepax
Date: Tue Nov 20 2018 - 10:32:30 EST


On Tue, Nov 20, 2018 at 03:58:59PM +0100, Marek Szyprowski wrote:
> Hi Charles,
>
> On 2018-11-20 15:47, Charles Keepax wrote:
> > On Tue, Nov 20, 2018 at 02:43:32PM +0100, Marek Szyprowski wrote:
> >> On 2018-05-17 18:41, Mark Brown wrote:
> >>> Subject: [PATCH] regulator: wm8994: Pass descriptor instead of GPIO number
> >> This patch causes following kernel warning on Samsung Exynos4412 based
> >> Trats2 board:
> >>
> >> wm8994 4-001a: Failed to get supply 'DBVDD1': -517
> >> wm8994 4-001a: Failed to get supplies: -517
> > How is the wm8994 being registered on this board? I am having
> > difficulty finding a device tree or a board file that relates to
> > the board and includes the wm8994.
>
>
> Please check arch/arm/boot/dts/exynos4412-trats2.dts details. The I2C device
> is defined in exynos4412-midas.dtsi, it uses "wlf,wm1811" compatible.
>

Ok got it, thanks.

>
> >>> @@ -203,6 +203,18 @@ static const struct i2c_board_info wm1277_devs[] = {
> >>> { I2C_BOARD_INFO("wm8958", 0x1a), /* WM8958 is the superset */
> >>> .platform_data = &wm8994_pdata,
> >>> .irq = GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2,
> >>> + .dev_name = "wm8958",
> >>> + },
> >>> +};
> >>> +
> >>> +static struct gpiod_lookup_table wm8994_gpiod_table = {
> >>> + .dev_id = "i2c-wm8958", /* I2C device name */
> >>> + .table = {
> >>> + GPIO_LOOKUP("GPION", 6,
> >>> + "wlf,ldo1ena", GPIO_ACTIVE_HIGH),
> >>> + GPIO_LOOKUP("GPION", 4,
> >>> + "wlf,ldo2ena", GPIO_ACTIVE_HIGH),
> >>> + { },
> >>> },
> >>> };
> > If its being done through a board file I guess you will need the
> > equivalent of this.
>
>
> No board file, everything in DT.
>

This is really weird, because the error in your log relates to
DBVDD1 which is an independent regulator supplied by a separate
regulator. I am really having some difficulty seeing how the
patch interfers. It is definitely that patch which causes the
issue, like you revert it and things work again?

Thanks,
Charles