Re: [PATCH v2 3/5] USB: phy: convert usb_phy_generic logic to use a faux device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 06, 2025 at 09:54:52AM +0800, Peter Chen wrote:
> On 25-02-05 14:41:31, Greg Kroah-Hartman wrote:
> > On Wed, Feb 05, 2025 at 01:27:30PM +0100, Greg Kroah-Hartman wrote:
> > > On Wed, Feb 05, 2025 at 06:19:16PM +0800, Peter Chen wrote:
> > > > On 25-02-04 12:09:15, Greg Kroah-Hartman wrote:
> > > > > The usb_phy_generic code was creating a "fake" platform device to pass
> > > > > around in different places.  Instead of doing that, use the faux bus
> > > > > instead as that is what is really wanted here.
> > > > 
> > > > Hi Greg,
> > > > 
> > > > As far as I know, there are some platforms use the device-tree to get
> > > > the system resource (eg, clock, reset, regular) for this driver.
> > > > We may not use fake bus for this driver.
> > > 
> > > But there is no system resources assigned to this device/driver at all,
> > > so how is it getting anything here?
> > > 
> > > > $grep -rn "usb-nop-xceiv" arch/arm64/boot/dts/*
> > > > 
> > > > arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi:649:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/freescale/imx8mm.dtsi:275:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/freescale/imx8mm.dtsi:285:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/freescale/imx93.dtsi:238:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/freescale/imx93.dtsi:245:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/freescale/imx8mn.dtsi:1321:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/intel/socfpga_agilex.dtsi:149:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi:133:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/cn9132-db.dtsi:30:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/cn9132-db.dtsi:44:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/cn9131-db.dtsi:33:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/armada-3720-db.dts:43:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/cn9130-crb.dtsi:49:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/cn9130-crb.dtsi:53:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/cn9130-db.dtsi:52:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/cn9130-db.dtsi:66:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/armada-8040-db.dts:53:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/armada-8040-db.dts:67:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/ac5-98dx35xx-rd.dts:36:		compatible = "usb-nop-xceiv";
> > > > arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dts:39:		compatible = "usb-nop-xceiv";
> > > 
> > > Does this actually work at all?
> 
> Yes, at least for some NXP i.MX series SoCs, these SoCs use chipidea IP.
> At above device tree files, the USB generic PHY device node has enabled,
> so the device will be probed and get hardware resources.
> 
> During the chipidea core driver->probe, it calls this generic USB phy
> driver's phy.init and do some actual hardware operations.

Ugh, that's not obvious at all.  The usb-nop-xceiv match with
usb-phy-generic is tenious, but yeah, my change here broke this code.
I'll drop it from the series, thanks for the review.

greg k-h




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux