Re: [PATCH rev.2 1/6] ACPI: Separate adding ACPI device objects from probing ACPI drivers

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

 



On Tue, 2012-12-18 at 22:57 +0100, Rafael J. Wysocki wrote:
> On Tuesday, December 18, 2012 09:10:41 AM Toshi Kani wrote:
> > On Tue, 2012-12-18 at 02:48 +0100, Rafael J. Wysocki wrote:
 :
> > We need to decide which module is responsible for calling .bind().  I
> > think it should be the ACPI scan module, not the ACPI PCI root bridge
> > driver, because:
> >  - bind() needs to be called when _ADR device is added.  The ACPI scan
> > module can scan any devices, while the PCI root driver can only scan
> > when it is added.
> >  - acpi_bus_remove() calls unbind() at hot-remove.  The same module
> > should be responsible for both bind() and unbind() handling.
> >  - It is cleaner to keep struct acpi_device_ops interface to be called
> > by the ACPI core.
> 
> I agree with that. :-)
> 
> Moreover, I don't think we need acpi_pci_bind() and acpi_pci_unbind() at all.
> 
> > So, I would propose the following changes.
> > 
> >  - Move the acpi_hot_add_bind() call back to the original place after
> > the device_attach() call.
> >  - Rename the name of acpi_hot_add_bind() to something like
> > acpi_bind_adr_device() since it is no longer hot-add only (and is
> > specific to _ADR devices).
> >  - Create its pair function, acpi_unbind_adr_device(), which is called
> > from acpi_bus_remove().  When a constructor interface is introduced, its
> > destructor should be introduced as well. 
> >  - Remove the binding procedure from acpi_pci_root_add().  This should
> > be done in patch [2/6].
> 
> Well, what about moving the code from acpi_pci_bind()/acpi_pci_unbind()
> somewhere else and removing those things altogether?

Sounds nice.  It will be bonus point if you can do that. :-)

Thanks,
-Toshi


--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux