All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v7 06/35] musb: sunxi: Add OTG device clkgate and reset for H3/H5
Date: Sat, 12 May 2018 14:12:43 +0200	[thread overview]
Message-ID: <839a26a0-2153-ff83-f554-e54376e3cf1a@denx.de> (raw)
In-Reply-To: <20180511212938.x6w6r6gfg2txqbl4@flea>

On 05/11/2018 11:29 PM, Maxime Ripard wrote:
> On Mon, May 07, 2018 at 10:55:16PM +0200, Marek Vasut wrote:
>> On 05/07/2018 10:11 PM, Maxime Ripard wrote:
>>> On Mon, May 07, 2018 at 05:32:34PM +0200, Marek Vasut wrote:
>>>> On 05/07/2018 04:52 PM, Maxime Ripard wrote:
>>>>> On Mon, May 07, 2018 at 01:47:43PM +0200, Marek Vasut wrote:
>>>>>> On 05/07/2018 09:33 AM, Jagan Teki wrote:
>>>>>>> Add OTG device clkgate and reset for H3/H5 through driver_data.
>>>>>>>
>>>>>>> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
>>>>>>
>>>>>> Why don't you implement a clock driver for this SoC instead ?
>>>>>
>>>>> Aren't you asking a bit too much?
>>>>
>>>> I am not asking for anything, this is a question, not a request.
>>>
>>> My bad then, this definitely sounded like a request to me.
>>
>> So uh, how do I make this NOT sound like a request to you ?
>> Can you phrase it for me ?
> 
> You are in a situation of power here. Asking the exact same question
> when you are the one in power or is a peer doesn't have the same
> impact, unless you make it clear that it is an actual question and not
> some way to have it fixed.
> 
> Something like "Would switching to a proper clock driver be an
> option?" for example would have carried the message better imo, if
> this was a genuine question and not a request.

I have to admit, I prefer simple, frugal, direct and clear questions
which can be answered equally clearly rather than long essays filled
with verbal fluff.

I'll consider this, but given that I am not a native English speaker, I
cannot guarantee the result to be to everyone's satisfaction.

>>>> I asked why not implement a clock driver and use it just like any other
>>>> civilized modern driver would instead of digging in the clock controller
>>>> registers from a USB framework driver (which is icky).
>>>
>>> From an absolute point of view, I agree. But we are where we are.
>>
>> Which is where exactly ?
> 
> Having to deal with code from 2012 everywhere.

This sounds like a massive generalization and an incorrect one to me *.

>>>>> Since the first post of these patches, you've asked to rework in a
>>>>> significant manner the driver already, including doing a new PHY
>>>>> driver to use the device model, and making other substantial changes
>>>>> to it.
>>>>
>>>> Well yes, because it was crap at the beginning and I don't want to see
>>>> the crap accumulating. It has become much better since, as you can see I
>>>> only had a few minor comments.
>>>
>>> And that's totally your role, but at the same time, the point of this
>>> series is not to fix the whole world, but rather add support for one
>>> particular SoC that is using pretty much the same design than any of
>>> our other SoCs' USB phy before. And here we are, 35 patches and
>>> counting.
>>
>> If I said "yes" to every single patch adding just a minor additional bit
>> of crap to the codebase, we'd be in the state in which we were in 2012,
>> sinking under the boatload of ifdeffery and ad-hoc solutions. So I think
>> some push is needed to avoid that situation.
> 
> I don't have any issue with the end goal, and your willingness to have
> the code ported over to new APIs. But if from one day to another every
> maintainer goes like this, this will simply not fly. This is not just
> about having just a simple clock driver, but also a pinctrl one, and
> converting all the consumer drivers to the device model, oh, and btw,
> the DM doesn't fit in the SPL anymore, so we would probably need to do
> an SPL driver as well. Probably with some painful Kconfig conversions
> all over the tree even.

You are massively exaggerating right there. I recently did such a
conversion for a platform and it didn't take nearly as much effort as
you describe and/or it could be well segmented.

> This is no longer a simple request, but some huge spaghetti changes
> that need to be done, mostly by volunteers.

I am not sure this "volunteers" argument really works in this
discussion, since this looks like a commercial contribution to me.

But if you want to discuss volunteering, did you ever consider that I
also do the USB maintaining in my free time and the bulk of
communication is random people demanding random stuff ? I also don't see
people coming up saying "oh, hey, I'll spend some of my own free time to
help out maintaining this piece of code". It tends to make people
stressed and burnt out ...

> And at some point, it just
> becomes easier to give up, fork, and just maintain our stuff like we
> were doing before. Or just stop maintaining it entirely. And I'm not
> sure either situation is something we want.
> 
> tl; dr: I'd like some moderation.

So much dramatization for a simple question which could've had equally
simple answer, really.

>>>>> Creating a new clock driver will take a lot of effort, and this really
>>>>> surprise me given that we've had strictly no feedback from you on this
>>>>> considering all the previous SoCs bringups we've done so far.
>>>>
>>>> What do you mean by "this" ? I think i did review the previous
>>>> iterations of this series ? If not, was I on CC ?
>>>
>>> You did, and thanks a lot for that. The only thing I'm noting is that
>>> it's the first time you're being so picky about a series.
>>
>> Er, no, I am always picky and hard.
>>
>>> I appreciate that you have to draw the line somewhere, and when
>>> things you want in your subsystem aren't moving as fast as you'd
>>> like them to be you have to enforce new rules. But if you were
>>> unhappy about something, you never told us, which doesn't seem
>>> like a good path forward either. Even in your previous reviews of
>>> that particular series.
>>
>> I think I pointed out pretty much all of it ? If I missed something,
>> it's because it was hidden and didn't surface until the patchset got
>> into some better shape.
> 
> And yet, this is the first time you bring up the phy and clock
> support.

