From mboxrd@z Thu Jan 1 00:00:00 1970 From: hdegoede@redhat.com (Hans de Goede) Date: Wed, 12 Aug 2015 12:20:15 +0200 Subject: [PATCH v4 2/2] mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICs In-Reply-To: <20150812092900.GC18282@x1> References: <1439049521-30766-1-git-send-email-hdegoede@redhat.com> <1439049521-30766-2-git-send-email-hdegoede@redhat.com> <20150811141811.GM18282@x1> <55CB05AD.1030707@redhat.com> <20150812092900.GC18282@x1> Message-ID: <55CB1DDF.7000201@redhat.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, On 12-08-15 11:29, Lee Jones wrote: > On Wed, 12 Aug 2015, Hans de Goede wrote: > >> Hi, >> >> On 11-08-15 16:18, Lee Jones wrote: >>> On Sat, 08 Aug 2015, Hans de Goede wrote: >>> >>>> Add a cell for the usb power_supply part of the axp20x PMICs. >>>> >>>> Note that this cell is only for the usb power_supply part and not the >>>> ac-power / battery-charger / rtc-backup-bat-charger bits. >>>> >>>> Depending on the board each of those must be enabled / disabled separately >>>> in devicetree as most boards do not use all 4. So in dt each one needs its >>>> own child-node of the axp20x node. Another reason for using separate child >>>> nodes for each is so that other devicetree nodes can have a power-supply >>>> property with a phandle referencing a node representing a single >>>> power-supply. >>>> >>>> The decision to use a separate devicetree node for each is reflected on >>>> the kernel side by each getting its own mfd-cell / platform_device and >>>> platform-driver. >>>> >>>> Note this commit also makes some whitespace changes to the intialization >>>> of existing cells in axp20x_cells, these are pure whitespace changes, >>>> functionally nothing changes. >>>> >>>> Cc: Bruno Pr?mont >>>> Signed-off-by: Bruno Pr?mont >>>> Signed-off-by: Hans de Goede >>>> Acked-by: Maxime Ripard >>>> Acked-by: Lee Jones >>>> --- >>>> Changes in v2: >>>> -Use DEFINE_RES_IRQ_NAMED >>>> -Change indentation of axp20x_cells initializers to avoid line wrapping >>>> Changes in v3: >>>> -Improve commit message >>>> -Add Bruno's S-o-b >>>> --- >>>> drivers/mfd/axp20x.c | 20 ++++++++++++++++---- >>>> 1 file changed, 16 insertions(+), 4 deletions(-) >>> >>> Applied, thanks. >> >> Great, but I'm not seeing this in: >> >> https://git.kernel.org/cgit/linux/kernel/git/lee/mfd.git/log/?h=for-mfd-next > > Well it does usually take me a day or two push my local branch out, > however in this case I had actually dropped a ball somewhere. I've > been through my backlog of 'applied' patches and these two are the > only ones I failed to pick. I have now, re-picked, re-applied and > pushed the branch out. Let me know if something is still not right. Looks good now, thanks. > Sorry for the inconvenience. No problem, thanks for all the great work you are doing on maintaining the mfd subsys. Regards, Hans > >>>> diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c >>>> index d9f2f96..3f576b7 100644 >>>> --- a/drivers/mfd/axp20x.c >>>> +++ b/drivers/mfd/axp20x.c >>>> @@ -140,6 +140,13 @@ static struct resource axp20x_pek_resources[] = { >>>> }, >>>> }; >>>> >>>> +static struct resource axp20x_usb_power_supply_resources[] = { >>>> + DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_VBUS_PLUGIN, "VBUS_PLUGIN"), >>>> + DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_VBUS_REMOVAL, "VBUS_REMOVAL"), >>>> + DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_VBUS_VALID, "VBUS_VALID"), >>>> + DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_VBUS_NOT_VALID, "VBUS_NOT_VALID"), >>>> +}; >>>> + >>>> static struct resource axp22x_pek_resources[] = { >>>> { >>>> .name = "PEK_DBR", >>>> @@ -432,11 +439,16 @@ static const struct regmap_irq_chip axp288_regmap_irq_chip = { >>>> >>>> static struct mfd_cell axp20x_cells[] = { >>>> { >>>> - .name = "axp20x-pek", >>>> - .num_resources = ARRAY_SIZE(axp20x_pek_resources), >>>> - .resources = axp20x_pek_resources, >>>> + .name = "axp20x-pek", >>>> + .num_resources = ARRAY_SIZE(axp20x_pek_resources), >>>> + .resources = axp20x_pek_resources, >>>> }, { >>>> - .name = "axp20x-regulator", >>>> + .name = "axp20x-regulator", >>>> + }, { >>>> + .name = "axp20x-usb-power-supply", >>>> + .of_compatible = "x-powers,axp202-usb-power-supply", >>>> + .num_resources = ARRAY_SIZE(axp20x_usb_power_supply_resources), >>>> + .resources = axp20x_usb_power_supply_resources, >>>> }, >>>> }; >>>> >>> >