Messages in this thread Patch in this message | | | From | Felipe Balbi <> | Subject | Re: [PATCH v4 5/9] usb: dwc3: Rework clock initialization to be more flexible | Date | Tue, 29 Oct 2019 11:13:56 +0200 |
| |
Hi,
John Stultz <john.stultz@linaro.org> writes:
> The dwc3 core binding specifies three clocks: > ref, bus_early, and suspend > > which are all controlled in the driver together. > > However some variants of the hardware my not have all three clks ^^ may
In fact *all* platforms have all three clocks. It's just that in some cases clock pins are shorted together (or take input from same clock).
> So this patch reworks the reading of the clks from the dts to > use devm_clk_bulk_get_all() will will fetch all the clocks ^^^^ which?
> specified in the dts together. > > This patch was reccomended by Rob Herring <robh@kernel.org> > as an alternative to creating multiple bindings for each variant > of hardware when the only unique bits were clocks and resets. > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Mark Rutland <mark.rutland@arm.com> > CC: ShuFan Lee <shufan_lee@richtek.com> > Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> > Cc: Suzuki K Poulose <suzuki.poulose@arm.com> > Cc: Chunfeng Yun <chunfeng.yun@mediatek.com> > Cc: Yu Chen <chenyu56@huawei.com> > Cc: Felipe Balbi <balbi@kernel.org> > Cc: Hans de Goede <hdegoede@redhat.com> > Cc: Andy Shevchenko <andy.shevchenko@gmail.com> > Cc: Jun Li <lijun.kernel@gmail.com> > Cc: Valentin Schneider <valentin.schneider@arm.com> > Cc: Jack Pham <jackp@codeaurora.org> > Cc: linux-usb@vger.kernel.org > Cc: devicetree@vger.kernel.org > Suggested-by: Rob Herring <robh@kernel.org> > Signed-off-by: John Stultz <john.stultz@linaro.org> > --- > v3: Rework dwc3 core rather then adding another dwc-of-simple > binding. > --- > drivers/usb/dwc3/core.c | 20 +++++--------------- > 1 file changed, 5 insertions(+), 15 deletions(-) > > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c > index a039e35ec7ad..4d4f1836b62c 100644 > --- a/drivers/usb/dwc3/core.c > +++ b/drivers/usb/dwc3/core.c > @@ -305,12 +305,6 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc) > return 0; > } > > -static const struct clk_bulk_data dwc3_core_clks[] = { > - { .id = "ref" }, > - { .id = "bus_early" }, > - { .id = "suspend" }, > -};
another option would be to pass three clocks with the same phandle. That would even make sure that clock usage counts are correct, no?
-- balbi [unhandled content-type:application/pgp-signature]
| |