public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Jiang Liu <liuj97@gmail.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
	Jiang Liu <jiang.liu@huawei.com>,
	Yijing Wang <wangyijing@huawei.com>,
	linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH v3 4/6] PCI/acpiphp: update ACPI hotplug slot information when PCI hotplug happens
Date: Wed, 09 Jan 2013 21:23:54 +0100	[thread overview]
Message-ID: <2474473.EXPaz4HMXx@vostro.rjw.lan> (raw)
In-Reply-To: <50ED9B03.3020606@gmail.com>

On Thursday, January 10, 2013 12:29:55 AM Jiang Liu wrote:
> On 01/09/2013 08:04 AM, Rafael J. Wysocki wrote:
> > On Wednesday, January 09, 2013 12:52:23 AM Jiang Liu wrote:
> >> Currently the acpiphp driver fails to update hotplug slot information under
> >> several conditions, such as:
> >> 1) The bridge device is removed through /sys/bus/pci/devices/.../remove
> >> 2) The bridge device is added/removed by PCI hotplug driver other than the
> >>    acpiphp driver itself. For example, if an IO expansion box with ACPI
> >>    hotplug slots available is hot-added by the pciehp driver, all ACPI
> >>    hotplug slots won't be discovered by the acpiphp driver.
> >>
> >> So hook the BUS_NOTIFY_ADD_DEVICE/BUS_NOTIFY_DEL_DEVICE events to
> >> update ACPI hotplug slot information when PCI hotplug event happens.
> >>
> >> Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
> >> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
> >> ---
> >>  drivers/pci/hotplug/acpiphp_glue.c |   62 ++++++++++++++++++++++++++++++++++--
> >>  1 file changed, 60 insertions(+), 2 deletions(-)
> >>
> snip
> >> +static struct notifier_block acpi_pci_hp_notifier = {
> >> +	.notifier_call = &acpi_pci_hp_notify_fn,
> >> +};
> >> +
> >>  static struct acpi_pci_driver acpi_pci_hp_driver = {
> >>  	.add =		add_bridge,
> >>  	.remove =	remove_bridge,
> >> @@ -1448,6 +1503,8 @@ int __init acpiphp_glue_init(void)
> >>  	else
> >>  		acpi_pci_register_driver(&acpi_pci_hp_driver);
> >>  
> >> +	bus_register_notifier(&pci_bus_type, &acpi_pci_hp_notifier);
> > 
> > Your previous patch adds a PCI bus notifier for a similar thing.  Why are
> > you adding another one here?
> Hi Rafael,
> 	The acpiphp driver could be built as a module, and this bus notifier
> is used to setup/tear down ACPI based PCI hotplug controllers under a PCI bridge.
> The previous patch is to add/remove PCI slots. The PCI slot and PCI hotplug
> controller are related but different objects, so we use two notifiers to support
> them all.

I would be much happier if those notifiers were not needed.  At least, I'm not
sure why they need to be invoked by the driver core during device registration.

In my opinion it would be much better if they were called only for the devices
that might need them instead of all PCI devices.

Thanks,
Rafael


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

  reply	other threads:[~2013-01-09 20:18 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-25 14:29 [PATCH v3 1/7] PCI: make PCI device create/destroy logic symmetric Jiang Liu
2012-09-25 14:29 ` [PATCH v3 2/7] PCI: split registration of PCI bus devices into two stages Jiang Liu
2012-09-25 14:29 ` [PATCH v3 3/7] ACPI/pci_bind: correctly update binding relationship for PCI hotplug Jiang Liu
2013-01-08  0:05   ` Bjorn Helgaas
2013-01-08 16:52     ` [PATCH v3 0/6] Update PCI notification patchset to latest kernel version Jiang Liu
2013-01-08 18:30       ` Yinghai Lu
2013-01-09  9:11         ` Yijing Wang
2013-01-08 16:52     ` [PATCH v3 1/6] PCI: make PCI device create/destroy logic symmetric Jiang Liu
2013-01-08 16:52     ` [PATCH v3 2/6] PCI: split registration of PCI bus devices into two stages Jiang Liu
2013-01-08 23:29       ` Rafael J. Wysocki
2013-01-09 16:10         ` Jiang Liu
2013-01-08 16:52     ` [PATCH v3 3/6] ACPI/pci_slot: update PCI slot information when PCI hotplug event happens Jiang Liu
2013-01-09  0:01       ` Rafael J. Wysocki
2013-01-09 16:58         ` Jiang Liu
2013-01-09 20:19           ` Rafael J. Wysocki
2013-01-09 20:44             ` Bjorn Helgaas
2013-01-09 21:00               ` Rafael J. Wysocki
2013-01-10 21:24               ` Myron Stowe
2013-01-10 21:50                 ` Rafael J. Wysocki
2013-01-10 23:03                   ` Yinghai Lu
2013-01-10 23:39                     ` Rafael J. Wysocki
2013-01-10 23:40                       ` Yinghai Lu
2013-01-10 23:59                         ` Rafael J. Wysocki
2013-01-11 18:06                           ` Bjorn Helgaas
2013-01-11 20:46                             ` Rafael J. Wysocki
2013-01-11 11:07                       ` Martin Mokrejs
2013-01-11 12:07                         ` Rafael J. Wysocki
2013-01-08 16:52     ` [PATCH v3 4/6] PCI/acpiphp: update ACPI hotplug slot information when PCI hotplug happens Jiang Liu
2013-01-09  0:04       ` Rafael J. Wysocki
2013-01-09 16:29         ` Jiang Liu
2013-01-09 20:23           ` Rafael J. Wysocki [this message]
2013-01-13 15:13             ` Jiang Liu
2013-01-13 20:33               ` Rafael J. Wysocki
2013-01-08 16:52     ` [PATCH v3 5/6] PCI/acpiphp: serialize access to the bridge_list list Jiang Liu
2013-01-08 16:52     ` [PATCH v3 6/6] PCI/AER: update AER configuration when PCI hotplug event happens Jiang Liu
2012-09-25 14:29 ` [PATCH v3 4/7] ACPI/pci-bind: remove bind/unbind callbacks from acpi_device_ops Jiang Liu
2012-09-25 14:29 ` [PATCH v3 5/7] ACPI/pci_slot: update PCI slot information when PCI hotplug event happens Jiang Liu
2012-09-25 14:29 ` [PATCH v3 6/7] PCI/acpiphp: update ACPI hotplug slot information when PCI hotplug happens Jiang Liu
2012-09-25 14:29 ` [PATCH v3 7/7] PCI/acpiphp: serialize access to the bridge_list list Jiang Liu

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=2474473.EXPaz4HMXx@vostro.rjw.lan \
    --to=rjw@sisk.pl \
    --cc=bhelgaas@google.com \
    --cc=jiang.liu@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=liuj97@gmail.com \
    --cc=wangyijing@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox