bk://kernel.bkbits.net/gregkh/linux/driver-2.6 greg@kroah.com|ChangeSet|20041102020015|53889 greg # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/11/26 00:43:48-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # include/linux/module.h # 2004/11/26 00:43:44-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/19 20:01:18-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # fs/sysfs/dir.c # 2004/11/19 20:01:14-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/13 14:36:20-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # drivers/usb/core/usb.c # 2004/11/13 14:36:14-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/12 13:13:55-08:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/driver-2.6 # into bix.(none):/usr/src/bk-driver-core # # include/linux/device.h # 2004/11/12 13:13:50-08:00 akpm@bix.(none) +0 -0 # Auto merged # # fs/sysfs/dir.c # 2004/11/12 13:13:50-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/base/bus.c # 2004/11/12 13:13:50-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/04 18:30:17-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # fs/sysfs/dir.c # 2004/11/04 18:30:14-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/core/usb.c # 2004/11/04 18:30:14-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/04 13:11:46-08:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/driver-2.6 # into bix.(none):/usr/src/bk-driver-core # # fs/sysfs/file.c # 2004/11/04 13:11:42-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/base/bus.c # 2004/11/04 13:11:42-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/03 19:44:15-08:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/driver-2.6 # into bix.(none):/usr/src/bk-driver-core # # fs/sysfs/sysfs.h # 2004/11/03 19:44:11-08:00 akpm@bix.(none) +0 -0 # Auto merged # # fs/sysfs/symlink.c # 2004/11/03 19:44:11-08:00 akpm@bix.(none) +0 -0 # Auto merged # # fs/sysfs/mount.c # 2004/11/03 19:44:11-08:00 akpm@bix.(none) +0 -0 # Auto merged # # fs/sysfs/inode.c # 2004/11/03 19:44:11-08:00 akpm@bix.(none) +0 -0 # Auto merged # # fs/sysfs/dir.c # 2004/11/03 19:44:11-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/03 13:18:05-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # kernel/Makefile # 2004/11/03 13:18:02-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/01 22:04:43-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # include/linux/sysfs.h # 2004/11/01 22:04:39-08:00 akpm@bix.(none) +0 -19 # Auto merged # # include/linux/device.h # 2004/11/01 22:04:39-08:00 akpm@bix.(none) +0 -3 # Auto merged # # fs/sysfs/sysfs.h # 2004/11/01 22:04:39-08:00 akpm@bix.(none) +0 -70 # Auto merged # # fs/sysfs/symlink.c # 2004/11/01 22:04:39-08:00 akpm@bix.(none) +0 -34 # Auto merged # # fs/sysfs/mount.c # 2004/11/01 22:04:39-08:00 akpm@bix.(none) +0 -10 # Auto merged # # fs/sysfs/inode.c # 2004/11/01 22:04:39-08:00 akpm@bix.(none) +0 -70 # Auto merged # # fs/sysfs/group.c # 2004/11/01 22:04:39-08:00 akpm@bix.(none) +0 -3 # Auto merged # # fs/sysfs/file.c # 2004/11/01 22:04:39-08:00 akpm@bix.(none) +0 -44 # Auto merged # # fs/sysfs/dir.c # 2004/11/01 22:04:38-08:00 akpm@bix.(none) +0 -317 # Auto merged # # fs/sysfs/bin.c # 2004/11/01 22:04:38-08:00 akpm@bix.(none) +0 -10 # Auto merged # # drivers/base/power/suspend.c # 2004/11/01 22:04:38-08:00 akpm@bix.(none) +0 -25 # Auto merged # # drivers/base/power/resume.c # 2004/11/01 22:04:38-08:00 akpm@bix.(none) +0 -13 # Auto merged # # drivers/base/power/power.h # 2004/11/01 22:04:38-08:00 akpm@bix.(none) +0 -5 # Auto merged # # drivers/base/power/main.c # 2004/11/01 22:04:38-08:00 akpm@bix.(none) +0 -6 # Auto merged # # drivers/base/bus.c # 2004/11/01 22:04:38-08:00 akpm@bix.(none) +0 -32 # Auto merged # # ChangeSet # 2004/10/29 03:13:51-05:00 dtor_core@ameritech.net # [PATCH] Driver core: add driver_probe_device # # Driver core: rename bus_match into driver_probe_device and export # it so subsystems can bind an individual device to a # specific driver without getting involved with driver # core internals. # # Signed-off-by: Dmitry Torokhov # Signed-off-by: Greg Kroah-Hartman # # include/linux/device.h # 2004/10/12 01:28:06-05:00 dtor_core@ameritech.net +2 -1 # Driver core: add driver_probe_device # # drivers/base/bus.c # 2004/10/12 01:28:06-05:00 dtor_core@ameritech.net +29 -26 # Driver core: add driver_probe_device # # ChangeSet # 2004/10/29 03:12:31-05:00 dtor_core@ameritech.net # [PATCH] Driver core: export device_attach # # Driver core: make device_attach() global and export it and # driver_attach() so subsystems can have finer # control over binding process. # # Signed-off-by: Dmitry Torokhov # Signed-off-by: Greg Kroah-Hartman # # include/linux/device.h # 2004/10/12 01:27:27-05:00 dtor_core@ameritech.net +1 -0 # Driver core: export device_attach # # drivers/base/bus.c # 2004/10/12 01:27:27-05:00 dtor_core@ameritech.net +3 -1 # Driver core: export device_attach # # ChangeSet # 2004/10/28 17:39:42-05:00 akpm@osdl.org # [PATCH] Fix deadlocks on dpm_sem # # From: Paul Mackerras # # Currently the device_pm_foo() functions are rather prone to deadlocks # during suspend/resume. This is because the dpm_sem is held for the # duration of device_suspend() and device_resume() as well as device_pm_add() # and device_pm_remove(). If for any reason you get a device addition or # removal triggered by a device's suspend or resume code, you get a deadlock. # (The classic example is a USB host adaptor resuming and discovering that # the mouse you used to have plugged in has gone away.) # # This patch fixes the problem by using a separate semaphore, called # dpm_list_sem, to cover the places where we need the device pm lists to be # stable, and by being careful about how we traverse the lists on suspend and # resume. I have analysed the various cases that can occur and I am # confident that I have handled them all correctly. I posted this patch # together with a detailed analysis 10 days ago. # # Signed-off-by Paul Mackerras # Signed-off-by: Andrew Morton # Signed-off-by: Greg Kroah-Hartman # # drivers/base/power/suspend.c # 2004/10/21 23:24:28-05:00 akpm@osdl.org +25 -19 # Fix deadlocks on dpm_sem # # drivers/base/power/resume.c # 2004/10/21 23:24:28-05:00 akpm@osdl.org +13 -3 # Fix deadlocks on dpm_sem # # drivers/base/power/power.h # 2004/10/21 23:24:28-05:00 akpm@osdl.org +5 -0 # Fix deadlocks on dpm_sem # # drivers/base/power/main.c # 2004/10/21 23:24:28-05:00 akpm@osdl.org +6 -5 # Fix deadlocks on dpm_sem # # ChangeSet # 2004/10/28 17:38:59-05:00 akpm@osdl.org # [PATCH] Possible race in sysfs_read_file() and sysfs_write_file() # # From: Simon Derr # # Add a `needs_read_fill' field in sysfs_buffer so that reading after a write in # a sysfs file returns valid data. # # (instead of the data that have been written, that may be invalid or at the # wrong offset) # # Signed-off-by: Simon Derr # Signed-off-by: Andrew Morton # Signed-off-by: Greg Kroah-Hartman # # fs/sysfs/file.c # 2004/10/18 23:43:24-05:00 akpm@osdl.org +5 -1 # Possible race in sysfs_read_file() and sysfs_write_file() # # ChangeSet # 2004/10/28 17:38:01-05:00 akpm@osdl.org # [PATCH] Fix race in sysfs_read_file() and sysfs_write_file() # # From: Simon Derr # # - fixes the race between threads by adding a semaphore in sysfs_buffer # # - allocates the buffer upon call to pread(). We still call again # fill_read_buffer() if the file is "rewinded" to offset zero. # # - fixes the comparison in flush_read_buffer(). # # Signed-off-by: Simon Derr # Signed-off-by: Andrew Morton # Signed-off-by: Greg Kroah-Hartman # # fs/sysfs/file.c # 2004/10/18 23:47:25-05:00 akpm@osdl.org +15 -3 # Fix race in sysfs_read_file() and sysfs_write_file() # # ChangeSet # 2004/10/28 17:32:46-05:00 akpm@osdl.org # [PATCH] sysfs backing store: stop pinning dentries/inodes for leaf entries # # From: Maneesh Soni # # o This patch stops the pinning of non-directory or leaf dentries and inodes. # The leaf dentries and inodes are created during lookup based on the # entries on sysfs_dirent tree. These leaves are removed from the dcache # through the VFS dentry ageing process during shrink dcache operations. Thus # reducing about 80% of sysfs lowmem needs. # # o This implments the ->lookup() for sysfs directory inodes and allocates # dentry and inode if the lookup is successful and avoids the need of # allocating and pinning of dentry and inodes during the creation of # corresponding sysfs leaf entry. As of now the implementation has not # required negative dentry creation on failed lookup. As sysfs is still a # RAM based filesystem, negative dentries are not of any use IMO. # # o The leaf dentry allocated after successful lookup is connected to the # existing corresponding sysfs_dirent through the d_fsdata field. # # Signed-off-by: Andrew Morton # Signed-off-by: Greg Kroah-Hartman # # fs/sysfs/sysfs.h # 2004/10/18 23:42:34-05:00 akpm@osdl.org +4 -0 # sysfs backing store: stop pinning dentries/inodes for leaf entries # # fs/sysfs/symlink.c # 2004/10/18 23:42:34-05:00 akpm@osdl.org +5 -21 # sysfs backing store: stop pinning dentries/inodes for leaf entries # # fs/sysfs/mount.c # 2004/10/18 23:42:34-05:00 akpm@osdl.org +1 -1 # sysfs backing store: stop pinning dentries/inodes for leaf entries # # fs/sysfs/file.c # 2004/10/18 23:47:25-05:00 akpm@osdl.org +3 -22 # sysfs backing store: stop pinning dentries/inodes for leaf entries # # fs/sysfs/dir.c # 2004/10/18 23:47:25-05:00 akpm@osdl.org +100 -6 # sysfs backing store: stop pinning dentries/inodes for leaf entries # # fs/sysfs/bin.c # 2004/10/18 23:42:34-05:00 akpm@osdl.org +2 -26 # sysfs backing store: stop pinning dentries/inodes for leaf entries # # ChangeSet # 2004/10/28 17:31:57-05:00 akpm@osdl.org # [PATCH] sysfs backing store: use sysfs_dirent based tree in dir file operations # # From: Maneesh Soni # # o This patch implements the sysfs_dir_operations file_operations strucutre for # sysfs directories. It uses the sysfs_dirent based tree for ->readdir() and # ->lseek() methods instead of simple_dir_operations which use dentry based # tree. # # Signed-off-by: Andrew Morton # Signed-off-by: Greg Kroah-Hartman # # fs/sysfs/sysfs.h # 2004/10/18 23:47:26-05:00 akpm@osdl.org +2 -0 # sysfs backing store: use sysfs_dirent based tree in dir file operations # # fs/sysfs/mount.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +1 -1 # sysfs backing store: use sysfs_dirent based tree in dir file operations # # fs/sysfs/dir.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +140 -1 # sysfs backing store: use sysfs_dirent based tree in dir file operations # # ChangeSet # 2004/10/28 17:31:11-05:00 akpm@osdl.org # [PATCH] sysfs backing store: use sysfs_dirent based tree in file removal # # From: Maneesh Soni # # o This patch uses the sysfs_dirent based tree while removing sysfs files # and directories. This avoids holding dcache_lock by not using dentry # based vfs tree. Thus simplyfying the removal logic in sysfs. # # o It uses two helper routines sysfs_get_name(), to get the name for # sysfs element and sysfs_drop_dentry() to delete the dentry given a # sysfs_dirent. # # Signed-off-by: Andrew Morton # Signed-off-by: Greg Kroah-Hartman # # fs/sysfs/sysfs.h # 2004/10/18 23:47:26-05:00 akpm@osdl.org +18 -0 # sysfs backing store: use sysfs_dirent based tree in file removal # # fs/sysfs/inode.c # 2004/10/18 23:42:33-05:00 akpm@osdl.org +66 -26 # sysfs backing store: use sysfs_dirent based tree in file removal # # fs/sysfs/dir.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +11 -37 # sysfs backing store: use sysfs_dirent based tree in file removal # # ChangeSet # 2004/10/28 17:30:07-05:00 akpm@osdl.org # [PATCH] sysfs backing store - add sysfs_direct structure # # From: Maneesh Soni # # o This patch introduces the new sysfs_dirent data structure. The sysfs_dirent # is added to the dentry corresponding to each of the element which can be # represented in sysfs like, kobject (directory), text or binary attributes # (files), attribute groups (directory) and symlinks. # # o It uses dentry's d_fsdata field to attach the corresponding sysfs_dirent. # # o The sysfs_dirents are maintained in a tree of all the sysfs entries using the # s_children and s_sibling list pointers. # # o This patch also changes how we access attributes and kobjects in # file_operations from a given dentry, basically introducing one more level of # indirection. # # o The sysfs_dirents are freed and the sysfs_dirent tree is updated accordingly # upon the deletion of corresponding dentry. The sysfs dirents are kept alive # as long as there is corresponding dentry around. The are freed when the # dentry is finally out of dcache using the ->d_iput() method. # # o This also fixes the dentry leaks in case of error paths after sysfs has # got a newly alocated (and hashed) dentry from sysfs_get_dentry() by # d_drop()'ing the dentry. # # Signed-off-by: Andrew Morton # Signed-off-by: Greg Kroah-Hartman # # include/linux/sysfs.h # 2004/10/18 23:42:33-05:00 akpm@osdl.org +19 -0 # sysfs backing store - add sysfs_direct structure # # fs/sysfs/sysfs.h # 2004/10/18 23:47:26-05:00 akpm@osdl.org +33 -6 # sysfs backing store - add sysfs_direct structure # # fs/sysfs/symlink.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +35 -4 # sysfs backing store - add sysfs_direct structure # # fs/sysfs/mount.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +8 -0 # sysfs backing store - add sysfs_direct structure # # fs/sysfs/inode.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +8 -2 # sysfs backing store - add sysfs_direct structure # # fs/sysfs/group.c # 2004/10/18 23:42:33-05:00 akpm@osdl.org +3 -1 # sysfs backing store - add sysfs_direct structure # # fs/sysfs/file.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +15 -10 # sysfs backing store - add sysfs_direct structure # # fs/sysfs/dir.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +75 -9 # sysfs backing store - add sysfs_direct structure # # fs/sysfs/bin.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +8 -6 # sysfs backing store - add sysfs_direct structure # # ChangeSet # 2004/10/28 17:29:22-05:00 akpm@osdl.org # [PATCH] fix oops with firmware loading # # From: Maneesh Soni # # My fault, a bad typo in fs/sysfs/bin.c. # # Signed-off-by: Andrew Morton # Signed-off-by: Greg Kroah-Hartman # # fs/sysfs/bin.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +2 -2 # fix oops with firmware loading # # ChangeSet # 2004/10/28 17:28:22-05:00 akpm@osdl.org # [PATCH] sysfs backing store - prepare sysfs_file_operations helpers # # From: Maneesh Soni # # o The following patch provides dumb helpers to access the corresponding # kobject, attribute or binary attribute given a dentry and prepare the # sysfs_file_operation methods for using sysfs_dirents. # # Signed-off-by: Andrew Morton # Signed-off-by: Greg Kroah-Hartman # # fs/sysfs/sysfs.h # 2004/10/18 23:47:26-05:00 akpm@osdl.org +17 -1 # sysfs backing store - prepare sysfs_file_operations helpers # # fs/sysfs/file.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +12 -12 # sysfs backing store - prepare sysfs_file_operations helpers # # fs/sysfs/bin.c # 2004/10/18 23:47:26-05:00 akpm@osdl.org +7 -7 # sysfs backing store - prepare sysfs_file_operations helpers # # ChangeSet # 2004/10/25 19:17:25-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # include/linux/module.h # 2004/10/25 19:17:19-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/24 22:03:33-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # lib/Makefile # 2004/10/24 22:03:29-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/22 21:07:02-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # lib/Makefile # 2004/10/22 21:06:58-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/core/usb.c # 2004/10/22 21:06:58-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/22 17:01:27-07:00 greg@kroah.com # cpu: mark symbol EXPORT_SYMBOL_GPL # # Signed-off-by: Greg Kroah-Hartman # # drivers/base/cpu.c # 2004/10/22 17:01:16-07:00 greg@kroah.com +1 -1 # cpu: mark symbol EXPORT_SYMBOL_GPL # # Signed-off-by: Greg Kroah-Hartman # # ChangeSet # 2004/10/22 16:50:27-07:00 greg@kroah.com # class simple: mark exports as EXPORT_SYMBOL_GPL as these are core kernel functions. # # Signed-off-by: Greg Kroah-Hartman # # drivers/base/class_simple.c # 2004/10/22 16:50:14-07:00 greg@kroah.com +5 -5 # class simple: mark exports as EXPORT_SYMBOL_GPL as these are core kernel functions. # # Signed-off-by: Greg Kroah-Hartman # # ChangeSet # 2004/10/21 14:19:34-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # lib/Makefile # 2004/10/21 14:19:30-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/21 00:25:11-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # include/linux/module.h # 2004/10/21 00:25:06-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/19 21:39:11-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-driver-core # # kernel/Makefile # 2004/10/19 21:39:07-07:00 akpm@bix.(none) +0 -0 # Auto merged # # include/linux/module.h # 2004/10/19 21:39:07-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/core/usb.c # 2004/10/19 21:39:07-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/19 17:57:14-07:00 akpm@bix.(none) # foo # # kernel/Makefile # 2004/10/19 17:57:07-07:00 akpm@bix.(none) +0 -1 # foo # # include/linux/module.h # 2004/10/19 17:54:19-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/core/usb.c # 2004/10/19 17:54:19-07:00 akpm@bix.(none) +0 -0 # Auto merged # diff -Nru a/drivers/base/class_simple.c b/drivers/base/class_simple.c --- a/drivers/base/class_simple.c 2004-11-29 21:50:17 -08:00 +++ b/drivers/base/class_simple.c 2004-11-29 21:50:17 -08:00 @@ -91,7 +91,7 @@ kfree(cs); return ERR_PTR(retval); } -EXPORT_SYMBOL(class_simple_create); +EXPORT_SYMBOL_GPL(class_simple_create); /** * class_simple_destroy - destroys a struct class_simple structure @@ -107,7 +107,7 @@ class_unregister(&cs->class); } -EXPORT_SYMBOL(class_simple_destroy); +EXPORT_SYMBOL_GPL(class_simple_destroy); /** * class_simple_device_add - adds a class device to sysfs for a character driver @@ -166,7 +166,7 @@ kfree(s_dev); return ERR_PTR(retval); } -EXPORT_SYMBOL(class_simple_device_add); +EXPORT_SYMBOL_GPL(class_simple_device_add); /** * class_simple_set_hotplug - set the hotplug callback in the embedded struct class @@ -184,7 +184,7 @@ cs->class.hotplug = hotplug; return 0; } -EXPORT_SYMBOL(class_simple_set_hotplug); +EXPORT_SYMBOL_GPL(class_simple_set_hotplug); /** * class_simple_device_remove - removes a class device that was created with class_simple_device_add() @@ -213,4 +213,4 @@ spin_unlock(&simple_dev_list_lock); } } -EXPORT_SYMBOL(class_simple_device_remove); +EXPORT_SYMBOL_GPL(class_simple_device_remove); diff -Nru a/drivers/base/cpu.c b/drivers/base/cpu.c --- a/drivers/base/cpu.c 2004-11-29 21:50:17 -08:00 +++ b/drivers/base/cpu.c 2004-11-29 21:50:17 -08:00 @@ -13,7 +13,7 @@ struct sysdev_class cpu_sysdev_class = { set_kset_name("cpu"), }; -EXPORT_SYMBOL(cpu_sysdev_class); +EXPORT_SYMBOL_GPL(cpu_sysdev_class); #ifdef CONFIG_HOTPLUG_CPU static ssize_t show_online(struct sys_device *dev, char *buf)