Re: [PATCH 4/5] arm: omap3: twl: use the new lookup method with usb phy

Kishon Vijay Abraham I
2013-12-16T11:05:02Z

Hi,

On Monday 09 December 2013 08:38 PM, Heikki Krogerus wrote:
> Provide a complete association for the phy and it's user
> (musb) with the new phy_lookup_table.
>
> Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> ---
> arch/arm/mach-omap2/twl-common.c | 15 ++++++---------
> 1 file changed, 6 insertions(+), 9 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
> index b0d54da..972430b 100644
> --- a/arch/arm/mach-omap2/twl-common.c
> +++ b/arch/arm/mach-omap2/twl-common.c
> @@ -91,18 +91,13 @@ void __init omap_pmic_late_init(void)
> }
>
> #if defined(CONFIG_ARCH_OMAP3)
> -struct phy_consumer consumers[] = {
> - PHY_CONSUMER("musb-hdrc.0", "usb"),
> -};
> -
> -struct phy_init_data init_data = {
> - .consumers = consumers,
> - .num_consumers = ARRAY_SIZE(consumers),
> +static struct phy_lookup_table twl4030_usb_lookup = {
> + .dev_id = "musb-hdrc.0",
> + .table = PHY_LOOKUP("phy-twl4030_usb.0", NULL),
> };

had a similar approach during the initial version of phy framework [1] (see
phy_bind) but changed it later [2] . Here you should know the device names of
two devices and even if one of them started using DEVID_AUTO, it'll start
breaking. Such an approach needs to reviewed carefully.

[1] -> https://lkml.org/lkml/2013/4/3/258
[2] -> http://www.spinics.net/lists/linux-usb/msg85299.html (removed phy_bind)

Cheers
Kishon
>
> static struct twl4030_usb_data omap3_usb_pdata = {
> .usb_mode = T2_USB_MODE_ULPI,
> - .init_data = &init_data,
> };
>
> static int omap3_batt_table[] = {
> @@ -225,8 +220,10 @@ void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
> }
>
> /* Common platform data configurations */
> - if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb)
> + if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb) {
> + phy_add_lookup_table(&twl4030_usb_lookup);
> pmic_data->usb = &omap3_usb_pdata;
> + }
>
> if (pdata_flags & TWL_COMMON_PDATA_BCI && !pmic_data->bci)
> pmic_data->bci = &omap3_bci_pdata;
>