From mboxrd@z Thu Jan 1 00:00:00 1970 From: alexander.shishkin@linux.intel.com (Alexander Shishkin) Date: Wed, 23 May 2012 11:08:51 +0300 Subject: [PATCH v2 02/12] usb: chipidea: permit driver bindings pass phy pointer In-Reply-To: <201205221607.31624.marex@denx.de> References: <1337592237-5090-1-git-send-email-richard.zhao@freescale.com> <1337592237-5090-3-git-send-email-richard.zhao@freescale.com> <87ehqcbko0.fsf@ashishki-desk.ger.corp.intel.com> <201205221607.31624.marex@denx.de> Message-ID: <87zk8z9v58.fsf@ashishki-desk.ger.corp.intel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Marek Vasut writes: > Dear Alexander Shishkin, > >> Richard Zhao writes: >> >> Hi, >> >> > Sometimes, the driver bindings may know what phy they use. >> > For example, when using device tree, the usb controller may have a >> > phandler pointing to usb phy. >> >> Some comments below: >> >> [snip] >> >> > ci->dev = dev; >> > ci->udc_driver = dev->platform_data; >> > >> > + if (ci->udc_driver->phy) >> > + ci->transceiver = ci->udc_driver->phy; >> > + else >> > + ci->global_phy = 1; >> >> Nitpick: since it's a bool, don't you want to use "true" instead? >> >> [snip] >> >> > +#include >> > + >> > >> > struct ci13xxx; >> > struct ci13xxx_udc_driver { >> > >> > const char *name; >> > /* offset of the capability registers */ >> > uintptr_t capoffset; >> > unsigned power_budget; >> > >> > + struct usb_phy *phy; >> >> This structure is really platform information, not per-device >> instance. Consider, for example, situation when you have 2 controllers >> in one system, they'll be using the same platform structure, but they'll >> have different phys. Right? > > Not really, won't you allocate separate structure for them? Currently, it's a static structure, see 05/12 and my comment there. Regards, -- Alex