If I missed something, it's because it was hidden and didn't surface
until the patchset got into some better shape.

>>>> I have to admit, I don't really care about the rest of the Allwinner SoC
>>>> code or what you do there, I only care about the USB part and this
>>>> poking of clock controller registers seems wrong in a DM/DT driver.
>>>
>>> And I do agree on that. But we also have some history to carry.
>>>
>>>> I also don't mind if the clock driver comes later, but I would like to
>>>> see it happen at some point (soon) to remove this register poking.
>>>
>>> Awesome then :)
>>
>> Is this going to happen at some point ?
> 
> At some point, yes, but I can't give you a deadline.

That usually means never, sadly (and see * above).

-- 
Best regards,
Marek Vasut

  reply	other threads:[~2018-05-12 12:12 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-07  7:33 [U-Boot] [PATCH v7 00/35] phy: sunxi: Add Allwinner sun4i USB PHY Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 01/35] usb: sunxi: Simplify ccm reg base code Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 02/35] musb: sunxi: Add proper macros instead of numericals Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 03/35] musb: sunxi: Use simple way to fill musb_hdrc pdata Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 04/35] musb: sunxi: Add fifo config Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 05/35] sunxi: clock: Fix clock gating for H3/H5/A64 Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 06/35] musb: sunxi: Add OTG device clkgate and reset for H3/H5 Jagan Teki
2018-05-07 11:47   ` Marek Vasut
2018-05-07 14:52     ` Maxime Ripard
2018-05-07 15:32       ` Marek Vasut
2018-05-07 20:11         ` Maxime Ripard
2018-05-07 20:55           ` Marek Vasut
2018-05-11 21:29             ` Maxime Ripard
2018-05-12 12:12               ` Marek Vasut [this message]
2018-05-14  9:05                 ` Maxime Ripard
2018-05-14  9:13                   ` Marek Vasut
2018-05-18 11:51                     ` Maxime Ripard
2018-05-18 11:55                       ` Marek Vasut
2018-05-18 15:32                         ` Maxime Ripard
2018-05-08  6:26     ` Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 07/35] musb: sunxi: Use BIT instead of numerical shift Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 08/35] sunxi: clock: Fix OHCI clock gating for H3/H5 Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 09/35] musb: sunxi: Add support for H3/H5A64 Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 10/35] phy: Add Allwinner A64 USB PHY driver Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 11/35] phy: sun4i-usb: Add id_detect and vbus_detect ops Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 12/35] phy: sun4i-usb: Add H3/H5 PHY config Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 13/35] phy: sun4i-usb: Add V3S " Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 14/35] phy: sun4i-usb: Add A83T USB " Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 15/35] phy: sun4i-usb: Add A10/A13/A20 " Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 16/35] phy: sun4i-usb: Add A31 " Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 17/35] phy: sun4i-usb: Add A33 USB " Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 18/35] phy: sun4i-usb: Add A23 " Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 19/35] device-tree-bindings: phy: Sync sun4i-usb-phy bindings Jagan Teki
2018-05-07 11:49   ` Marek Vasut
2018-05-07  7:33 ` [U-Boot] [PATCH v7 20/35] board: sunxi: Use generic-phy for board_usb_cable_connected Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 21/35] phy: sun4i-usb: Add a sunxi specific function for setting squelch-detect Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 22/35] usb: sunxi: Switch to use generic-phy Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 23/35] sunxi: Drop legacy usb_phy.c Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 24/35] sunxi: h3: Sync OTG and HCI nodes from Linux DT Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 25/35] arm64: allwinner: a64: bananapi-m64: Sync usb_otg node from Linux Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 26/35] configs: bananapi-m64: Enable USB OTG peripheral mode Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 27/35] ARM: dts: sun8i: a83t: Sync usbphy node from Linux Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 28/35] arm64: allwinner: a64: bananapi-m64: Sync usb host nodes " Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 29/35] ARM: dts: sun8i-h3: bananapi-m2-plus: Sync usb otg " Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 30/35] configs: bananapi-m2-plus: Enable USB OTG peripheral mode Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 31/35] arm64: allwinner: h5: orangepi-pc2: Order nodes in alphabetic Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 32/35] arm64: allwinner: h5: orangepi-pc2: Sync usb otg nodes from Linux Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 33/35] configs: orangepi-pc2: Enable USB OTG peripheral mode Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 34/35] arm64: allwinner: h5: orangepi-prime: Sync usb otg nodes from Linux Jagan Teki
2018-05-07  7:33 ` [U-Boot] [PATCH v7 35/35] configs: orangepi-prime: Enable USB OTG peripheral mode Jagan Teki
2018-05-08  6:34 ` [U-Boot] [PATCH v7 00/35] phy: sunxi: Add Allwinner sun4i USB PHY Jagan Teki
2018-05-15  8:46 ` Jun Nie
2018-05-15 12:49   ` Jagan Teki
2018-05-22 12:40     ` [U-Boot] [linux-sunxi] " Jagan Teki
2018-05-22 12:44       ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=839a26a0-2153-ff83-f554-e54376e3cf1a@denx.de \
    --to=marex@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.