linux-mips
[Top] [All Lists]

Re: [PATCH] IOC3: Switch to pci refcounting safe APIs

To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] IOC3: Switch to pci refcounting safe APIs
From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Date: Mon, 23 Apr 2007 18:21:32 +0400
Cc: ralf@linux-mips.org, linux-mips@linux-mips.org
In-reply-to: <20070423151918.477ffb6a@the-village.bc.nu>
Organization: MontaVista Software Inc.
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20070423150640.1faf693f@the-village.bc.nu> <462CBE33.2060208@ru.mvista.com> <20070423151918.477ffb6a@the-village.bc.nu>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux i686; rv:1.7.2) Gecko/20040803
Alan Cox wrote:
+static int ioc3_adjacent_is_ioc3(struct pci_dev *pdev, int dev)
+{
+ struct pci_dev *dev = pci_get_bus_and_slot(pdev->bus->number, + PCI_DEVFN(dev, 0));

  The same question: isn't pci_get_bus() better in this case?

Makes no real difference, but if you know the MIPS tree never ends up

  pci_get_bus_and_slot() walks all device tree, pci_get_bus() walks only one 
bus.

with pdev->bus = NULL for the root bus then its a trivial change

  You'll get kernel oops in this case anyway as you're dereferencing pdev->bus.

  I don't see the point of using refcounting API in such cases but well...

Two reasons

1.      It makes the entire system more consistent
2.      It means we can remove the (usually) unsafe pci_find_slot API

(and #3 sort of... it means the pci fake hotplug testing works with this
device too)

  Ah... Thanks for the explanation.

WBR, Sergei

<Prev in Thread] Current Thread [Next in Thread>