1. 09 Feb, 2004 1 commit
  2. 06 Feb, 2004 1 commit
    • Rolf Eike Beer's avatar
      [PATCH] PCI Hotplug: Convert error paths in ibmphp to use goto · c88c3d97
      Rolf Eike Beer authored
      This patch converts the error paths in several functions in ibmphp to use
      goto to the end of the function to kill code duplication.
      
      It also kills some memsets of pointer members of a struct where the struct
      itself is freed directly after.
      
      This one has 2 modification from the first version: the if is back as
      discussed and one extra long line (>> 150 chars) is wrapped now.
      c88c3d97
  3. 04 Feb, 2004 3 commits
    • Rolf Eike Beer's avatar
      [PATCH] PCI Hotplug: mark functions __init/__exit in acpiphp · a6776ea2
      Rolf Eike Beer authored
      These functions are only called from places marked __init or __exit, so
      we can mark them also.
      a6776ea2
    • Greg Kroah-Hartman's avatar
    • Matthew Dobson's avatar
      [PATCH] PCI: fix "pcibus_class" Device Class, release function · de56fa21
      Matthew Dobson authored
      John Rose wrote:
      > The function release_pcibus_dev() in probe.c defines the release procedure for
      > device class pcibus_class.  I want to suggest that this function be scrapped :)
      >
      > This release function is called in the code path of class_device_unregister().
      > The pcibus_class devices aren't currently unregistered anywhere, from what I
      > can tell, so this release function is currently unused.  The runtime removal of
      > PCI buses from logical partitions on PPC64 requires the unregistration of these
      > class devices.  The natural place to do this IMHO is in pci_remove_bus_device()
      > in remove.c.
      
      You're right that the class device isn't currently unregistered, and
      that was an oversight in the patch I originally sent.  Attatched is a
      patch that remedies that situation.  pci_remove_bus_device() *is* the
      natural place to unregister the class_dev, and that's just what the
      patch does.
      
      
      > The problem is that this calls pci_destroy_dev(), which calls put() on the same
      > "bridge" device that the release function does.  This should only be done once
      > in the course of removing a pci_bus, and I doubt that we want to change
      > pci_destroy_dev().   The kfree() of the pci_bus struct is also done in both
      > pci_remove_bus_device() and release_pcibus_dev().
      
      Yep.  The patch pulls the kfree() out of pci_remove_bus_device() and
      calls class_device_unregister() in it's place.  This will put() the
      bridge device and free the pci_bus as needed.  put() does need to be
      called twice because the bridge device is get()'d twice: once when the
      device is registered and once when it's bus device grabs a reference to it.
      de56fa21
  4. 03 Feb, 2004 6 commits
  5. 02 Feb, 2004 7 commits
  6. 30 Jan, 2004 5 commits
    • Rolf Eike Beer's avatar
      [PATCH] PCI Hotplug: coding style for cpqphp_pci.c · 08ccf518
      Rolf Eike Beer authored
      here are some coding style fixes.
      08ccf518
    • Adam Belay's avatar
      [PATCH] PCI: Remove uneeded resource structures from pci_dev · 2451c4f6
      Adam Belay authored
      The following patch remove irq_resource and dma_resource from pci_dev.  It
      appears that the serial pci driver depends on irq_resource, however, it may be
      broken portions of an old quirk.  I attempted to maintain the existing behavior
      while removing irq_resource.  I changed FL_IRQRESOURCE to FL_NOIRQ.  Russell,
      could you provide any comments?  irq_resource and dma_resource are most likely
      remnants from when pci_dev was shared with pnp.
      2451c4f6
    • Greg Kroah-Hartman's avatar
    • Michael Hunold's avatar
      [PATCH] dvb subsystem and saa7146 v4l fixes · 586a9edd
      Michael Hunold authored
      This fixes some issues in the dvb subsystem and some nasty things in the
      v4l saa7146 driver.
      
      [DVB]
       - dvb-core: aquire -> acquire spelling fix
       - nxt600 frontend: don't send zero-byte messages when probing the PLL
         type
       - Kconfig: add a note that says that the CI of the budget-CI card is
         not actually supported by the budget-CI driver
       - ttusb-dec: Check for presence of crc32 function.  Make unknown types
         of packet less likely to cause packet loss.
      
      [V4L]
       - saa7146: use kernel mint_t()/max_t() instead of homebrewn stuff
       - saa7146: disable video clipping before capturing for sure to prevent
         black pictures
       - saa7146: make sure to disable the right video dma upon device close
       - saa7146: don't free resources if disabling an already disabled video
         overlay
      586a9edd
    • Dominik Brodowski's avatar
      [PATCH] Validate ACPI CPU frequency values · a71d72ce
      Dominik Brodowski authored
      This is a simple fix for some of the problems with bad ACPI frequency values:
      
        Abort if the frequency field in _PSS is zero, as we're having a
        completely broken ACPI table then.
      
      A more complete overhaul of the acpi-cpufreq driver (where the cause of
      the problem lies) is in the latest acpi-test tree, but that's definitely
      something to be delayed for 2.6.3 -- and the same is true for the
      yet-to-be-written do_div64 conversion.
      a71d72ce
  7. 29 Jan, 2004 17 commits
    • Michael Schierl's avatar
      [PATCH] [APM] Is this the correct way to fix suspend bug introduced · 87903ac5
      Michael Schierl authored
      This fixes my APM problems (without them my laptop, Acer TravelMate
      210TEV (Celeron 700, 128 MB RAM), hangs after resuming from APM since
      2.6.0-test4).
      
      Modified based on comments from Pavel Machek <pavel@suse.cz>, who
      has acked the updated patch.
      87903ac5
    • Greg Kroah-Hartman's avatar
    • Kieran Morrissey's avatar
      [PATCH] PCI: pci.ids update · 07d880ac
      Kieran Morrissey authored
      - Replaces pci.ids with a snapshot from pciids.sf.net from 14 Jan 2004
      07d880ac
    • Kieran Morrissey's avatar
      [PATCH] PCI: name length change · 6a1bd126
      Kieran Morrissey authored
      - Changes gen-devlist.c to truncate long device names rather than reject
        the database
      - Changes PCI_NAME_SIZE to 96 (and PCI_NAME_HALF to 43) to allow all
        current pci.ids names to fit
      - Modifies gen-devlist.c to truncate at 89 characters rather than 79 -
        allows for two digit instance numbers to be added to the name as well
        while staying within the 96 characters allocated. No names in the
        current pci.ids are any longer than this.
      - Modifies names.c to no longer limit device name length when displaying
        both vendor and device name; the truncation is done by gen-devlist.c.
      6a1bd126
    • John Rose's avatar
      [PATCH] PCI: Allow pci hotplug drivers to initialize individual devices. · b323e1df
      John Rose authored
      This lets the PPC pci hotplug driver initialize single devices, not just
      entire slots.
      b323e1df
    • Leann Ogasawara's avatar
      [PATCH] PCI hotplug: pcihp_zt5550.c ioremap/iounmap audit · 66f070ba
      Leann Ogasawara authored
      insert missing iounmap()
      66f070ba
    • Ralf Bächle's avatar
      68e0f3a0
    • Linda Xie's avatar
    • Takayoshi Kochi's avatar
      [PATCH] PCI Hotplug: add address file and fix acpiphp bugs · 272b06a8
      Takayoshi Kochi authored
      This is the pending patch that adds 'address' file to show
      PCI-address and a few other minor fixes.
      As 2.6.0 is out, I'm resending the patch.
      Would you mind taking this?
      
      > > > Thanks.  I had a little time to try your patch today.  Sorry
      > > > to report that it isn't working for me.
      > > >
      > > > I first powered off (successfully the 1st time) a populated slot
      > > > and removed and reinserted the card into the same slot.  The slot
      > > > powered back up but I was then unable to power it off.  I believe
      > > > the following instruction that still exists in power_off_slot()
      > > > may be preventing the slot from being powered off more than once.
      > > >     func->flags &= (~FUNC_EXISTS);
      > > >
      > > > I then tried to insert an adapter in an un-populated slot.  For
      > > > some reason (which I don't understand yet) there was an enabling
      > > > error which I believe caused enable_device() to exit via a path
      > > > that bypassed the instruction that sets the FUNC_EXISTS flag.
      > > > I was then unable to power off the slot which I believe was due
      > > > to the FUNC_EXISTS flag not being set.
      > > >
      > > > I didn't have time to definitely confirmed the above theories.
      > > > I'll take a closer look at this tomorrow unless you are able
      > > > to diagnose using my vague clues :)
      > >
      > > It turns out that both of the above mentioned problems happened
      > > because the call to acpiphp_configure_slot() from enable_device()
      > > failed after inserting the card.  When this happens enable_device()
      > > exits without setting the FUNC_EXISTS flag for any of the slot
      > > functions.  Subsequent attempts to power off the same slot fail
      > > when power_off_slot() is unable to locate a function with both
      > > FUNC_HAS_EJ0 and FUNC_EXISTS flags set.
      > >
      > > The patch works okay when using a card that allows
      > > acpiphp_configure_slot() to succeed but I believe it should
      > > be improved to allow the slot to be powered off following
      > > device enablement errors.
      >
      > Thanks for testing and comments.
      > I really appreciate it.
      >
      > This problem turned out to be somewhat fragile state
      > transition:
      >
      > a lifecycle of a slot is (if there's no error)
      >
      >   function             state
      > ----------------------------------------------------
      > 0                      nothing
      > 1  power_on_slot()  -> SLOT_POWERDON
      > 2  enable_device()  -> SLOT_POWEREDON + SLOT_ENABLED
      > 3  disable_device() -> SLOT_POWEREDON
      > 4  power_off_slot() -> nothing
      >
      > but if any error occur during enable_device(), slot will remain
      > SLOT_POWERDON, but some functions on the card may not have
      > FUNC_EXISTS flags, which will eventually prevents powering
      > off in power_off_slot(), state transition from 1 to 4 directly.
      > I.e, the FUNC_EXISTS flag introduced more states to
      > complicate things.
      >
      > The FUNC_EXISTS flag was introduced after some discussion
      > between me and Irene Zubarev, but it has no more meaning
      > than that the function has corresponding 'pci_dev' structure.
      > So I eliminated the usage of FUNC_EXISTS and the result is
      > the patches attached to this mail (for both 2.4 and 2.6.
      > I think Greg already applied the 2.4 'cleanup' patch to his tree,
      > but it's not in Marcelo's release so I'm re-attaching to
      > this mail for anyone interested in this topic.  It's identical
      > to the one I posted earlier).
      > These patches don't include Gary's patch in his post last week,
      > so please apply separately.
      >
      > Please note that current acpiphp driver cannot handle a
      > PCI card that has a PCI-to-PCI bridge on it (support
      > for such cards is incomplete).  But if it's treated as
      > an error, it should be recoverable anyway.
      272b06a8
    • Martin Hicks's avatar
      [PATCH] PCI Hotplug: Trivial warning fix · 98e2380e
      Martin Hicks authored
      This just gets rid of a stupid compile warning.
      98e2380e
    • Matthew Wilcox's avatar
      [PATCH] PCI: fix pci_get_slot() bug · 73b6196b
      Matthew Wilcox authored
      On Wed, Dec 17, 2003 at 04:24:44PM -0800, Greg KH wrote:
      > I've applied the pci portions of this patch to my trees and will send it
      > on after 2.6.0 is out.
      
      James Bottomley found a bug in it; could you also apply:
      73b6196b
    • Greg Kroah-Hartman's avatar
      [PATCH] PCI: add .owner field to the config sysfs file to be "correct" · 70d7e120
      Greg Kroah-Hartman authored
      This is in case others copy this code (which has already happened...)
      70d7e120
    • Matthew Wilcox's avatar
      [PATCH] PCI: add pci_get_slot() function · 9648e089
      Matthew Wilcox authored
      tg3.c has a bug where it can find the wrong 5704 peer on a machine with
      PCI domains.  The problem is that pci_find_slot() can't distinguish
      whether it has the correct domain or not.
      
      This patch fixes that problem by introducing pci_get_slot().
      9648e089
    • Matthew Dobson's avatar
      [PATCH] PCI: add pci_bus sysfs class · 68b308e8
      Matthew Dobson authored
      This is needed to show pci bus topology to userspace properly.
      68b308e8
    • Matthew Wilcox's avatar
      [PATCH] PCI Hotplug: Better reporting of PCI frequency / bus mode problems for acpi driver · 78d65a24
      Matthew Wilcox authored
      When plugging a 33MHz card into a bus that's running at 66MHz, I'd like
      to see a better error message than:
      
      acpiphp_glue: notify_handler: unknown event type 0x5 for \_SB_.SBA0.PCI4.S2F0
      
      The following patch would give us:
      
      Device \_SB_.SBA0.PCI4.S2F0 cannot be configured due to a frequency mismatch
      
      which I think is clearer.
      78d65a24
    • Rolf Eike Beer's avatar
      [PATCH] PCI Hotplug: Fixup pcihp_skeleton.c · b2d96267
      Rolf Eike Beer authored
      The functions are not named *_skel_*, so it seems useful not to call them with
      this.
      b2d96267
    • Russell King's avatar
      [PATCH] Prevent PCI driver registration failure oopsing · b5849a35
      Russell King authored
      Greg,
      
      As discussed about six or so months ago, we agreed to hold off this
      patch until fairly late, due to its ability to catch duplicate PCI
      driver names.  Please note that I haven't attempted to reproduce the
      problem with recent kernels, and that all ARM kernel patches released
      since then have had this patch in.
      
      I'm guessing this will actually be 2.6.1 material since it probably
      doesn't show for PCI drivers which are part of the kernel tree.
      
      
      If pci_register_driver fails, the register the PCI driver structure
      will not be registered with the driver model.  pci_register_driver
      returns with negative value, and we then attempt to unregister the
      driver structure.  This leads to an oops in the driver model.
      
      The driver model does not return the number of devices it successfully
      bound the driver to, and neither does pci_register_driver() return
      this information.
      
      Therefore, all of the code below is redundant.
      
      (There's a little redundancy left in drivers/pci/pci-driver.c but it
      is harmless unlike this block.)
      b5849a35