- 14 Jan, 2005 1 commit
-
-
John Rose authored
During the course of a hotplug removal of a PCI bus, release_pcibus_dev() attempts to remove attribute files from a kobject directory that no longer exists. This patch moves these calls to pci_remove_bus(), where they can work as intended. Signed-off-by:
John Rose <johnrose@austin.ibm.com> Signed-off-by:
Greg Kroah-Hartman <greg@kroah.com>
-
- 05 Nov, 2004 1 commit
-
-
Jon Smirl authored
Linus has requested that the sysfs rom attribute be changed to require enabling before it works. echo "0" to the attribute to disable, echoing anything else enables the rom output. The concern is that something like a file browser could inadvertently read the attribute and change the state of the hardware without the user's knowledge. The attached patch includes the previous patch plus the enabling logic. [root@smirl 0000:02:02.0]# [root@smirl 0000:02:02.0]# cat rom cat: rom: Invalid argument [root@smirl 0000:02:02.0]# echo "1" >rom [root@smirl 0000:02:02.0]# hexdump -C -n 20 rom 00000000 55 aa 60 e9 d6 01 00 00 00 00 00 00 00 00 00 00 |U.`.............| 00000010 00 00 00 00 |....| 00000014 [root@smirl 0000:02:02.0]# echo "0" >rom [root@smirl 0000:02:02.0]# hexdump -C -n 20 rom hexdump: rom: Invalid argument [root@smirl 0000:02:02.0]# Signed-off-by:
Jon Smirl <jonsmirl@gmail.com> Signed-off-by:
Greg Kroah-Hartman <greg@kroah.com>
-
- 25 Aug, 2004 1 commit
-
-
John Rose authored
The following patch implements a pci_remove_bus() that can be used by hotplug drivers for the removal of root buses. It also defines a release function that frees the device struct for pci_bus->bridge when a root bus class device is unregistered. Signed-off-by:
John Rose <johnrose@austin.ibm.com> Signed-off-by:
Greg Kroah-Hartman <greg@kroah.com>
-
- 04 Feb, 2004 1 commit
-
-
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.
-
- 29 Dec, 2003 1 commit
-
-
Andrew Morton authored
From: long <tlnguyen@snoqualmie.dp.intel.com> Add support for Message Signalled Interrupt delivery on ia32. With a fix from Zwane Mwaikambo <zwane@arm.linux.org.uk>
-
- 15 Jul, 2003 1 commit
-
-
Greg Kroah-Hartman authored
This fixes a build problem on sparc, and hopefully will prevent this from happening in the future...
-