Re: [PATCH v4 1/5] usb: host: export symbols for xhci-exynos to use xhci hooks

From: Jung Daehwan
Date: Wed Apr 27 2022 - 23:32:21 EST


On Tue, Apr 26, 2022 at 08:40:07PM +0200, Greg Kroah-Hartman wrote:
> On Tue, Apr 26, 2022 at 12:31:33PM +0200, Greg Kroah-Hartman wrote:
> > On Tue, Apr 26, 2022 at 07:27:09PM +0900, Jung Daehwan wrote:
> > > On Tue, Apr 26, 2022 at 11:54:16AM +0200, Greg Kroah-Hartman wrote:
> > > > On Tue, Apr 26, 2022 at 06:18:44PM +0900, Daehwan Jung wrote:
> > > > > Export symbols for xhci hooks usage:
> > > > > xhci_get_slot_ctx
> > > > > xhci_get_endpoint_address
> > > > > - Allow xhci hook to get ep_ctx from the xhci_container_ctx for
> > > > > getting the ep_ctx information to know which ep is offloading and
> > > > > comparing the context in remote subsystem memory if needed.
> > > > >
> > > > > xhci_ring_alloc
> > > > > - Allow xhci hook to allocate vendor specific ring. Vendors could
> > > > > alloc additional event ring.
> > > > >
> > > > > xhci_trb_virt_to_dma
> > > > > - Used to retrieve the DMA address of vendor specific ring. Vendors
> > > > > could get dequeue address of event ring.
> > > > >
> > > > > xhci_segment_free
> > > > > xhci_link_segments
> > > > > - Allow xhci hook to handle vendor specific segment. Vendors could
> > > > > directly free or link segments of vendor specific ring.
> > > > >
> > > > > xhci_initialize_ring_info
> > > > > - Allow xhci hook to initialize vendor specific ring.
> > > > >
> > > > > xhci_check_trb_in_td_math
> > > > > - Allow xhci hook to Check TRB math for validation. Vendors could
> > > > > check trb when allocating vendor specific ring.
> > > > >
> > > > > xhci_address_device
> > > > > - Allow override to give configuration info to Co-processor.
> > > > >
> > > > > xhci_bus_suspend
> > > > > xhci_bus_resume
> > > > > - Allow override of suspend and resume for power scenario.
> > > > >
> > > > > xhci_remove_stream_mapping
> > > > > - Allow to xhci hook to remove stream mapping. Vendors need to do it
> > > > > when free-ing vendor specific ring if it's stream type.
> > > > >
> > > >
> > > > For the static functions that you are now exporting, they need to have
> > > > their functions declared in a .h file. If not, you now get warnings
> > > > when you run sparse after applying this commit, right?
> > > >
> > > > thanks,
> > > >
> > > > greg k-h
> > > >
> > >
> > > I didn't get warnings in my environment. I tested to build default config +
> > > xhci_exynos by make command. Is there compile option to check it?
> >
> > make "C=1"
>
> And now 0-day reported it as well:
> https://protect2.fireeye.com/v1/url?k=eb7c3909-8af72c33-eb7db246-74fe4860008a-ea28471ebd7c5af8&q=1&e=c40c7ad3-ab59-48ea-92a0-19c7ed0d5fd9&u=https%3A%2F%2Flore.kernel.org%2Fr%2F202204262306.mzMIKFKO-lkp%40intel.com
>
>
I agree they should be added in header instead manually including xhci-exynos.
I will modify it on next submission.

I also don't get warnings in my environment when I run sparse.
Let me check my environment again.

Best Regards,
Jung Daehwan