Hi Kamil, On Monday 28 of October 2013 14:52:19 Kamil Debski wrote: > Hi Kishon, > > Thank you for your review! I will answer your comments below. [snip] > > > + > > > + switch (drv->cfg->cpu) { > > > + case TYPE_EXYNOS4210: > > > > > + case TYPE_EXYNOS4212: > > Lets not add such cpu checks inside driver. > > Some SoC have a special register, which switches the OTG lines between > device and host modes. I understand that it might not be the prettiest > code. I see this as a good compromise between having a single huge > driver for all Exynos SoCs and having a multiple drivers for each SoC > version. PHY IPs in these chips very are similar but have to be handled > differently. Any other ideas to solve this issue? Maybe adding a flag in drv->cfg called, for example, .has_mode_switch could solve this problem without having to check the SoC type explicitly? [snip] > > > +#ifdef CONFIG_PHY_EXYNOS4210_USB > > > > Do we really need this? > > No we don't. The driver can always support all Exynos SoC versions. > These config options were added for flexibility. > > > > +extern const struct uphy_config exynos4210_uphy_config; #endif > > > + > > > +#ifdef CONFIG_PHY_EXYNOS4212_USB > > > > Same here. > > > > > +extern const struct uphy_config exynos4212_uphy_config; #endif > > > + > > > +static const struct of_device_id exynos_uphy_of_match[] = { #ifdef > > > +CONFIG_PHY_EXYNOS4210_USB > > > > #if not needed here. > > If the #ifdef CONFIG_PHY_EXYNOS4210_USB is removed then yes. Otherwise > it is necessary - exynos4210_uphy_config may be undefined. I believe this and other ifdefs below are needed, otherwise, with support for one of the SoCs disabled, the driver could still bind to its compatible value. Best regards, Tomasz -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html