[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-3.1 2/2] acpi: Decouple ACPI hotplug callbac
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH for-3.1 2/2] acpi: Decouple ACPI hotplug callbacks from HotplugHandler |
Date: |
Wed, 25 Jul 2018 16:46:58 +0300 |
On Wed, Jul 25, 2018 at 08:57:20AM +0200, Igor Mammedov wrote:
> On Tue, 24 Jul 2018 21:14:48 +0300
> "Michael S. Tsirkin" <address@hidden> wrote:
>
> > On Tue, Jul 24, 2018 at 05:28:44PM +0200, Igor Mammedov wrote:
> > > On Tue, 24 Jul 2018 09:39:16 -0300
> > > Eduardo Habkost <address@hidden> wrote:
> > >
> > > > On Tue, Jul 24, 2018 at 02:29:49PM +0200, Igor Mammedov wrote:
> > > > > On Mon, 23 Jul 2018 16:31:45 -0300
> > > > > Eduardo Habkost <address@hidden> wrote:
> > > > >
> > > > > > The ACPI hotplug callbacks get a HotplugHandler object as
> > > > > > argument. This has two problems:
> > > > > >
> > > > > > 1) The functions require a TYPE_ACPI_DEVICE_IF object, but the
> > > > > > function prototype doesn't indicate that. It's possible to
> > > > > > pass an object that would make the function crash.
> > > > > > 2) The function does not require the object to implement
> > > > > > TYPE_HOTPLUG_HANDLER at all, but the function prototype
> > > > > > imposes that for no reason.
> > > > > >
> > > > > > Change the argument type to AcpiDeviceIf instead of
> > > > > > HotplugHandler.
> > > > > What is the motivation for this patch,
> > > > > do you actually get crashes?
> > > >
> > > > I didn't get crashes, but the idea for the change came when
> > > > Michael asked me how to get the HotplugHandler object. I was
> > > > going to suggest current_machine (which is also a hotplug
> > > > handler), when I noticed he actually needed an AcpiDeviceIf
> > > > object.
> > > >
> > > > The main motivation, however, is to simply make the function
> > > > prototypes make sense. Is there a single reason to make the ACPI
> > > > functions get a HotplugHandler argument instead of AcpiDeviceIf?
> > > I'd rather to keep current *_cb() functions as is,
> > > as we might actually need access to hotplug handler there and in
> > > that case keeping more generic hotplug handler would be better
> > > and it also sort of documents better what is being passed in.
> > >
> > > Also we won't have to rewrite it back from AcpiDeviceIf to
> > > HotplugHandler again if it's needed.
> >
> > Personally I think type-safety is important, changing APIs
> > isn't such a big deal. So I'd rather take Eduardo's patch unless
> > the patches that would need to change it back are just
> > round the corner. what's the status there?
> I don't have any patches for this part nor any plan to work on it.
> Ok, let's go ahead with Eduardo's patches. We can always change it
> back if need arises.
OK - it's for-3.1 anyway, Eduardo pls remember to repost after
the release, if that's still the case I'll merge.
--
MST
- [Qemu-devel] [PATCH for-3.1 0/2] ACPI type safety cleanup, Eduardo Habkost, 2018/07/23
- [Qemu-devel] [PATCH for-3.1 1/2] acpi: Improve acpi_send_event() type safety, Eduardo Habkost, 2018/07/23
- [Qemu-devel] [PATCH for-3.1 2/2] acpi: Decouple ACPI hotplug callbacks from HotplugHandler, Eduardo Habkost, 2018/07/23
- Re: [Qemu-devel] [PATCH for-3.1 2/2] acpi: Decouple ACPI hotplug callbacks from HotplugHandler, Igor Mammedov, 2018/07/24
- Re: [Qemu-devel] [PATCH for-3.1 2/2] acpi: Decouple ACPI hotplug callbacks from HotplugHandler, Eduardo Habkost, 2018/07/24
- Re: [Qemu-devel] [PATCH for-3.1 2/2] acpi: Decouple ACPI hotplug callbacks from HotplugHandler, Igor Mammedov, 2018/07/24
- Re: [Qemu-devel] [PATCH for-3.1 2/2] acpi: Decouple ACPI hotplug callbacks from HotplugHandler, Eduardo Habkost, 2018/07/24
- Re: [Qemu-devel] [PATCH for-3.1 2/2] acpi: Decouple ACPI hotplug callbacks from HotplugHandler, Michael S. Tsirkin, 2018/07/24
- Re: [Qemu-devel] [PATCH for-3.1 2/2] acpi: Decouple ACPI hotplug callbacks from HotplugHandler, Igor Mammedov, 2018/07/25
- Re: [Qemu-devel] [PATCH for-3.1 2/2] acpi: Decouple ACPI hotplug callbacks from HotplugHandler,
Michael S. Tsirkin <=