Message ID | 20170208233023.31922-1-zajec5@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 02/08/2017 03:30 PM, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for > Broadcom NSP SoC") as we already have driver for this PHY (shared by NS > and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: new > driver for USB 3.0 PHY on Northstar"). > > Instead of adding separated driver & duplicating code we should work on > improving existing (old) one. Thanks to work done by Broadcom we know > there is MDIO bus we weren't aware of & we know register names which > makes initialization more clear. This is very valuable info and we > should work on using it in existing driver afterwards. Should not we first extend the old driver to support NSP and then revert d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")?
On Wed, Feb 8, 2017 at 6:32 PM, Florian Fainelli <f.fainelli@gmail.com> wrote: > On 02/08/2017 03:30 PM, Rafał Miłecki wrote: >> From: Rafał Miłecki <rafal@milecki.pl> >> >> This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for >> Broadcom NSP SoC") as we already have driver for this PHY (shared by NS >> and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: new >> driver for USB 3.0 PHY on Northstar"). >> >> Instead of adding separated driver & duplicating code we should work on >> improving existing (old) one. Thanks to work done by Broadcom we know >> there is MDIO bus we weren't aware of & we know register names which >> makes initialization more clear. This is very valuable info and we >> should work on using it in existing driver afterwards. > > Should not we first extend the old driver to support NSP and then revert > d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")? I am currently in the process of doing this, but I'm guessing that I am 1-2 weeks away from having it completed. It might not hit the merge window. Thanks, Jon > -- > Florian
On 2017-02-09 00:32, Florian Fainelli wrote: > On 02/08/2017 03:30 PM, Rafał Miłecki wrote: >> From: Rafał Miłecki <rafal@milecki.pl> >> >> This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for >> Broadcom NSP SoC") as we already have driver for this PHY (shared by >> NS >> and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: new >> driver for USB 3.0 PHY on Northstar"). >> >> Instead of adding separated driver & duplicating code we should work >> on >> improving existing (old) one. Thanks to work done by Broadcom we know >> there is MDIO bus we weren't aware of & we know register names which >> makes initialization more clear. This is very valuable info and we >> should work on using it in existing driver afterwards. > > Should not we first extend the old driver to support NSP and then > revert > d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")? Sounds like a weird / dirty development method to me: adding duplicated code first then working on cleaning it. Unless you mean drivers/staging/. We also should never drop support for supported DT bindings, so I really think it's the cleanest to revert it now. I think Jon was also OK with this solution.
On 02/08/2017 03:39 PM, Rafał Miłecki wrote: > On 2017-02-09 00:32, Florian Fainelli wrote: >> On 02/08/2017 03:30 PM, Rafał Miłecki wrote: >>> From: Rafał Miłecki <rafal@milecki.pl> >>> >>> This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for >>> Broadcom NSP SoC") as we already have driver for this PHY (shared by NS >>> and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: new >>> driver for USB 3.0 PHY on Northstar"). >>> >>> Instead of adding separated driver & duplicating code we should work on >>> improving existing (old) one. Thanks to work done by Broadcom we know >>> there is MDIO bus we weren't aware of & we know register names which >>> makes initialization more clear. This is very valuable info and we >>> should work on using it in existing driver afterwards. >> >> Should not we first extend the old driver to support NSP and then revert >> d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")? > > Sounds like a weird / dirty development method to me: adding duplicated > code > first then working on cleaning it. Unless you mean drivers/staging/. There was clearly a mistake in submitting this NSP USB PHY driver, and it should have been a patch against the existing NS USB PHY driver, but it was not, okay fair enough. It's one thing to address that in the future, and it's another thing to flat out revert the driver just because you don't like the duplication. I don't like that either, and we can discuss on how to improve things (like have the maintainer review that too), but duplication is a lesser evil than not having the hardware supported at all, and even more so, purposely reverting in the name of removing that duplication, that's intentionally breaking working hardware! > > We also should never drop support for supported DT bindings, so I really > think > it's the cleanest to revert it now. The binding document seems fine, and does not preclude adding NSP support to the existing PHY driver. Binding ain't driver code, the binding could stay and is certainly a more accurate description of the HW on NSP. > > I think Jon was also OK with this solution.
On 2017-02-09 00:44, Florian Fainelli wrote: > On 02/08/2017 03:39 PM, Rafał Miłecki wrote: >> On 2017-02-09 00:32, Florian Fainelli wrote: >>> On 02/08/2017 03:30 PM, Rafał Miłecki wrote: >>>> From: Rafał Miłecki <rafal@milecki.pl> >>>> >>>> This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for >>>> Broadcom NSP SoC") as we already have driver for this PHY (shared by >>>> NS >>>> and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: >>>> new >>>> driver for USB 3.0 PHY on Northstar"). >>>> >>>> Instead of adding separated driver & duplicating code we should work >>>> on >>>> improving existing (old) one. Thanks to work done by Broadcom we >>>> know >>>> there is MDIO bus we weren't aware of & we know register names which >>>> makes initialization more clear. This is very valuable info and we >>>> should work on using it in existing driver afterwards. >>> >>> Should not we first extend the old driver to support NSP and then >>> revert >>> d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")? >> >> Sounds like a weird / dirty development method to me: adding >> duplicated >> code >> first then working on cleaning it. Unless you mean drivers/staging/. > > There was clearly a mistake in submitting this NSP USB PHY driver, and > it should have been a patch against the existing NS USB PHY driver, but > it was not, okay fair enough. > > It's one thing to address that in the future, and it's another thing to > flat out revert the driver just because you don't like the duplication. > > I don't like that either, and we can discuss on how to improve things > (like have the maintainer review that too), but duplication is a lesser > evil than not having the hardware supported at all, and even more so, > purposely reverting in the name of removing that duplication, that's > intentionally breaking working hardware! Hardware support is not excuse and I don't think it ever was in the Linux. We don't accept badly designed drivers just because they provide new hw support. We have various standards (for quality, style, design, code) at kernel and we stick to them unless it's drivers/staging/. As you said this driver shouldn't be pushed in the first place. Dropping hardware support in kernel happens. Sometimes it's about ancient devices, sometimes about code quality (some forgotten staging drivers used to be dropped AFAIK). Additionally you're talking about support that was *just* added and isn't used by anyone in the wild world yet. This hardware was missing upstream support for 4 years so 2 extra months won't really hurt anyone. I really don't see excusee or need for keeping this driver. If you want to (and you feel it's well designed), we can keep brcm,nsp-usb3-phy.txt I vote for focusing on existing driver improvements instead of looking for excuses for keeping driver that shouldn't be added in the first place. Jon seems to be already working on this, I'm willing to help him, I'm sure we can get you a proper support for the next merge window.
On 02/08/2017 11:21 PM, Rafał Miłecki wrote: > On 2017-02-09 00:44, Florian Fainelli wrote: >> On 02/08/2017 03:39 PM, Rafał Miłecki wrote: >>> On 2017-02-09 00:32, Florian Fainelli wrote: >>>> On 02/08/2017 03:30 PM, Rafał Miłecki wrote: >>>>> From: Rafał Miłecki <rafal@milecki.pl> >>>>> >>>>> This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for >>>>> Broadcom NSP SoC") as we already have driver for this PHY (shared >>>>> by NS >>>>> and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: new >>>>> driver for USB 3.0 PHY on Northstar"). >>>>> >>>>> Instead of adding separated driver & duplicating code we should >>>>> work on >>>>> improving existing (old) one. Thanks to work done by Broadcom we know >>>>> there is MDIO bus we weren't aware of & we know register names which >>>>> makes initialization more clear. This is very valuable info and we >>>>> should work on using it in existing driver afterwards. >>>> >>>> Should not we first extend the old driver to support NSP and then >>>> revert >>>> d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")? >>> >>> Sounds like a weird / dirty development method to me: adding duplicated >>> code >>> first then working on cleaning it. Unless you mean drivers/staging/. >> >> There was clearly a mistake in submitting this NSP USB PHY driver, and >> it should have been a patch against the existing NS USB PHY driver, but >> it was not, okay fair enough. >> >> It's one thing to address that in the future, and it's another thing to >> flat out revert the driver just because you don't like the duplication. >> >> I don't like that either, and we can discuss on how to improve things >> (like have the maintainer review that too), but duplication is a lesser >> evil than not having the hardware supported at all, and even more so, >> purposely reverting in the name of removing that duplication, that's >> intentionally breaking working hardware! > > Hardware support is not excuse and I don't think it ever was in the Linux. > > We don't accept badly designed drivers just because they provide new hw > support. > We have various standards (for quality, style, design, code) at kernel > and we > stick to them unless it's drivers/staging/. As you said this driver > shouldn't be > pushed in the first place. > > Dropping hardware support in kernel happens. Sometimes it's about ancient > devices, sometimes about code quality (some forgotten staging drivers > used to be > dropped AFAIK). > > Additionally you're talking about support that was *just* added and > isn't used > by anyone in the wild world yet. Except people working on it at Broadcom, but fair enough. > > This hardware was missing upstream support for 4 years so 2 extra months > won't > really hurt anyone. > > I really don't see excusee or need for keeping this driver. > > If you want to (and you feel it's well designed), we can keep > brcm,nsp-usb3-phy.txt No it's fine, let's drop it all and replace it with whatever you and Jon come up with next. > > I vote for focusing on existing driver improvements instead of looking for > excuses for keeping driver that shouldn't be added in the first place. > Jon seems to be already working on this, I'm willing to help him, I'm > sure we > can get you a proper support for the next merge window. Fair enough, I dropped Dhanajay's changes ("ARM: dts: NSP: Add USB nodes for Northstar Plus") from devicetree/next so you and Jon can figure out what is the best thing to move forward and we minimize the amount of incompatible DT stuff to be sorted out later on. So as far as I am concerned, there are no board/SoC DTS changes to be patched later on, we could re-apply this patch as-is, or we could have to define a new binding.
On Thu, Feb 9, 2017 at 2:18 PM, Florian Fainelli <f.fainelli@gmail.com> wrote: > On 02/08/2017 11:21 PM, Rafał Miłecki wrote: >> On 2017-02-09 00:44, Florian Fainelli wrote: >>> On 02/08/2017 03:39 PM, Rafał Miłecki wrote: >>>> On 2017-02-09 00:32, Florian Fainelli wrote: >>>>> On 02/08/2017 03:30 PM, Rafał Miłecki wrote: >>>>>> From: Rafał Miłecki <rafal@milecki.pl> >>>>>> >>>>>> This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for >>>>>> Broadcom NSP SoC") as we already have driver for this PHY (shared >>>>>> by NS >>>>>> and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: new >>>>>> driver for USB 3.0 PHY on Northstar"). >>>>>> >>>>>> Instead of adding separated driver & duplicating code we should >>>>>> work on >>>>>> improving existing (old) one. Thanks to work done by Broadcom we know >>>>>> there is MDIO bus we weren't aware of & we know register names which >>>>>> makes initialization more clear. This is very valuable info and we >>>>>> should work on using it in existing driver afterwards. >>>>> >>>>> Should not we first extend the old driver to support NSP and then >>>>> revert >>>>> d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")? >>>> >>>> Sounds like a weird / dirty development method to me: adding duplicated >>>> code >>>> first then working on cleaning it. Unless you mean drivers/staging/. >>> >>> There was clearly a mistake in submitting this NSP USB PHY driver, and >>> it should have been a patch against the existing NS USB PHY driver, but >>> it was not, okay fair enough. >>> >>> It's one thing to address that in the future, and it's another thing to >>> flat out revert the driver just because you don't like the duplication. >>> >>> I don't like that either, and we can discuss on how to improve things >>> (like have the maintainer review that too), but duplication is a lesser >>> evil than not having the hardware supported at all, and even more so, >>> purposely reverting in the name of removing that duplication, that's >>> intentionally breaking working hardware! >> >> Hardware support is not excuse and I don't think it ever was in the Linux. >> >> We don't accept badly designed drivers just because they provide new hw >> support. >> We have various standards (for quality, style, design, code) at kernel >> and we >> stick to them unless it's drivers/staging/. As you said this driver >> shouldn't be >> pushed in the first place. >> >> Dropping hardware support in kernel happens. Sometimes it's about ancient >> devices, sometimes about code quality (some forgotten staging drivers >> used to be >> dropped AFAIK). >> >> Additionally you're talking about support that was *just* added and >> isn't used >> by anyone in the wild world yet. > > Except people working on it at Broadcom, but fair enough. > >> >> This hardware was missing upstream support for 4 years so 2 extra months >> won't >> really hurt anyone. >> >> I really don't see excusee or need for keeping this driver. >> >> If you want to (and you feel it's well designed), we can keep >> brcm,nsp-usb3-phy.txt > > No it's fine, let's drop it all and replace it with whatever you and Jon > come up with next. > >> >> I vote for focusing on existing driver improvements instead of looking for >> excuses for keeping driver that shouldn't be added in the first place. >> Jon seems to be already working on this, I'm willing to help him, I'm >> sure we >> can get you a proper support for the next merge window. > > Fair enough, I dropped Dhanajay's changes ("ARM: dts: NSP: Add USB nodes > for Northstar Plus") from devicetree/next so you and Jon can figure out > what is the best thing to move forward and we minimize the amount of > incompatible DT stuff to be sorted out later on. So as far as I am > concerned, there are no board/SoC DTS changes to be patched later on, we > could re-apply this patch as-is, or we could have to define a new binding. > -- > Florian (previous email got caught in HTML filters) Per the discussion with Rafal, this is acceptable Acked-by: Jon Mason <jon.mason@broadcom.com>
On 10 February 2017 at 01:27, Jon Mason <jon.mason@broadcom.com> wrote: > On Thu, Feb 9, 2017 at 2:18 PM, Florian Fainelli <f.fainelli@gmail.com> > wrote: >> >> On 02/08/2017 11:21 PM, Rafał Miłecki wrote: >> > On 2017-02-09 00:44, Florian Fainelli wrote: >> >> On 02/08/2017 03:39 PM, Rafał Miłecki wrote: >> >>> On 2017-02-09 00:32, Florian Fainelli wrote: >> >>>> On 02/08/2017 03:30 PM, Rafał Miłecki wrote: >> >>>>> From: Rafał Miłecki <rafal@milecki.pl> >> >>>>> >> >>>>> This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for >> >>>>> Broadcom NSP SoC") as we already have driver for this PHY (shared >> >>>>> by NS >> >>>>> and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: >> >>>>> new >> >>>>> driver for USB 3.0 PHY on Northstar"). >> >>>>> >> >>>>> Instead of adding separated driver & duplicating code we should >> >>>>> work on >> >>>>> improving existing (old) one. Thanks to work done by Broadcom we >> >>>>> know >> >>>>> there is MDIO bus we weren't aware of & we know register names which >> >>>>> makes initialization more clear. This is very valuable info and we >> >>>>> should work on using it in existing driver afterwards. >> >>>> >> >>>> Should not we first extend the old driver to support NSP and then >> >>>> revert >> >>>> d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")? >> >>> >> >>> Sounds like a weird / dirty development method to me: adding >> >>> duplicated >> >>> code >> >>> first then working on cleaning it. Unless you mean drivers/staging/. >> >> >> >> There was clearly a mistake in submitting this NSP USB PHY driver, and >> >> it should have been a patch against the existing NS USB PHY driver, but >> >> it was not, okay fair enough. >> >> >> >> It's one thing to address that in the future, and it's another thing to >> >> flat out revert the driver just because you don't like the duplication. >> >> >> >> I don't like that either, and we can discuss on how to improve things >> >> (like have the maintainer review that too), but duplication is a lesser >> >> evil than not having the hardware supported at all, and even more so, >> >> purposely reverting in the name of removing that duplication, that's >> >> intentionally breaking working hardware! >> > >> > Hardware support is not excuse and I don't think it ever was in the >> > Linux. >> > >> > We don't accept badly designed drivers just because they provide new hw >> > support. >> > We have various standards (for quality, style, design, code) at kernel >> > and we >> > stick to them unless it's drivers/staging/. As you said this driver >> > shouldn't be >> > pushed in the first place. >> > >> > Dropping hardware support in kernel happens. Sometimes it's about >> > ancient >> > devices, sometimes about code quality (some forgotten staging drivers >> > used to be >> > dropped AFAIK). >> > >> > Additionally you're talking about support that was *just* added and >> > isn't used >> > by anyone in the wild world yet. >> >> Except people working on it at Broadcom, but fair enough. >> >> > >> > This hardware was missing upstream support for 4 years so 2 extra months >> > won't >> > really hurt anyone. >> > >> > I really don't see excusee or need for keeping this driver. >> > >> > If you want to (and you feel it's well designed), we can keep >> > brcm,nsp-usb3-phy.txt >> >> No it's fine, let's drop it all and replace it with whatever you and Jon >> come up with next. >> >> > >> > I vote for focusing on existing driver improvements instead of looking >> > for >> > excuses for keeping driver that shouldn't be added in the first place. >> > Jon seems to be already working on this, I'm willing to help him, I'm >> > sure we >> > can get you a proper support for the next merge window. >> >> Fair enough, I dropped Dhanajay's changes ("ARM: dts: NSP: Add USB nodes >> for Northstar Plus") from devicetree/next so you and Jon can figure out >> what is the best thing to move forward and we minimize the amount of >> incompatible DT stuff to be sorted out later on. So as far as I am >> concerned, there are no board/SoC DTS changes to be patched later on, we >> could re-apply this patch as-is, or we could have to define a new binding. > > Per the discussion with Rafal, this is acceptable > > Acked-by: Jon Mason <jon.mason@broadcom.com> Hi Kishon, what's the status of this?
Hi Rafal, On Wednesday 08 March 2017 05:43 PM, Rafał Miłecki wrote: > On 10 February 2017 at 01:27, Jon Mason <jon.mason@broadcom.com> wrote: >> On Thu, Feb 9, 2017 at 2:18 PM, Florian Fainelli <f.fainelli@gmail.com> >> wrote: >>> >>> On 02/08/2017 11:21 PM, Rafał Miłecki wrote: >>>> On 2017-02-09 00:44, Florian Fainelli wrote: >>>>> On 02/08/2017 03:39 PM, Rafał Miłecki wrote: >>>>>> On 2017-02-09 00:32, Florian Fainelli wrote: >>>>>>> On 02/08/2017 03:30 PM, Rafał Miłecki wrote: >>>>>>>> From: Rafał Miłecki <rafal@milecki.pl> >>>>>>>> >>>>>>>> This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for >>>>>>>> Broadcom NSP SoC") as we already have driver for this PHY (shared >>>>>>>> by NS >>>>>>>> and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: >>>>>>>> new >>>>>>>> driver for USB 3.0 PHY on Northstar"). >>>>>>>> >>>>>>>> Instead of adding separated driver & duplicating code we should >>>>>>>> work on >>>>>>>> improving existing (old) one. Thanks to work done by Broadcom we >>>>>>>> know >>>>>>>> there is MDIO bus we weren't aware of & we know register names which >>>>>>>> makes initialization more clear. This is very valuable info and we >>>>>>>> should work on using it in existing driver afterwards. >>>>>>> >>>>>>> Should not we first extend the old driver to support NSP and then >>>>>>> revert >>>>>>> d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")? >>>>>> >>>>>> Sounds like a weird / dirty development method to me: adding >>>>>> duplicated >>>>>> code >>>>>> first then working on cleaning it. Unless you mean drivers/staging/. >>>>> >>>>> There was clearly a mistake in submitting this NSP USB PHY driver, and >>>>> it should have been a patch against the existing NS USB PHY driver, but >>>>> it was not, okay fair enough. >>>>> >>>>> It's one thing to address that in the future, and it's another thing to >>>>> flat out revert the driver just because you don't like the duplication. >>>>> >>>>> I don't like that either, and we can discuss on how to improve things >>>>> (like have the maintainer review that too), but duplication is a lesser >>>>> evil than not having the hardware supported at all, and even more so, >>>>> purposely reverting in the name of removing that duplication, that's >>>>> intentionally breaking working hardware! >>>> >>>> Hardware support is not excuse and I don't think it ever was in the >>>> Linux. >>>> >>>> We don't accept badly designed drivers just because they provide new hw >>>> support. >>>> We have various standards (for quality, style, design, code) at kernel >>>> and we >>>> stick to them unless it's drivers/staging/. As you said this driver >>>> shouldn't be >>>> pushed in the first place. >>>> >>>> Dropping hardware support in kernel happens. Sometimes it's about >>>> ancient >>>> devices, sometimes about code quality (some forgotten staging drivers >>>> used to be >>>> dropped AFAIK). >>>> >>>> Additionally you're talking about support that was *just* added and >>>> isn't used >>>> by anyone in the wild world yet. >>> >>> Except people working on it at Broadcom, but fair enough. >>> >>>> >>>> This hardware was missing upstream support for 4 years so 2 extra months >>>> won't >>>> really hurt anyone. >>>> >>>> I really don't see excusee or need for keeping this driver. >>>> >>>> If you want to (and you feel it's well designed), we can keep >>>> brcm,nsp-usb3-phy.txt >>> >>> No it's fine, let's drop it all and replace it with whatever you and Jon >>> come up with next. >>> >>>> >>>> I vote for focusing on existing driver improvements instead of looking >>>> for >>>> excuses for keeping driver that shouldn't be added in the first place. >>>> Jon seems to be already working on this, I'm willing to help him, I'm >>>> sure we >>>> can get you a proper support for the next merge window. >>> >>> Fair enough, I dropped Dhanajay's changes ("ARM: dts: NSP: Add USB nodes >>> for Northstar Plus") from devicetree/next so you and Jon can figure out >>> what is the best thing to move forward and we minimize the amount of >>> incompatible DT stuff to be sorted out later on. So as far as I am >>> concerned, there are no board/SoC DTS changes to be patched later on, we >>> could re-apply this patch as-is, or we could have to define a new binding. >> >> Per the discussion with Rafal, this is acceptable >> >> Acked-by: Jon Mason <jon.mason@broadcom.com> > > Hi Kishon, what's the status of this? Will be merging this in a day or so. Thanks Kishon
On Wednesday 08 March 2017 05:56 PM, Kishon Vijay Abraham I wrote: > Hi Rafal, > > On Wednesday 08 March 2017 05:43 PM, Rafał Miłecki wrote: >> On 10 February 2017 at 01:27, Jon Mason <jon.mason@broadcom.com> wrote: >>> On Thu, Feb 9, 2017 at 2:18 PM, Florian Fainelli <f.fainelli@gmail.com> >>> wrote: >>>> >>>> On 02/08/2017 11:21 PM, Rafał Miłecki wrote: >>>>> On 2017-02-09 00:44, Florian Fainelli wrote: >>>>>> On 02/08/2017 03:39 PM, Rafał Miłecki wrote: >>>>>>> On 2017-02-09 00:32, Florian Fainelli wrote: >>>>>>>> On 02/08/2017 03:30 PM, Rafał Miłecki wrote: >>>>>>>>> From: Rafał Miłecki <rafal@milecki.pl> >>>>>>>>> >>>>>>>>> This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for >>>>>>>>> Broadcom NSP SoC") as we already have driver for this PHY (shared >>>>>>>>> by NS >>>>>>>>> and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: >>>>>>>>> new >>>>>>>>> driver for USB 3.0 PHY on Northstar"). >>>>>>>>> >>>>>>>>> Instead of adding separated driver & duplicating code we should >>>>>>>>> work on >>>>>>>>> improving existing (old) one. Thanks to work done by Broadcom we >>>>>>>>> know >>>>>>>>> there is MDIO bus we weren't aware of & we know register names which >>>>>>>>> makes initialization more clear. This is very valuable info and we >>>>>>>>> should work on using it in existing driver afterwards. >>>>>>>> >>>>>>>> Should not we first extend the old driver to support NSP and then >>>>>>>> revert >>>>>>>> d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")? >>>>>>> >>>>>>> Sounds like a weird / dirty development method to me: adding >>>>>>> duplicated >>>>>>> code >>>>>>> first then working on cleaning it. Unless you mean drivers/staging/. >>>>>> >>>>>> There was clearly a mistake in submitting this NSP USB PHY driver, and >>>>>> it should have been a patch against the existing NS USB PHY driver, but >>>>>> it was not, okay fair enough. >>>>>> >>>>>> It's one thing to address that in the future, and it's another thing to >>>>>> flat out revert the driver just because you don't like the duplication. >>>>>> >>>>>> I don't like that either, and we can discuss on how to improve things >>>>>> (like have the maintainer review that too), but duplication is a lesser >>>>>> evil than not having the hardware supported at all, and even more so, >>>>>> purposely reverting in the name of removing that duplication, that's >>>>>> intentionally breaking working hardware! >>>>> >>>>> Hardware support is not excuse and I don't think it ever was in the >>>>> Linux. >>>>> >>>>> We don't accept badly designed drivers just because they provide new hw >>>>> support. >>>>> We have various standards (for quality, style, design, code) at kernel >>>>> and we >>>>> stick to them unless it's drivers/staging/. As you said this driver >>>>> shouldn't be >>>>> pushed in the first place. >>>>> >>>>> Dropping hardware support in kernel happens. Sometimes it's about >>>>> ancient >>>>> devices, sometimes about code quality (some forgotten staging drivers >>>>> used to be >>>>> dropped AFAIK). >>>>> >>>>> Additionally you're talking about support that was *just* added and >>>>> isn't used >>>>> by anyone in the wild world yet. >>>> >>>> Except people working on it at Broadcom, but fair enough. >>>> >>>>> >>>>> This hardware was missing upstream support for 4 years so 2 extra months >>>>> won't >>>>> really hurt anyone. >>>>> >>>>> I really don't see excusee or need for keeping this driver. >>>>> >>>>> If you want to (and you feel it's well designed), we can keep >>>>> brcm,nsp-usb3-phy.txt >>>> >>>> No it's fine, let's drop it all and replace it with whatever you and Jon >>>> come up with next. >>>> >>>>> >>>>> I vote for focusing on existing driver improvements instead of looking >>>>> for >>>>> excuses for keeping driver that shouldn't be added in the first place. >>>>> Jon seems to be already working on this, I'm willing to help him, I'm >>>>> sure we >>>>> can get you a proper support for the next merge window. >>>> >>>> Fair enough, I dropped Dhanajay's changes ("ARM: dts: NSP: Add USB nodes >>>> for Northstar Plus") from devicetree/next so you and Jon can figure out >>>> what is the best thing to move forward and we minimize the amount of >>>> incompatible DT stuff to be sorted out later on. So as far as I am >>>> concerned, there are no board/SoC DTS changes to be patched later on, we >>>> could re-apply this patch as-is, or we could have to define a new binding. >>> >>> Per the discussion with Rafal, this is acceptable >>> >>> Acked-by: Jon Mason <jon.mason@broadcom.com> >> >> Hi Kishon, what's the status of this? > > Will be merging this in a day or so. merged, thanks. -Kishon > > Thanks > Kishon >
On 9 March 2017 at 09:11, Kishon Vijay Abraham I <kishon@ti.com> wrote: > > > On Wednesday 08 March 2017 05:56 PM, Kishon Vijay Abraham I wrote: >> Hi Rafal, >> >> On Wednesday 08 March 2017 05:43 PM, Rafał Miłecki wrote: >>> On 10 February 2017 at 01:27, Jon Mason <jon.mason@broadcom.com> wrote: >>>> On Thu, Feb 9, 2017 at 2:18 PM, Florian Fainelli <f.fainelli@gmail.com> >>>> wrote: >>>>> >>>>> On 02/08/2017 11:21 PM, Rafał Miłecki wrote: >>>>>> On 2017-02-09 00:44, Florian Fainelli wrote: >>>>>>> On 02/08/2017 03:39 PM, Rafał Miłecki wrote: >>>>>>>> On 2017-02-09 00:32, Florian Fainelli wrote: >>>>>>>>> On 02/08/2017 03:30 PM, Rafał Miłecki wrote: >>>>>>>>>> From: Rafał Miłecki <rafal@milecki.pl> >>>>>>>>>> >>>>>>>>>> This reverts commit d7bc1a7d41bf ("phy: Add USB3 PHY support for >>>>>>>>>> Broadcom NSP SoC") as we already have driver for this PHY (shared >>>>>>>>>> by NS >>>>>>>>>> and NSP). It was added in commit e5666281d9ea ("phy: bcm-ns-usb3: >>>>>>>>>> new >>>>>>>>>> driver for USB 3.0 PHY on Northstar"). >>>>>>>>>> >>>>>>>>>> Instead of adding separated driver & duplicating code we should >>>>>>>>>> work on >>>>>>>>>> improving existing (old) one. Thanks to work done by Broadcom we >>>>>>>>>> know >>>>>>>>>> there is MDIO bus we weren't aware of & we know register names which >>>>>>>>>> makes initialization more clear. This is very valuable info and we >>>>>>>>>> should work on using it in existing driver afterwards. >>>>>>>>> >>>>>>>>> Should not we first extend the old driver to support NSP and then >>>>>>>>> revert >>>>>>>>> d7bc1a7d41bf ("phy: Add USB3 PHY support for Broadcom NSP SoC")? >>>>>>>> >>>>>>>> Sounds like a weird / dirty development method to me: adding >>>>>>>> duplicated >>>>>>>> code >>>>>>>> first then working on cleaning it. Unless you mean drivers/staging/. >>>>>>> >>>>>>> There was clearly a mistake in submitting this NSP USB PHY driver, and >>>>>>> it should have been a patch against the existing NS USB PHY driver, but >>>>>>> it was not, okay fair enough. >>>>>>> >>>>>>> It's one thing to address that in the future, and it's another thing to >>>>>>> flat out revert the driver just because you don't like the duplication. >>>>>>> >>>>>>> I don't like that either, and we can discuss on how to improve things >>>>>>> (like have the maintainer review that too), but duplication is a lesser >>>>>>> evil than not having the hardware supported at all, and even more so, >>>>>>> purposely reverting in the name of removing that duplication, that's >>>>>>> intentionally breaking working hardware! >>>>>> >>>>>> Hardware support is not excuse and I don't think it ever was in the >>>>>> Linux. >>>>>> >>>>>> We don't accept badly designed drivers just because they provide new hw >>>>>> support. >>>>>> We have various standards (for quality, style, design, code) at kernel >>>>>> and we >>>>>> stick to them unless it's drivers/staging/. As you said this driver >>>>>> shouldn't be >>>>>> pushed in the first place. >>>>>> >>>>>> Dropping hardware support in kernel happens. Sometimes it's about >>>>>> ancient >>>>>> devices, sometimes about code quality (some forgotten staging drivers >>>>>> used to be >>>>>> dropped AFAIK). >>>>>> >>>>>> Additionally you're talking about support that was *just* added and >>>>>> isn't used >>>>>> by anyone in the wild world yet. >>>>> >>>>> Except people working on it at Broadcom, but fair enough. >>>>> >>>>>> >>>>>> This hardware was missing upstream support for 4 years so 2 extra months >>>>>> won't >>>>>> really hurt anyone. >>>>>> >>>>>> I really don't see excusee or need for keeping this driver. >>>>>> >>>>>> If you want to (and you feel it's well designed), we can keep >>>>>> brcm,nsp-usb3-phy.txt >>>>> >>>>> No it's fine, let's drop it all and replace it with whatever you and Jon >>>>> come up with next. >>>>> >>>>>> >>>>>> I vote for focusing on existing driver improvements instead of looking >>>>>> for >>>>>> excuses for keeping driver that shouldn't be added in the first place. >>>>>> Jon seems to be already working on this, I'm willing to help him, I'm >>>>>> sure we >>>>>> can get you a proper support for the next merge window. >>>>> >>>>> Fair enough, I dropped Dhanajay's changes ("ARM: dts: NSP: Add USB nodes >>>>> for Northstar Plus") from devicetree/next so you and Jon can figure out >>>>> what is the best thing to move forward and we minimize the amount of >>>>> incompatible DT stuff to be sorted out later on. So as far as I am >>>>> concerned, there are no board/SoC DTS changes to be patched later on, we >>>>> could re-apply this patch as-is, or we could have to define a new binding. >>>> >>>> Per the discussion with Rafal, this is acceptable >>>> >>>> Acked-by: Jon Mason <jon.mason@broadcom.com> >>> >>> Hi Kishon, what's the status of this? >> >> Will be merging this in a day or so. > > merged, thanks. Thank you!
diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig index bb5cf6f49b06..c49a914d6409 100644 --- a/drivers/phy/Kconfig +++ b/drivers/phy/Kconfig @@ -502,12 +502,4 @@ config PHY_MESON8B_USB2 and GXBB SoCs. If unsure, say N. -config PHY_NSP_USB3 - tristate "Broadcom NorthStar plus USB3 PHY driver" - depends on OF && (ARCH_BCM_NSP || COMPILE_TEST) - select GENERIC_PHY - default ARCH_BCM_NSP - help - Enable this to support the Broadcom Northstar plus USB3 PHY. - If unsure, say N. endmenu diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile index 9f008004f75d..0e4259473d28 100644 --- a/drivers/phy/Makefile +++ b/drivers/phy/Makefile @@ -61,4 +61,3 @@ obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o obj-$(CONFIG_ARCH_TEGRA) += tegra/ obj-$(CONFIG_PHY_NS2_PCIE) += phy-bcm-ns2-pcie.o obj-$(CONFIG_PHY_MESON8B_USB2) += phy-meson8b-usb2.o -obj-$(CONFIG_PHY_NSP_USB3) += phy-bcm-nsp-usb3.o diff --git a/drivers/phy/phy-bcm-nsp-usb3.c b/drivers/phy/phy-bcm-nsp-usb3.c deleted file mode 100644 index 49024eaa5545..000000000000 --- a/drivers/phy/phy-bcm-nsp-usb3.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright (C) 2016 Broadcom - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation version 2. - * - * This program is distributed "as is" WITHOUT ANY WARRANTY of any - * kind, whether express or implied; without even the implied warranty - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include <linux/delay.h> -#include <linux/io.h> -#include <linux/kernel.h> -#include <linux/mfd/syscon.h> -#include <linux/mdio.h> -#include <linux/module.h> -#include <linux/of.h> -#include <linux/of_address.h> -#include <linux/phy/phy.h> -#include <linux/regmap.h> - -#define NSP_USB3_RST_CTRL_OFFSET 0x3f8 - -/* mdio reg access */ -#define NSP_USB3_PHY_BASE_ADDR_REG 0x1f - -#define NSP_USB3_PHY_PLL30_BLOCK 0x8000 -#define NSP_USB3_PLL_CONTROL 0x01 -#define NSP_USB3_PLLA_CONTROL0 0x0a -#define NSP_USB3_PLLA_CONTROL1 0x0b - -#define NSP_USB3_PHY_TX_PMD_BLOCK 0x8040 -#define NSP_USB3_TX_PMD_CONTROL1 0x01 - -#define NSP_USB3_PHY_PIPE_BLOCK 0x8060 -#define NSP_USB3_LFPS_CMP 0x02 -#define NSP_USB3_LFPS_DEGLITCH 0x03 - -struct nsp_usb3_phy { - struct regmap *usb3_ctrl; - struct phy *phy; - struct mdio_device *mdiodev; -}; - -static int nsp_usb3_phy_init(struct phy *phy) -{ - struct nsp_usb3_phy *iphy = phy_get_drvdata(phy); - struct mii_bus *bus = iphy->mdiodev->bus; - int addr = iphy->mdiodev->addr; - u32 data; - int rc; - - rc = regmap_read(iphy->usb3_ctrl, 0, &data); - if (rc) - return rc; - data |= 1; - rc = regmap_write(iphy->usb3_ctrl, 0, data); - if (rc) - return rc; - - rc = regmap_write(iphy->usb3_ctrl, NSP_USB3_RST_CTRL_OFFSET, 1); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_PHY_BASE_ADDR_REG, - NSP_USB3_PHY_PLL30_BLOCK); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_PLL_CONTROL, 0x1000); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_PLLA_CONTROL0, 0x6400); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_PLLA_CONTROL1, 0xc000); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_PLLA_CONTROL1, 0x8000); - if (rc) - return rc; - - rc = regmap_write(iphy->usb3_ctrl, NSP_USB3_RST_CTRL_OFFSET, 0); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_PLL_CONTROL, 0x9000); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_PHY_BASE_ADDR_REG, - NSP_USB3_PHY_PIPE_BLOCK); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_LFPS_CMP, 0xf30d); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_LFPS_DEGLITCH, 0x6302); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_PHY_BASE_ADDR_REG, - NSP_USB3_PHY_TX_PMD_BLOCK); - if (rc) - return rc; - - rc = mdiobus_write(bus, addr, NSP_USB3_TX_PMD_CONTROL1, 0x1003); - - return rc; -} - -static struct phy_ops nsp_usb3_phy_ops = { - .init = nsp_usb3_phy_init, - .owner = THIS_MODULE, -}; - -static int nsp_usb3_phy_probe(struct mdio_device *mdiodev) -{ - struct device *dev = &mdiodev->dev; - struct phy_provider *provider; - struct nsp_usb3_phy *iphy; - - iphy = devm_kzalloc(dev, sizeof(*iphy), GFP_KERNEL); - if (!iphy) - return -ENOMEM; - iphy->mdiodev = mdiodev; - - iphy->usb3_ctrl = syscon_regmap_lookup_by_phandle(dev->of_node, - "usb3-ctrl-syscon"); - if (IS_ERR(iphy->usb3_ctrl)) - return PTR_ERR(iphy->usb3_ctrl); - - iphy->phy = devm_phy_create(dev, dev->of_node, &nsp_usb3_phy_ops); - if (IS_ERR(iphy->phy)) { - dev_err(dev, "failed to create PHY\n"); - return PTR_ERR(iphy->phy); - } - - phy_set_drvdata(iphy->phy, iphy); - - provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); - if (IS_ERR(provider)) { - dev_err(dev, "could not register PHY provider\n"); - return PTR_ERR(provider); - } - - return 0; -} - -static const struct of_device_id nsp_usb3_phy_of_match[] = { - {.compatible = "brcm,nsp-usb3-phy",}, - { /* sentinel */ } -}; - -static struct mdio_driver nsp_usb3_phy_driver = { - .mdiodrv = { - .driver = { - .name = "nsp-usb3-phy", - .of_match_table = nsp_usb3_phy_of_match, - }, - }, - .probe = nsp_usb3_phy_probe, -}; - -mdio_module_driver(nsp_usb3_phy_driver); - -MODULE_DESCRIPTION("Broadcom NSP USB3 PHY driver"); -MODULE_LICENSE("GPL v2"); -MODULE_AUTHOR("Yendapally Reddy Dhananjaya Reddy <yendapally.reddy@broadcom.com");