aboutsummaryrefslogtreecommitdiffstats
path: root/driver
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-01-10 09:52:39 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2006-01-10 09:52:39 -0800
commite781fd60c26c83812bb447970ace13d5fe48aeea (patch)
tree950cb73c1f899feb927714029b0e9ebc049200fd /driver
parent417248e494454b1add4cad702bd02236cd710d94 (diff)
downloadpatches-e781fd60c26c83812bb447970ace13d5fe48aeea.tar.gz
2.6.15-git6 refresh
Diffstat (limited to 'driver')
-rw-r--r--driver/add-bttv-sub-bus_type-probe-and-remove-methods.patch67
-rw-r--r--driver/add-ide_bus_type-probe-and-remove-methods.patch12
-rw-r--r--driver/add-macio_bus_type-probe-and-remove-methods.patch4
-rw-r--r--driver/allow-sysfs-attribute-files-to-be-pollable.patch15
4 files changed, 22 insertions, 76 deletions
diff --git a/driver/add-bttv-sub-bus_type-probe-and-remove-methods.patch b/driver/add-bttv-sub-bus_type-probe-and-remove-methods.patch
index a4cb3f3e72553..85452e923c441 100644
--- a/driver/add-bttv-sub-bus_type-probe-and-remove-methods.patch
+++ b/driver/add-bttv-sub-bus_type-probe-and-remove-methods.patch
@@ -13,12 +13,11 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/media/dvb/bt8xx/dvb-bt8xx.c | 23 +++++++++++------------
drivers/media/video/bttv-gpio.c | 24 ++++++++++++++++++++++--
drivers/media/video/bttv.h | 2 ++
- drivers/media/video/ir-kbd-gpio.c | 17 ++++++++---------
- 4 files changed, 43 insertions(+), 23 deletions(-)
+ 3 files changed, 35 insertions(+), 14 deletions(-)
--- gregkh-2.6.orig/drivers/media/dvb/bt8xx/dvb-bt8xx.c
+++ gregkh-2.6/drivers/media/dvb/bt8xx/dvb-bt8xx.c
-@@ -787,9 +787,8 @@ static int __init dvb_bt8xx_load_card(st
+@@ -779,9 +779,8 @@ static int __init dvb_bt8xx_load_card(st
return 0;
}
@@ -29,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
struct dvb_bt8xx_card *card;
struct pci_dev* bttv_pci_dev;
int ret;
-@@ -907,13 +906,13 @@ static int dvb_bt8xx_probe(struct device
+@@ -891,13 +890,13 @@ static int dvb_bt8xx_probe(struct device
return ret;
}
@@ -46,7 +45,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
dprintk("dvb_bt8xx: unloading card%d\n", card->bttv_nr);
-@@ -936,14 +935,14 @@ static int dvb_bt8xx_remove(struct devic
+@@ -920,14 +919,14 @@ static int dvb_bt8xx_remove(struct devic
static struct bttv_sub_driver driver = {
.drv = {
.name = "dvb-bt8xx",
@@ -104,66 +103,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- gregkh-2.6.orig/drivers/media/video/bttv.h
+++ gregkh-2.6/drivers/media/video/bttv.h
-@@ -334,6 +334,8 @@ struct bttv_sub_device {
+@@ -364,6 +364,8 @@ struct bttv_sub_device {
struct bttv_sub_driver {
struct device_driver drv;
char wanted[BUS_ID_SIZE];
+ int (*probe)(struct bttv_sub_device *sub);
+ void (*remove)(struct bttv_sub_device *sub);
void (*gpio_irq)(struct bttv_sub_device *sub);
- int (*any_irq)(struct bttv_sub_device *sub);
};
---- gregkh-2.6.orig/drivers/media/video/ir-kbd-gpio.c
-+++ gregkh-2.6/drivers/media/video/ir-kbd-gpio.c
-@@ -319,15 +319,15 @@ module_param(repeat_period, int, 0644);
- printk(KERN_DEBUG DEVNAME ": " fmt , ## arg)
-
- static void ir_irq(struct bttv_sub_device *sub);
--static int ir_probe(struct device *dev);
--static int ir_remove(struct device *dev);
-+static int ir_probe(struct bttv_sub_device *sub);
-+static int ir_remove(struct bttv_sub_device *sub);
-
- static struct bttv_sub_driver driver = {
- .drv = {
- .name = DEVNAME,
-- .probe = ir_probe,
-- .remove = ir_remove,
- },
-+ .probe = ir_probe,
-+ .remove = ir_remove,
- .gpio_irq = ir_irq,
- };
-
-@@ -570,9 +570,8 @@ static void ir_rc5_timer_keyup(unsigned
-
- /* ---------------------------------------------------------------------- */
-
--static int ir_probe(struct device *dev)
-+static int ir_probe(struct bttv_sub_device *sub)
- {
-- struct bttv_sub_device *sub = to_bttv_sub_dev(dev);
- struct IR *ir;
- struct input_dev *input_dev;
- IR_KEYTAB_TYPE *ir_codes = NULL;
-@@ -707,7 +706,7 @@ static int ir_probe(struct device *dev)
- }
-
- /* all done */
-- dev_set_drvdata(dev, ir);
-+ dev_set_drvdata(&sub->dev, ir);
- input_register_device(ir->input);
-
- /* the remote isn't as bouncy as a keyboard */
-@@ -717,9 +716,9 @@ static int ir_probe(struct device *dev)
- return 0;
- }
-
--static int ir_remove(struct device *dev)
-+static int ir_remove(struct bttv_sub_device *sub)
- {
-- struct IR *ir = dev_get_drvdata(dev);
-+ struct IR *ir = dev_get_drvdata(&sub->dev);
-
- if (ir->polling) {
- del_timer(&ir->timer);
+ #define to_bttv_sub_drv(x) container_of((x), struct bttv_sub_driver, drv)
diff --git a/driver/add-ide_bus_type-probe-and-remove-methods.patch b/driver/add-ide_bus_type-probe-and-remove-methods.patch
index 4409592490851..793ee8be3d28b 100644
--- a/driver/add-ide_bus_type-probe-and-remove-methods.patch
+++ b/driver/add-ide_bus_type-probe-and-remove-methods.patch
@@ -20,7 +20,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- gregkh-2.6.orig/drivers/ide/ide-cd.c
+++ gregkh-2.6/drivers/ide/ide-cd.c
-@@ -3264,9 +3264,8 @@ sector_t ide_cdrom_capacity (ide_drive_t
+@@ -3254,9 +3254,8 @@ sector_t ide_cdrom_capacity (ide_drive_t
}
#endif
@@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
struct cdrom_info *info = drive->driver_data;
ide_unregister_subdriver(drive, info->driver);
-@@ -3274,8 +3273,6 @@ static int ide_cd_remove(struct device *
+@@ -3264,8 +3263,6 @@ static int ide_cd_remove(struct device *
del_gendisk(info->disk);
ide_cd_put(info);
@@ -40,7 +40,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
static void ide_cd_release(struct kref *kref)
-@@ -3299,7 +3296,7 @@ static void ide_cd_release(struct kref *
+@@ -3289,7 +3286,7 @@ static void ide_cd_release(struct kref *
kfree(info);
}
@@ -49,7 +49,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#ifdef CONFIG_PROC_FS
static int proc_idecd_read_capacity
-@@ -3325,9 +3322,9 @@ static ide_driver_t ide_cdrom_driver = {
+@@ -3315,9 +3312,9 @@ static ide_driver_t ide_cdrom_driver = {
.owner = THIS_MODULE,
.name = "ide-cdrom",
.bus = &ide_bus_type,
@@ -61,7 +61,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
.version = IDECD_VERSION,
.media = ide_cdrom,
.supports_dsc_overlap = 1,
-@@ -3421,9 +3418,8 @@ static char *ignore = NULL;
+@@ -3411,9 +3408,8 @@ static char *ignore = NULL;
module_param(ignore, charp, 0400);
MODULE_DESCRIPTION("ATAPI CD-ROM Driver");
@@ -307,7 +307,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
.resume = generic_ide_resume,
--- gregkh-2.6.orig/include/linux/ide.h
+++ gregkh-2.6/include/linux/ide.h
-@@ -982,8 +982,13 @@ typedef struct ide_driver_s {
+@@ -983,8 +983,13 @@ typedef struct ide_driver_s {
ide_startstop_t (*abort)(ide_drive_t *, struct request *rq);
ide_proc_entry_t *proc;
struct device_driver gen_driver;
diff --git a/driver/add-macio_bus_type-probe-and-remove-methods.patch b/driver/add-macio_bus_type-probe-and-remove-methods.patch
index c953d04e6d062..e5fcbdaaf2ada 100644
--- a/driver/add-macio_bus_type-probe-and-remove-methods.patch
+++ b/driver/add-macio_bus_type-probe-and-remove-methods.patch
@@ -14,7 +14,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- gregkh-2.6.orig/drivers/macintosh/macio_asic.c
+++ gregkh-2.6/drivers/macintosh/macio_asic.c
-@@ -204,6 +204,9 @@ struct bus_type macio_bus_type = {
+@@ -211,6 +211,9 @@ struct bus_type macio_bus_type = {
.name = "macio",
.match = macio_bus_match,
.uevent = macio_uevent,
@@ -24,7 +24,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
.suspend = macio_device_suspend,
.resume = macio_device_resume,
.dev_attrs = macio_dev_attrs,
-@@ -487,9 +490,6 @@ int macio_register_driver(struct macio_d
+@@ -528,9 +531,6 @@ int macio_register_driver(struct macio_d
/* initialize common driver fields */
drv->driver.name = drv->name;
drv->driver.bus = &macio_bus_type;
diff --git a/driver/allow-sysfs-attribute-files-to-be-pollable.patch b/driver/allow-sysfs-attribute-files-to-be-pollable.patch
index c0297d9b4bb76..54c1f1c9405a7 100644
--- a/driver/allow-sysfs-attribute-files-to-be-pollable.patch
+++ b/driver/allow-sysfs-attribute-files-to-be-pollable.patch
@@ -35,12 +35,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
fs/sysfs/dir.c | 1 +
fs/sysfs/file.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
- fs/sysfs/inode.c | 20 ++++++++++++++++++++
+ fs/sysfs/inode.c | 21 +++++++++++++++++++++
fs/sysfs/sysfs.h | 1 +
include/linux/kobject.h | 2 ++
include/linux/sysfs.h | 7 +++++++
lib/kobject.c | 1 +
- 7 files changed, 79 insertions(+)
+ 7 files changed, 80 insertions(+)
--- gregkh-2.6.orig/fs/sysfs/dir.c
+++ gregkh-2.6/fs/sysfs/dir.c
@@ -144,10 +144,11 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- gregkh-2.6.orig/fs/sysfs/inode.c
+++ gregkh-2.6/fs/sysfs/inode.c
-@@ -247,3 +247,23 @@ void sysfs_hash_and_remove(struct dentry
+@@ -245,3 +245,24 @@ void sysfs_hash_and_remove(struct dentry
+ }
+ mutex_unlock(&dir->d_inode->i_mutex);
}
-
-
++
+struct sysfs_dirent *sysfs_find(struct sysfs_dirent *dir, const char * name)
+{
+ struct sysfs_dirent * sd, * rv = NULL;
@@ -156,7 +157,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+ dir->s_dentry->d_inode == NULL)
+ return NULL;
+
-+ down(&dir->s_dentry->d_inode->i_sem);
++ mutex_lock(&dir->s_dentry->d_inode->i_mutex);
+ list_for_each_entry(sd, &dir->s_children, s_sibling) {
+ if (!sd->s_element)
+ continue;
@@ -165,7 +166,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+ break;
+ }
+ }
-+ up(&dir->s_dentry->d_inode->i_sem);
++ mutex_unlock(&dir->s_dentry->d_inode->i_mutex);
+ return rv;
+}
--- gregkh-2.6.orig/fs/sysfs/sysfs.h