From: Jung Daehwan <dh10.jung@samsung.com>
To: Mathias Nyman <mathias.nyman@linux.intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Alim Akhtar <alim.akhtar@samsung.com>,
Mathias Nyman <mathias.nyman@intel.com>,
Linus Walleij <linus.walleij@linaro.org>,
Colin Ian King <colin.i.king@gmail.com>,
Artur Bujdoso <artur.bujdoso@gmail.com>,
Juergen Gross <jgross@suse.com>,
Tomer Maimon <tmaimon77@gmail.com>,
"open list:USB SUBSYSTEM" <linux-usb@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
"moderated list:ARM/SAMSUNG S3C,
S5P AND EXYNOS ARM ARCHITECTURES"
<linux-arm-kernel@lists.infradead.org>,
"open list:ARM/SAMSUNG S3C,
S5P AND EXYNOS ARM ARCHITECTURES"
<linux-samsung-soc@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>,
sc.suh@samsung.com, taehyun.cho@samsung.com,
jh0801.jung@samsung.com, eomji.oh@samsung.com
Subject: Re: [RFC PATCH v1 2/2] usb: host: add xhci-exynos to support Exynos SOCs
Date: Mon, 5 Dec 2022 11:28:09 +0900 [thread overview]
Message-ID: <20221205022809.GC54922@ubuntu> (raw)
In-Reply-To: <ec0ce90c-b165-d84f-340d-4973b65609b3@linux.intel.com>
[-- Attachment #1: Type: text/plain, Size: 2612 bytes --]
On Fri, Dec 02, 2022 at 02:22:39PM +0200, Mathias Nyman wrote:
> On 1.12.2022 11.01, Arnd Bergmann wrote:
> >On Thu, Dec 1, 2022, at 09:06, Greg Kroah-Hartman wrote:
> >>On Thu, Dec 01, 2022 at 11:13:31AM +0900, Daehwan Jung wrote:
> >>>This driver works with xhci platform driver. It needs to override
> >>>functions of xhci_plat_hc_driver. Wakelocks are used for sleep/wakeup
> >>>scenario of system.
> >>
> >>So this means that no other platform xhci driver can be supported in the
> >>same system at the same time.
> >>
> >>Which kind of makes sense as that's not anything a normal system would
> >>have, BUT it feels very odd. This whole idea of "override the platform
> >>driver" feels fragile, why not make these just real platform drivers and
> >>have the xhci platform code be a library that the other ones can use?
> >>That way you have more control overall, right?
>
> Agree that overriding the generic platform driver xhci_hc_platform_driver
> from this exynos driver is odd.
>
> But I don't understand how this works.
> Where are the hcds created and added when this xhci-exonys driver binds to
> the device? all this driver does in probe is the overriding?
>
> Am I missing something here?
>
This works mainly with xhci platform driver. But xhci-exynos needs to override
some funtions. xhci-exynos probes first with override own functons and
it works with xhci platform driver.
> >
> >Agreed, having another layer here (hcd -> xhci -> xhcd_platform ->
> >xhcd_exynos) would fit perfectly well into how other SoC specific
> >drivers are abstracted. This could potentially also help reduce
> >the amount of code duplication between other soc specific variants
> >(mtk, tegra, mvebu, ...) that are all platform drivers but don't
> >share code with xhci-plat.c.
> >
> >Alternatively, it seems that all of the xhci-exynos support could
> >just be part of the generic xhci-platform driver: as far as I can
> >tell, none of the added code is exynos specific at all, instead it
> >is a generic xhci that is using the wakeup_source framework.
>
> Sounds reasonable as well, and if some exynos specific code is needed
> then just create a xhci_plat_priv struct for exynos and pass it in
> of_device_id data like other vendors that use the generic
> xhci-platform driver do.
>
I considered using existing overrides like xhci_plat_priv but I couldn't
find a solution. My driver invokes probing xhci platform driver in
source code not device tree. Allocation of platform device is done
in dwc3_host_init(usb/dwc3/host.c). That's why I can't pass device data
to xhci platform driver.
> -Mathias
>
>
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Jung Daehwan <dh10.jung@samsung.com>
To: Mathias Nyman <mathias.nyman@linux.intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Alim Akhtar <alim.akhtar@samsung.com>,
Mathias Nyman <mathias.nyman@intel.com>,
Linus Walleij <linus.walleij@linaro.org>,
Colin Ian King <colin.i.king@gmail.com>,
Artur Bujdoso <artur.bujdoso@gmail.com>,
Juergen Gross <jgross@suse.com>,
Tomer Maimon <tmaimon77@gmail.com>,
"open list:USB SUBSYSTEM" <linux-usb@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
"moderated list:ARM/SAMSUNG S3C,
S5P AND EXYNOS ARM ARCHITECTURES"
<linux-arm-kernel@lists.infradead.org>,
"open list:ARM/SAMSUNG S3C,
S5P AND EXYNOS ARM ARCHITECTURES"
<linux-samsung-soc@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>,
sc.suh@samsung.com, taehyun.cho@samsung.com,
jh0801.jung@samsung.com, eomji.oh@samsung.com
Subject: Re: [RFC PATCH v1 2/2] usb: host: add xhci-exynos to support Exynos SOCs
Date: Mon, 5 Dec 2022 11:28:09 +0900 [thread overview]
Message-ID: <20221205022809.GC54922@ubuntu> (raw)
In-Reply-To: <ec0ce90c-b165-d84f-340d-4973b65609b3@linux.intel.com>
[-- Attachment #1: Type: text/plain, Size: 2612 bytes --]
On Fri, Dec 02, 2022 at 02:22:39PM +0200, Mathias Nyman wrote:
> On 1.12.2022 11.01, Arnd Bergmann wrote:
> >On Thu, Dec 1, 2022, at 09:06, Greg Kroah-Hartman wrote:
> >>On Thu, Dec 01, 2022 at 11:13:31AM +0900, Daehwan Jung wrote:
> >>>This driver works with xhci platform driver. It needs to override
> >>>functions of xhci_plat_hc_driver. Wakelocks are used for sleep/wakeup
> >>>scenario of system.
> >>
> >>So this means that no other platform xhci driver can be supported in the
> >>same system at the same time.
> >>
> >>Which kind of makes sense as that's not anything a normal system would
> >>have, BUT it feels very odd. This whole idea of "override the platform
> >>driver" feels fragile, why not make these just real platform drivers and
> >>have the xhci platform code be a library that the other ones can use?
> >>That way you have more control overall, right?
>
> Agree that overriding the generic platform driver xhci_hc_platform_driver
> from this exynos driver is odd.
>
> But I don't understand how this works.
> Where are the hcds created and added when this xhci-exonys driver binds to
> the device? all this driver does in probe is the overriding?
>
> Am I missing something here?
>
This works mainly with xhci platform driver. But xhci-exynos needs to override
some funtions. xhci-exynos probes first with override own functons and
it works with xhci platform driver.
> >
> >Agreed, having another layer here (hcd -> xhci -> xhcd_platform ->
> >xhcd_exynos) would fit perfectly well into how other SoC specific
> >drivers are abstracted. This could potentially also help reduce
> >the amount of code duplication between other soc specific variants
> >(mtk, tegra, mvebu, ...) that are all platform drivers but don't
> >share code with xhci-plat.c.
> >
> >Alternatively, it seems that all of the xhci-exynos support could
> >just be part of the generic xhci-platform driver: as far as I can
> >tell, none of the added code is exynos specific at all, instead it
> >is a generic xhci that is using the wakeup_source framework.
>
> Sounds reasonable as well, and if some exynos specific code is needed
> then just create a xhci_plat_priv struct for exynos and pass it in
> of_device_id data like other vendors that use the generic
> xhci-platform driver do.
>
I considered using existing overrides like xhci_plat_priv but I couldn't
find a solution. My driver invokes probing xhci platform driver in
source code not device tree. Allocation of platform device is done
in dwc3_host_init(usb/dwc3/host.c). That's why I can't pass device data
to xhci platform driver.
> -Mathias
>
>
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
[-- Attachment #3: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-12-05 2:33 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20221201021940epcas2p2073f25dad069314022471eaa16d26592@epcas2p2.samsung.com>
2022-12-01 2:13 ` [RFC PATCH v1 0/2] add xhci-exynos to support Samsung Exynos SOCs Daehwan Jung
2022-12-01 2:13 ` Daehwan Jung
2022-12-01 2:13 ` [RFC PATCH v1 1/2] dt-bindings: usb: samsung,exynos-xhci: support Samsung Exynos xHCI Controller Daehwan Jung
2022-12-01 2:13 ` Daehwan Jung
2022-12-01 8:59 ` Krzysztof Kozlowski
2022-12-01 8:59 ` Krzysztof Kozlowski
2022-12-05 2:06 ` Jung Daehwan
2022-12-05 2:06 ` Jung Daehwan
2022-12-05 7:31 ` Krzysztof Kozlowski
2022-12-05 7:31 ` Krzysztof Kozlowski
2022-12-05 7:48 ` Jung Daehwan
2022-12-05 7:48 ` Jung Daehwan
2022-12-05 8:02 ` Krzysztof Kozlowski
2022-12-05 8:02 ` Krzysztof Kozlowski
2022-12-01 2:13 ` [RFC PATCH v1 2/2] usb: host: add xhci-exynos to support Exynos SOCs Daehwan Jung
2022-12-01 2:13 ` Daehwan Jung
2022-12-01 8:06 ` Greg Kroah-Hartman
2022-12-01 8:06 ` Greg Kroah-Hartman
2022-12-01 9:01 ` Arnd Bergmann
2022-12-01 9:01 ` Arnd Bergmann
2022-12-01 10:33 ` Krzysztof Kozlowski
2022-12-01 10:33 ` Krzysztof Kozlowski
2022-12-02 12:22 ` Mathias Nyman
2022-12-02 12:22 ` Mathias Nyman
2022-12-02 12:23 ` Krzysztof Kozlowski
2022-12-02 12:23 ` Krzysztof Kozlowski
2022-12-02 12:51 ` Greg Kroah-Hartman
2022-12-02 12:51 ` Greg Kroah-Hartman
2022-12-05 2:34 ` Jung Daehwan
2022-12-05 2:34 ` Jung Daehwan
2022-12-05 7:33 ` Krzysztof Kozlowski
2022-12-05 7:33 ` Krzysztof Kozlowski
2022-12-05 7:53 ` Jung Daehwan
2022-12-05 7:53 ` Jung Daehwan
2022-12-05 8:03 ` Krzysztof Kozlowski
2022-12-05 8:03 ` Krzysztof Kozlowski
2022-12-05 2:28 ` Jung Daehwan [this message]
2022-12-05 2:28 ` Jung Daehwan
2022-12-05 2:11 ` Jung Daehwan
2022-12-05 2:11 ` Jung Daehwan
2022-12-05 3:30 ` Jung Daehwan
2022-12-05 3:30 ` Jung Daehwan
2022-12-05 8:21 ` Greg Kroah-Hartman
2022-12-05 8:21 ` Greg Kroah-Hartman
2022-12-01 8:03 ` [RFC PATCH v1 0/2] add xhci-exynos to support Samsung " Greg Kroah-Hartman
2022-12-01 8:03 ` Greg Kroah-Hartman
2022-12-01 8:41 ` Jung Daehwan
2022-12-01 8:41 ` Jung Daehwan
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=20221205022809.GC54922@ubuntu \
--to=dh10.jung@samsung.com \
--cc=alim.akhtar@samsung.com \
--cc=arnd@arndb.de \
--cc=artur.bujdoso@gmail.com \
--cc=colin.i.king@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=eomji.oh@samsung.com \
--cc=gregkh@linuxfoundation.org \
--cc=jgross@suse.com \
--cc=jh0801.jung@samsung.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=mathias.nyman@linux.intel.com \
--cc=robh+dt@kernel.org \
--cc=sc.suh@samsung.com \
--cc=taehyun.cho@samsung.com \
--cc=tmaimon77@gmail.com \
/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.