Re: [Resend][PATCH] ACPI / glue: Drop .find_bridge() callback from struct acpi_bus_type

Rafael J. Wysocki
2013-02-28T01:12:20Z

On Wednesday, February 27, 2013 03:31:08 PM Yinghai Lu wrote:
> On Wed, Feb 27, 2013 at 2:20 PM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > On Wed, Feb 27, 2013 at 11:06:52PM +0100, Rafael J. Wysocki wrote:
> >> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >>
> >> After PCI has stopped using the .find_bridge() callback in
> >> struct acpi_bus_type, the only remaining users of it are SATA and
> >> USB. However, SATA only pretends to be a user, because it points
> >> that callback to a stub always returning -ENODEV, and USB uses it
> >> incorrectly, because as a result of the way it is used by USB every
> >> device in the system that doesn't have a bus type or parent is
> >> passed to usb_acpi_find_device() for inspection.
> >>
> >> What USB actually needs, though, is to call usb_acpi_find_device()
> >> for USB ports that don't have a bus type defined, but have
> >> usb_port_device_type as their device type.
> >
> > Ick, that's not good. Can you have the original creator of that code
> > (someone else from Intel, I can't remember at the moment), fix that up
> > properly and send me patches?
>
> [Add To: Lan Tianyu <tianyu.lan@intel.com>]
>
> >
> >> Please let me know if there are any objections.
>
> I still prefer to ask USB to add bus_type instead at first.

IIRC, You want USB to register an *additional* ACPI bus type for
usb_port_device_type, which quite frankly will be very confusing and I don't
see any actual benefits from doing that.

Thanks,
Rafael

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.