diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2008-07-18 16:22:10 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-07-18 16:22:10 -0700 |
| commit | 250cf08dd42f2998b392a090cd6055c41178424e (patch) | |
| tree | 9e6d85dbaa07295e9040c273846c8b42497c2bdb | |
| parent | 9e35477be4b3d7f36f8229ae3ff173dfa8062f9d (diff) | |
| download | patches-250cf08dd42f2998b392a090cd6055c41178424e.tar.gz | |
2.6.26-git6 - big resync/merge mess
93 files changed, 458 insertions, 2440 deletions
diff --git a/driver-core/aic94xx-treat-firmware-data-as-const.patch b/driver-core/aic94xx-treat-firmware-data-as-const.patch deleted file mode 100644 index c5d733e6612b76..00000000000000 --- a/driver-core/aic94xx-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,102 +0,0 @@ -From a284ed692796dc858ecb4e5f1af5f2e056a2531b Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:05:45 +0100 -Subject: aic94xx: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/scsi/aic94xx/aic94xx_sds.c | 12 ++++++------ - drivers/scsi/aic94xx/aic94xx_sds.h | 4 ++-- - drivers/scsi/aic94xx/aic94xx_seq.c | 7 ++++--- - 3 files changed, 12 insertions(+), 11 deletions(-) - ---- a/drivers/scsi/aic94xx/aic94xx_sds.c -+++ b/drivers/scsi/aic94xx/aic94xx_sds.c -@@ -1093,9 +1093,9 @@ out: - * @bytes_to_verify: total bytes to verify - */ - int asd_verify_flash_seg(struct asd_ha_struct *asd_ha, -- void *src, u32 dest_offset, u32 bytes_to_verify) -+ const void *src, u32 dest_offset, u32 bytes_to_verify) - { -- u8 *src_buf; -+ const u8 *src_buf; - u8 flash_char; - int err; - u32 nv_offset, reg, i; -@@ -1105,7 +1105,7 @@ int asd_verify_flash_seg(struct asd_ha_s - - err = FLASH_OK; - nv_offset = dest_offset; -- src_buf = (u8 *)src; -+ src_buf = (const u8 *)src; - for (i = 0; i < bytes_to_verify; i++) { - flash_char = asd_read_reg_byte(asd_ha, reg + nv_offset + i); - if (flash_char != src_buf[i]) { -@@ -1124,9 +1124,9 @@ int asd_verify_flash_seg(struct asd_ha_s - * @bytes_to_write: total bytes to write - */ - int asd_write_flash_seg(struct asd_ha_struct *asd_ha, -- void *src, u32 dest_offset, u32 bytes_to_write) -+ const void *src, u32 dest_offset, u32 bytes_to_write) - { -- u8 *src_buf; -+ const u8 *src_buf; - u32 nv_offset, reg, i; - int err; - -@@ -1153,7 +1153,7 @@ int asd_write_flash_seg(struct asd_ha_st - return err; - } - -- src_buf = (u8 *)src; -+ src_buf = (const u8 *)src; - for (i = 0; i < bytes_to_write; i++) { - /* Setup program command sequence */ - switch (asd_ha->hw_prof.flash.method) { ---- a/drivers/scsi/aic94xx/aic94xx_sds.h -+++ b/drivers/scsi/aic94xx/aic94xx_sds.h -@@ -110,9 +110,9 @@ struct bios_file_header { - }; - - int asd_verify_flash_seg(struct asd_ha_struct *asd_ha, -- void *src, u32 dest_offset, u32 bytes_to_verify); -+ const void *src, u32 dest_offset, u32 bytes_to_verify); - int asd_write_flash_seg(struct asd_ha_struct *asd_ha, -- void *src, u32 dest_offset, u32 bytes_to_write); -+ const void *src, u32 dest_offset, u32 bytes_to_write); - int asd_chk_write_status(struct asd_ha_struct *asd_ha, - u32 sector_addr, u8 erase_flag); - int asd_check_flash_type(struct asd_ha_struct *asd_ha); ---- a/drivers/scsi/aic94xx/aic94xx_seq.c -+++ b/drivers/scsi/aic94xx/aic94xx_seq.c -@@ -46,7 +46,7 @@ - static const struct firmware *sequencer_fw; - static u16 cseq_vecs[CSEQ_NUM_VECS], lseq_vecs[LSEQ_NUM_VECS], mode2_task, - cseq_idle_loop, lseq_idle_loop; --static u8 *cseq_code, *lseq_code; -+static const u8 *cseq_code, *lseq_code; - static u32 cseq_code_size, lseq_code_size; - - static u16 first_scb_site_no = 0xFFFF; -@@ -1235,7 +1235,8 @@ int asd_release_firmware(void) - static int asd_request_firmware(struct asd_ha_struct *asd_ha) - { - int err, i; -- struct sequencer_file_header header, *hdr_ptr; -+ struct sequencer_file_header header; -+ const struct sequencer_file_header *hdr_ptr; - u32 csum = 0; - u16 *ptr_cseq_vecs, *ptr_lseq_vecs; - -@@ -1249,7 +1250,7 @@ static int asd_request_firmware(struct a - if (err) - return err; - -- hdr_ptr = (struct sequencer_file_header *)sequencer_fw->data; -+ hdr_ptr = (const struct sequencer_file_header *)sequencer_fw->data; - - header.csum = le32_to_cpu(hdr_ptr->csum); - header.major = le32_to_cpu(hdr_ptr->major); diff --git a/driver-core/atmel-treat-firmware-data-as-const.patch b/driver-core/atmel-treat-firmware-data-as-const.patch deleted file mode 100644 index 9ca28e2b1b13a2..00000000000000 --- a/driver-core/atmel-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 6371e8b4e2de998d93746f2ef103929be93ddecb Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:09:29 +0100 -Subject: atmel: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/net/wireless/atmel.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/drivers/net/wireless/atmel.c -+++ b/drivers/net/wireless/atmel.c -@@ -560,7 +560,7 @@ static const struct { - static void build_wpa_mib(struct atmel_private *priv); - static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); - static void atmel_copy_to_card(struct net_device *dev, u16 dest, -- unsigned char *src, u16 len); -+ const unsigned char *src, u16 len); - static void atmel_copy_to_host(struct net_device *dev, unsigned char *dest, - u16 src, u16 len); - static void atmel_set_gcr(struct net_device *dev, u16 mask); -@@ -3853,7 +3853,7 @@ static int reset_atmel_card(struct net_d - if (priv->card_type == CARD_TYPE_EEPROM) { - /* copy in firmware if needed */ - const struct firmware *fw_entry = NULL; -- unsigned char *fw; -+ const unsigned char *fw; - int len = priv->firmware_length; - if (!(fw = priv->firmware)) { - if (priv->firmware_type == ATMEL_FW_TYPE_NONE) { -@@ -4120,7 +4120,7 @@ static void atmel_writeAR(struct net_dev - } - - static void atmel_copy_to_card(struct net_device *dev, u16 dest, -- unsigned char *src, u16 len) -+ const unsigned char *src, u16 len) - { - int i; - atmel_writeAR(dev, dest); diff --git a/driver-core/block-fix-compiler-warning-in-genhd.c.patch b/driver-core/block-fix-compiler-warning-in-genhd.c.patch index c38ee7c387aec5..370f23d95659cf 100644 --- a/driver-core/block-fix-compiler-warning-in-genhd.c.patch +++ b/driver-core/block-fix-compiler-warning-in-genhd.c.patch @@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> disk->flags |= GENHD_FL_UP; blk_register_region(MKDEV(disk->major, disk->first_minor), -@@ -192,7 +193,8 @@ void add_disk(struct gendisk *disk) +@@ -193,7 +194,8 @@ void add_disk(struct gendisk *disk) bdi = &disk->queue->backing_dev_info; bdi_register_dev(bdi, MKDEV(disk->major, disk->first_minor)); diff --git a/driver-core/block-make-blk_lookup_devt-use-the-class-iterator-function.patch b/driver-core/block-make-blk_lookup_devt-use-the-class-iterator-function.patch index 52c2d380b8fbaf..5394dde52442c7 100644 --- a/driver-core/block-make-blk_lookup_devt-use-the-class-iterator-function.patch +++ b/driver-core/block-make-blk_lookup_devt-use-the-class-iterator-function.patch @@ -15,7 +15,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/block/genhd.c +++ b/block/genhd.c -@@ -665,24 +665,38 @@ void genhd_media_change_notify(struct ge +@@ -677,24 +677,38 @@ void genhd_media_change_notify(struct ge EXPORT_SYMBOL_GPL(genhd_media_change_notify); #endif /* 0 */ diff --git a/driver-core/block-make-printk_partition-use-the-class-iterator-function.patch b/driver-core/block-make-printk_partition-use-the-class-iterator-function.patch index 2b3d2189713873..c10caef4ef368d 100644 --- a/driver-core/block-make-printk_partition-use-the-class-iterator-function.patch +++ b/driver-core/block-make-printk_partition-use-the-class-iterator-function.patch @@ -15,7 +15,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/block/genhd.c +++ b/block/genhd.c -@@ -225,58 +225,65 @@ struct gendisk *get_gendisk(dev_t devt, +@@ -227,58 +227,65 @@ struct gendisk *get_gendisk(dev_t devt, } /* diff --git a/driver-core/block-make-proc-diskstats-only-build-if-config_proc_fs-is-enabled.patch b/driver-core/block-make-proc-diskstats-only-build-if-config_proc_fs-is-enabled.patch index 12a05bbfbd310b..7698166c76f4c5 100644 --- a/driver-core/block-make-proc-diskstats-only-build-if-config_proc_fs-is-enabled.patch +++ b/driver-core/block-make-proc-diskstats-only-build-if-config_proc_fs-is-enabled.patch @@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/block/genhd.c +++ b/block/genhd.c -@@ -532,6 +532,7 @@ static struct device_type disk_type = { +@@ -544,6 +544,7 @@ static struct device_type disk_type = { .release = disk_release, }; @@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> /* * aggregate disk stat collector. Uses the same stats that the sysfs * entries do, above, but makes them available through one seq_file. -@@ -641,6 +642,7 @@ const struct seq_operations diskstats_op +@@ -653,6 +654,7 @@ const struct seq_operations diskstats_op .stop = diskstats_stop, .show = diskstats_show }; diff --git a/driver-core/block-make-proc-files-seq_start-use-the-class_find_device.patch b/driver-core/block-make-proc-files-seq_start-use-the-class_find_device.patch index 5def41c39c2700..10bb5d2d9a944b 100644 --- a/driver-core/block-make-proc-files-seq_start-use-the-class_find_device.patch +++ b/driver-core/block-make-proc-files-seq_start-use-the-class_find_device.patch @@ -15,7 +15,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/block/genhd.c +++ b/block/genhd.c -@@ -289,18 +289,25 @@ void __init printk_all_partitions(void) +@@ -291,18 +291,25 @@ void __init printk_all_partitions(void) #ifdef CONFIG_PROC_FS /* iterator */ @@ -48,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return NULL; } -@@ -543,16 +550,12 @@ static struct device_type disk_type = { +@@ -555,16 +562,12 @@ static struct device_type disk_type = { static void *diskstats_start(struct seq_file *part, loff_t *pos) { diff --git a/driver-core/block-make-proc-partitions-and-proc-diskstats-use-class_find_device.patch b/driver-core/block-make-proc-partitions-and-proc-diskstats-use-class_find_device.patch index 6d282a9e00cd2f..b8e2c54636fb6d 100644 --- a/driver-core/block-make-proc-partitions-and-proc-diskstats-use-class_find_device.patch +++ b/driver-core/block-make-proc-partitions-and-proc-diskstats-use-class_find_device.patch @@ -15,7 +15,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/block/genhd.c +++ b/block/genhd.c -@@ -315,17 +315,21 @@ static void *part_start(struct seq_file +@@ -317,17 +317,21 @@ static void *part_start(struct seq_file return NULL; } @@ -43,7 +43,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return NULL; } -@@ -566,12 +570,9 @@ static void *diskstats_next(struct seq_f +@@ -578,12 +582,9 @@ static void *diskstats_next(struct seq_f struct device *dev; ++*pos; diff --git a/driver-core/block-move-header-for-proc-partitions-to-seq_start.patch b/driver-core/block-move-header-for-proc-partitions-to-seq_start.patch index 3b23d17b6d117e..2ad62be9abef42 100644 --- a/driver-core/block-move-header-for-proc-partitions-to-seq_start.patch +++ b/driver-core/block-move-header-for-proc-partitions-to-seq_start.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/block/genhd.c +++ b/block/genhd.c -@@ -303,6 +303,10 @@ static int find_start(struct device *dev +@@ -305,6 +305,10 @@ static int find_start(struct device *dev static void *part_start(struct seq_file *part, loff_t *pos) { struct device *dev; @@ -28,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> mutex_lock(&block_class_lock); dev = class_find_device(&block_class, NULL, (void *)pos, find_start); -@@ -336,9 +340,6 @@ static int show_partition(struct seq_fil +@@ -338,9 +342,6 @@ static int show_partition(struct seq_fil int n; char buf[BDEVNAME_SIZE]; diff --git a/driver-core/bluetooth-treat-firmware-data-as-const.patch b/driver-core/bluetooth-treat-firmware-data-as-const.patch deleted file mode 100644 index 4643e695ec2ab2..00000000000000 --- a/driver-core/bluetooth-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,37 +0,0 @@ -From e6df39e08fda032bdf6a5e8268c7a27bc3682cc6 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Fri, 23 May 2008 23:56:51 +0100 -Subject: bluetooth: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/bluetooth/bfusb.c | 3 ++- - drivers/bluetooth/bt3c_cs.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - ---- a/drivers/bluetooth/bfusb.c -+++ b/drivers/bluetooth/bfusb.c -@@ -566,7 +566,8 @@ static int bfusb_ioctl(struct hci_dev *h - return -ENOIOCTLCMD; - } - --static int bfusb_load_firmware(struct bfusb_data *data, unsigned char *firmware, int count) -+static int bfusb_load_firmware(struct bfusb_data *data, -+ const unsigned char *firmware, int count) - { - unsigned char *buf; - int err, pipe, len, size, sent = 0; ---- a/drivers/bluetooth/bt3c_cs.c -+++ b/drivers/bluetooth/bt3c_cs.c -@@ -470,7 +470,8 @@ static int bt3c_hci_ioctl(struct hci_dev - /* ======================== Card services HCI interaction ======================== */ - - --static int bt3c_load_firmware(bt3c_info_t *info, unsigned char *firmware, int count) -+static int bt3c_load_firmware(bt3c_info_t *info, const unsigned char *firmware, -+ int count) - { - char *ptr = (char *) firmware; - char b[9]; diff --git a/driver-core/bt8xx-treat-firmware-data-as-const.patch b/driver-core/bt8xx-treat-firmware-data-as-const.patch deleted file mode 100644 index 0807a433423b82..00000000000000 --- a/driver-core/bt8xx-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 107bfa84357daa131d34b28a835655f780740255 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:11:44 +0100 -Subject: bt8xx: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/media/video/bt8xx/bttv-cards.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/media/video/bt8xx/bttv-cards.c -+++ b/drivers/media/video/bt8xx/bttv-cards.c -@@ -3768,7 +3768,8 @@ static int terratec_active_radio_upgrade - #define BTTV_ALT_DCLK 0x100000 - #define BTTV_ALT_NCONFIG 0x800000 - --static int __devinit pvr_altera_load(struct bttv *btv, u8 *micro, u32 microlen) -+static int __devinit pvr_altera_load(struct bttv *btv, const u8 *micro, -+ u32 microlen) - { - u32 n; - u8 bits; diff --git a/driver-core/class-add-lockdep-infrastructure.patch b/driver-core/class-add-lockdep-infrastructure.patch index 2feb9ea80f1e83..9f1a91d960950c 100644 --- a/driver-core/class-add-lockdep-infrastructure.patch +++ b/driver-core/class-add-lockdep-infrastructure.patch @@ -92,7 +92,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #include <linux/compiler.h> #include <linux/types.h> #include <linux/module.h> -@@ -200,8 +201,18 @@ struct class { +@@ -205,8 +206,18 @@ struct class { extern struct kobject *sysfs_dev_block_kobj; extern struct kobject *sysfs_dev_char_kobj; @@ -112,7 +112,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> extern int class_for_each_device(struct class *class, struct device *start, void *data, int (*fn)(struct device *dev, void *data)); -@@ -234,9 +245,19 @@ struct class_interface { +@@ -239,9 +250,19 @@ struct class_interface { extern int __must_check class_interface_register(struct class_interface *); extern void class_interface_unregister(struct class_interface *); diff --git a/driver-core/class-move-driver-core-specific-parts-to-a-private-structure.patch b/driver-core/class-move-driver-core-specific-parts-to-a-private-structure.patch index 4d2d549cded627..45682e46081a01 100644 --- a/driver-core/class-move-driver-core-specific-parts-to-a-private-structure.patch +++ b/driver-core/class-move-driver-core-specific-parts-to-a-private-structure.patch @@ -16,8 +16,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/base/base.h | 27 ++++++++++++++ drivers/base/class.c | 89 ++++++++++++++++++++++++++----------------------- drivers/base/core.c | 57 ++++++++++++++++--------------- - include/linux/device.h | 8 +--- - 4 files changed, 109 insertions(+), 72 deletions(-) + include/linux/device.h | 7 +-- + 4 files changed, 108 insertions(+), 72 deletions(-) --- a/drivers/base/base.h +++ b/drivers/base/base.h @@ -455,7 +455,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> struct bus_type; struct bus_type_private; -@@ -182,11 +183,6 @@ struct class { +@@ -186,11 +187,6 @@ struct class { const char *name; struct module *owner; @@ -467,11 +467,10 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> struct class_attribute *class_attrs; struct device_attribute *dev_attrs; struct kobject *dev_kobj; -@@ -198,6 +194,8 @@ struct class { - - int (*suspend)(struct device *dev, pm_message_t state); +@@ -204,6 +200,7 @@ struct class { int (*resume)(struct device *dev); -+ + + struct pm_ops *pm; + struct class_private *p; }; diff --git a/driver-core/cx25840-treat-firmware-data-as-const.patch b/driver-core/cx25840-treat-firmware-data-as-const.patch deleted file mode 100644 index e24dead1992c02..00000000000000 --- a/driver-core/cx25840-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,74 +0,0 @@ -From e227b094f1dddfb7f3c562f5cee11929e621776d Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Fri, 23 May 2008 23:58:24 +0100 -Subject: cx25840: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Acked-by: Hans Verkuil <hverkuil@xs4all.nl> -Acked-by: Tyler Trafford <ttrafford@gmail.com> -Acked-by: Mike Isely <isely@pobox.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/media/video/cx25840/cx25840-firmware.c | 27 ++++++++++--------------- - 1 file changed, 11 insertions(+), 16 deletions(-) - ---- a/drivers/media/video/cx25840/cx25840-firmware.c -+++ b/drivers/media/video/cx25840/cx25840-firmware.c -@@ -79,7 +79,7 @@ static int check_fw_load(struct i2c_clie - return 0; - } - --static int fw_write(struct i2c_client *client, u8 *data, int size) -+static int fw_write(struct i2c_client *client, const u8 *data, int size) - { - if (i2c_master_send(client, data, size) < size) { - v4l_err(client, "firmware load i2c failure\n"); -@@ -93,7 +93,8 @@ int cx25840_loadfw(struct i2c_client *cl - { - struct cx25840_state *state = i2c_get_clientdata(client); - const struct firmware *fw = NULL; -- u8 buffer[4], *ptr; -+ u8 buffer[FWSEND]; -+ const u8 *ptr; - int size, retval; - - if (state->is_cx23885) -@@ -108,29 +109,23 @@ int cx25840_loadfw(struct i2c_client *cl - - buffer[0] = 0x08; - buffer[1] = 0x02; -- buffer[2] = fw->data[0]; -- buffer[3] = fw->data[1]; -- retval = fw_write(client, buffer, 4); -- -- if (retval < 0) { -- release_firmware(fw); -- return retval; -- } - -- size = fw->size - 2; -+ size = fw->size; - ptr = fw->data; - while (size > 0) { -- ptr[0] = 0x08; -- ptr[1] = 0x02; -- retval = fw_write(client, ptr, min(FWSEND, size + 2)); -+ int len = min(FWSEND - 2, size); -+ -+ memcpy(buffer + 2, ptr, len); -+ -+ retval = fw_write(client, buffer, len + 2); - - if (retval < 0) { - release_firmware(fw); - return retval; - } - -- size -= FWSEND - 2; -- ptr += FWSEND - 2; -+ size -= len; -+ ptr += len; - } - - end_fw_load(client); diff --git a/driver-core/cxacru-treat-firmware-data-as-const.patch b/driver-core/cxacru-treat-firmware-data-as-const.patch deleted file mode 100644 index 3fc3f343d76ec9..00000000000000 --- a/driver-core/cxacru-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,23 +0,0 @@ -From ced577820467f77c9b2ab768dba9737524119547 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:05:28 +0100 -Subject: cxacru: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/atm/cxacru.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/atm/cxacru.c -+++ b/drivers/usb/atm/cxacru.c -@@ -820,7 +820,7 @@ reschedule: - } - - static int cxacru_fw(struct usb_device *usb_dev, enum cxacru_fw_request fw, -- u8 code1, u8 code2, u32 addr, u8 *data, int size) -+ u8 code1, u8 code2, u32 addr, const u8 *data, int size) - { - int ret; - u8 *buf; diff --git a/driver-core/cxgb3-treat-firmware-data-as-const.patch b/driver-core/cxgb3-treat-firmware-data-as-const.patch deleted file mode 100644 index f3e6071a332517..00000000000000 --- a/driver-core/cxgb3-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 35060a5c068f6438cf9a914ea0e9516988122d37 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:10:55 +0100 -Subject: cxgb3: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/net/cxgb3/common.h | 5 +++-- - drivers/net/cxgb3/t3_hw.c | 7 ++++--- - 2 files changed, 7 insertions(+), 5 deletions(-) - ---- a/drivers/net/cxgb3/common.h -+++ b/drivers/net/cxgb3/common.h -@@ -686,8 +686,9 @@ int t3_seeprom_write(struct adapter *ada - int t3_seeprom_wp(struct adapter *adapter, int enable); - int t3_get_tp_version(struct adapter *adapter, u32 *vers); - int t3_check_tpsram_version(struct adapter *adapter, int *must_load); --int t3_check_tpsram(struct adapter *adapter, u8 *tp_ram, unsigned int size); --int t3_set_proto_sram(struct adapter *adap, u8 *data); -+int t3_check_tpsram(struct adapter *adapter, const u8 *tp_ram, -+ unsigned int size); -+int t3_set_proto_sram(struct adapter *adap, const u8 *data); - int t3_read_flash(struct adapter *adapter, unsigned int addr, - unsigned int nwords, u32 *data, int byte_oriented); - int t3_load_fw(struct adapter *adapter, const u8 * fw_data, unsigned int size); ---- a/drivers/net/cxgb3/t3_hw.c -+++ b/drivers/net/cxgb3/t3_hw.c -@@ -923,7 +923,8 @@ int t3_check_tpsram_version(struct adapt - * Checks if an adapter's tp sram is compatible with the driver. - * Returns 0 if the versions are compatible, a negative error otherwise. - */ --int t3_check_tpsram(struct adapter *adapter, u8 *tp_sram, unsigned int size) -+int t3_check_tpsram(struct adapter *adapter, const u8 *tp_sram, -+ unsigned int size) - { - u32 csum; - unsigned int i; -@@ -2875,10 +2876,10 @@ static void ulp_config(struct adapter *a - * - * Write the contents of the protocol SRAM. - */ --int t3_set_proto_sram(struct adapter *adap, u8 *data) -+int t3_set_proto_sram(struct adapter *adap, const u8 *data) - { - int i; -- __be32 *buf = (__be32 *)data; -+ const __be32 *buf = (const __be32 *)data; - - for (i = 0; i < PROTO_SRAM_LINES; i++) { - t3_write_reg(adap, A_TP_EMBED_OP_FIELD5, be32_to_cpu(*buf++)); diff --git a/driver-core/cxusb-treat-firmware-data-as-const.patch b/driver-core/cxusb-treat-firmware-data-as-const.patch deleted file mode 100644 index 534add23d65952..00000000000000 --- a/driver-core/cxusb-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 4b038ffbd42addad2b2acb1a97e7e5ec2db26f0f Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:12:42 +0100 -Subject: cxusb: treat firmware data as const - -...which means allocating our own copy when we want to modify it. - -(stupid thinko fixed by mkrufky) - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/media/dvb/dvb-usb/cxusb.c | 21 ++++++++++++++++++--- - 1 file changed, 18 insertions(+), 3 deletions(-) - ---- a/drivers/media/dvb/dvb-usb/cxusb.c -+++ b/drivers/media/dvb/dvb-usb/cxusb.c -@@ -24,6 +24,7 @@ - * see Documentation/dvb/README.dvb-usb for more information - */ - #include <media/tuner.h> -+#include <linux/vmalloc.h> - - #include "cxusb.h" - -@@ -700,12 +701,26 @@ static int bluebird_patch_dvico_firmware - - if (fw->data[idoff] == (USB_VID_DVICO & 0xff) && - fw->data[idoff + 1] == USB_VID_DVICO >> 8) { -- fw->data[idoff + 2] = -+ struct firmware new_fw; -+ u8 *new_fw_data = vmalloc(fw->size); -+ int ret; -+ -+ if (!new_fw_data) -+ return -ENOMEM; -+ -+ memcpy(new_fw_data, fw->data, fw->size); -+ new_fw.size = fw->size; -+ new_fw.data = new_fw_data; -+ -+ new_fw_data[idoff + 2] = - le16_to_cpu(udev->descriptor.idProduct) + 1; -- fw->data[idoff + 3] = -+ new_fw_data[idoff + 3] = - le16_to_cpu(udev->descriptor.idProduct) >> 8; - -- return usb_cypress_load_firmware(udev, fw, CYPRESS_FX2); -+ ret = usb_cypress_load_firmware(udev, &new_fw, -+ CYPRESS_FX2); -+ vfree(new_fw_data); -+ return ret; - } - } - diff --git a/driver-core/cyclades-treat-firmware-data-as-const.patch b/driver-core/cyclades-treat-firmware-data-as-const.patch deleted file mode 100644 index 84d5cc7315aa61..00000000000000 --- a/driver-core/cyclades-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 416f1a6941ca4693737700095344934d84806b62 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Fri, 23 May 2008 23:57:19 +0100 -Subject: cyclades: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/char/cyclades.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/drivers/char/cyclades.c -+++ b/drivers/char/cyclades.c -@@ -4668,7 +4668,7 @@ static inline int __devinit cyc_isfwstr( - return 0; - } - --static inline void __devinit cyz_fpga_copy(void __iomem *fpga, u8 *data, -+static inline void __devinit cyz_fpga_copy(void __iomem *fpga, const u8 *data, - unsigned int size) - { - for (; size > 0; size--) { -@@ -4701,10 +4701,10 @@ static int __devinit __cyz_load_fw(const - const char *name, const u32 mailbox, void __iomem *base, - void __iomem *fpga) - { -- void *ptr = fw->data; -- struct zfile_header *h = ptr; -- struct zfile_config *c, *cs; -- struct zfile_block *b, *bs; -+ const void *ptr = fw->data; -+ const struct zfile_header *h = ptr; -+ const struct zfile_config *c, *cs; -+ const struct zfile_block *b, *bs; - unsigned int a, tmp, len = fw->size; - #define BAD_FW KERN_ERR "Bad firmware: " - if (len < sizeof(*h)) { diff --git a/driver-core/dell_rbu-firmware-data-is-const.patch b/driver-core/dell_rbu-firmware-data-is-const.patch deleted file mode 100644 index 2aef7e42419443..00000000000000 --- a/driver-core/dell_rbu-firmware-data-is-const.patch +++ /dev/null @@ -1,24 +0,0 @@ -From foo@baz Tue Apr 9 12:12:43 2002 -Date: Thu, 29 May 2008 10:05:08 -0700 -To: Greg KH <greg@kroah.com> -From: Greg Kroah-Hartman <gregkh@suse.de> -Subject: dell_rbu: firmware data is const - -Cc: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/firmware/dell_rbu.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/firmware/dell_rbu.c -+++ b/drivers/firmware/dell_rbu.c -@@ -220,7 +220,7 @@ out_noalloc: - return retval; - } - --static int packetize_data(void *data, size_t length) -+static int packetize_data(const u8 *data, size_t length) - { - int rc = 0; - int done = 0; diff --git a/driver-core/device-create-block-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-block-convert-device_create-to-device_create_drvdata.patch index e2488b3b05cb52..cfdacad58eb46b 100644 --- a/driver-core/device-create-block-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-block-convert-device_create-to-device_create_drvdata.patch @@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/block/bsg.c +++ b/block/bsg.c -@@ -1020,7 +1020,8 @@ int bsg_register_queue(struct request_qu +@@ -1044,7 +1044,8 @@ int bsg_register_queue(struct request_qu bcd->release = release; kref_init(&bcd->ref); dev = MKDEV(bsg_major, bcd->minor); @@ -33,7 +33,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> goto put_dev; --- a/drivers/block/aoe/aoechr.c +++ b/drivers/block/aoe/aoechr.c -@@ -272,8 +272,9 @@ aoechr_init(void) +@@ -277,8 +277,9 @@ aoechr_init(void) return PTR_ERR(aoe_class); } for (i = 0; i < ARRAY_SIZE(chardevs); ++i) @@ -47,7 +47,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } --- a/drivers/block/paride/pg.c +++ b/drivers/block/paride/pg.c -@@ -676,8 +676,9 @@ static int __init pg_init(void) +@@ -686,8 +686,9 @@ static int __init pg_init(void) for (unit = 0; unit < PG_UNITS; unit++) { struct pg *dev = &devices[unit]; if (dev->present) @@ -61,7 +61,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> goto out; --- a/drivers/block/paride/pt.c +++ b/drivers/block/paride/pt.c -@@ -972,10 +972,12 @@ static int __init pt_init(void) +@@ -979,10 +979,12 @@ static int __init pt_init(void) for (unit = 0; unit < PT_UNITS; unit++) if (pt[unit].present) { @@ -80,7 +80,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c -@@ -302,7 +302,9 @@ static struct kobj_type kobj_pkt_type_wq +@@ -303,7 +303,9 @@ static struct kobj_type kobj_pkt_type_wq static void pkt_sysfs_dev_new(struct pktcdvd_device *pd) { if (class_pktcdvd) { diff --git a/driver-core/device-create-char-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-char-convert-device_create-to-device_create_drvdata.patch index 28fd456aca682e..3e82273523bbab 100644 --- a/driver-core/device-create-char-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-char-convert-device_create-to-device_create_drvdata.patch @@ -34,7 +34,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/char/dsp56k.c +++ b/drivers/char/dsp56k.c -@@ -513,7 +513,8 @@ static int __init dsp56k_init_driver(voi +@@ -500,7 +500,8 @@ static int __init dsp56k_init_driver(voi err = PTR_ERR(dsp56k_class); goto out_chrdev; } @@ -46,7 +46,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> goto out; --- a/drivers/char/ip2/ip2main.c +++ b/drivers/char/ip2/ip2main.c -@@ -692,12 +692,12 @@ ip2_loadmain(int *iop, int *irqp, unsign +@@ -718,12 +718,12 @@ ip2_loadmain(int *iop, int *irqp) } if ( NULL != ( pB = i2BoardPtrTable[i] ) ) { @@ -67,7 +67,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { --- a/drivers/char/ipmi/ipmi_devintf.c +++ b/drivers/char/ipmi/ipmi_devintf.c -@@ -865,7 +865,7 @@ static void ipmi_new_smi(int if_num, str +@@ -871,7 +871,7 @@ static void ipmi_new_smi(int if_num, str entry->dev = dev; mutex_lock(®_list_mutex); @@ -92,7 +92,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> err_deinit: --- a/drivers/char/lp.c +++ b/drivers/char/lp.c -@@ -799,7 +799,8 @@ static int lp_register(int nr, struct pa +@@ -813,7 +813,8 @@ static int lp_register(int nr, struct pa if (reset) lp_reset(nr); @@ -104,7 +104,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> (port->irq == PARPORT_IRQ_NONE)?"polling":"interrupt-driven"); --- a/drivers/char/mem.c +++ b/drivers/char/mem.c -@@ -983,9 +983,9 @@ static int __init chr_dev_init(void) +@@ -989,9 +989,9 @@ static int __init chr_dev_init(void) mem_class = class_create(THIS_MODULE, "mem"); for (i = 0; i < ARRAY_SIZE(devlist); i++) @@ -119,7 +119,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } --- a/drivers/char/misc.c +++ b/drivers/char/misc.c -@@ -214,8 +214,8 @@ int misc_register(struct miscdevice * mi +@@ -217,8 +217,8 @@ int misc_register(struct miscdevice * mi misc_minors[misc->minor >> 3] |= 1 << (misc->minor & 7); dev = MKDEV(MISC_MAJOR, misc->minor); @@ -132,7 +132,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> goto out; --- a/drivers/char/pcmcia/cm4000_cs.c +++ b/drivers/char/pcmcia/cm4000_cs.c -@@ -1864,7 +1864,7 @@ static int cm4000_probe(struct pcmcia_de +@@ -1896,7 +1896,7 @@ static int cm4000_probe(struct pcmcia_de return ret; } @@ -143,7 +143,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } --- a/drivers/char/pcmcia/cm4040_cs.c +++ b/drivers/char/pcmcia/cm4040_cs.c -@@ -642,7 +642,8 @@ static int reader_probe(struct pcmcia_de +@@ -653,7 +653,8 @@ static int reader_probe(struct pcmcia_de return ret; } @@ -155,7 +155,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } --- a/drivers/char/ppdev.c +++ b/drivers/char/ppdev.c -@@ -750,8 +750,9 @@ static const struct file_operations pp_f +@@ -752,8 +752,9 @@ static const struct file_operations pp_f static void pp_attach(struct parport *port) { @@ -169,7 +169,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> static void pp_detach(struct parport *port) --- a/drivers/char/raw.c +++ b/drivers/char/raw.c -@@ -128,8 +128,8 @@ raw_ioctl(struct inode *inode, struct fi +@@ -131,8 +131,8 @@ raw_ioctl(struct inode *inode, struct fi static void bind_device(struct raw_config_request *rq) { device_destroy(raw_class, MKDEV(RAW_MAJOR, rq->raw_minor)); @@ -180,7 +180,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } /* -@@ -280,7 +280,8 @@ static int __init raw_init(void) +@@ -283,7 +283,8 @@ static int __init raw_init(void) ret = PTR_ERR(raw_class); goto error_region; } @@ -192,7 +192,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/char/snsc.c +++ b/drivers/char/snsc.c -@@ -441,7 +441,8 @@ scdrv_init(void) +@@ -444,7 +444,8 @@ scdrv_init(void) continue; } @@ -217,7 +217,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> err_unrtty: --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c -@@ -3896,7 +3896,7 @@ struct device *tty_register_device(struc +@@ -3923,7 +3923,7 @@ struct device *tty_register_device(struc else tty_line_name(driver, index, name); @@ -226,7 +226,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } /** -@@ -4174,20 +4174,22 @@ static int __init tty_init(void) +@@ -4201,20 +4201,22 @@ static int __init tty_init(void) if (cdev_add(&tty_cdev, MKDEV(TTYAUX_MAJOR, 0), 1) || register_chrdev_region(MKDEV(TTYAUX_MAJOR, 0), 1, "/dev/tty") < 0) panic("Couldn't register /dev/tty driver\n"); @@ -252,7 +252,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #endif #ifdef CONFIG_VT -@@ -4195,7 +4197,7 @@ static int __init tty_init(void) +@@ -4222,7 +4224,7 @@ static int __init tty_init(void) if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) || register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0) panic("Couldn't register /dev/tty0 driver\n"); @@ -263,7 +263,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #endif --- a/drivers/char/vc_screen.c +++ b/drivers/char/vc_screen.c -@@ -476,10 +476,10 @@ static struct class *vc_class; +@@ -481,10 +481,10 @@ static struct class *vc_class; void vcs_make_sysfs(struct tty_struct *tty) { @@ -278,7 +278,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } void vcs_remove_sysfs(struct tty_struct *tty) -@@ -494,7 +494,7 @@ int __init vcs_init(void) +@@ -499,7 +499,7 @@ int __init vcs_init(void) panic("unable to get major %d for vcs device", VCS_MAJOR); vc_class = class_create(THIS_MODULE, "vc"); @@ -290,7 +290,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } --- a/drivers/char/viotape.c +++ b/drivers/char/viotape.c -@@ -872,10 +872,10 @@ static int viotape_probe(struct vio_dev +@@ -886,10 +886,10 @@ static int viotape_probe(struct vio_dev state[i].cur_part = 0; for (j = 0; j < MAX_PARTITIONS; ++j) state[i].part_stat_rwi[j] = VIOT_IDLE; @@ -337,7 +337,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> printk(KERN_WARNING "Unable to create " --- a/drivers/char/xilinx_hwicap/xilinx_hwicap.c +++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.c -@@ -654,8 +654,9 @@ static int __devinit hwicap_setup(struct +@@ -658,8 +658,9 @@ static int __devinit hwicap_setup(struct dev_err(dev, "cdev_add() failed\n"); goto failed3; } diff --git a/driver-core/device-create-dvb-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-dvb-convert-device_create-to-device_create_drvdata.patch index e9588f49945184..66ddfafda935ac 100644 --- a/driver-core/device-create-dvb-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-dvb-convert-device_create-to-device_create_drvdata.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/media/dvb/dvb-core/dvbdev.c +++ b/drivers/media/dvb/dvb-core/dvbdev.c -@@ -229,9 +229,9 @@ int dvb_register_device(struct dvb_adapt +@@ -233,9 +233,9 @@ int dvb_register_device(struct dvb_adapt mutex_unlock(&dvbdev_register_lock); diff --git a/driver-core/device-create-framebuffer-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-framebuffer-convert-device_create-to-device_create_drvdata.patch index ea71708ee186c2..772e30b20bbc72 100644 --- a/driver-core/device-create-framebuffer-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-framebuffer-convert-device_create-to-device_create_drvdata.patch @@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> printk(KERN_WARNING "Unable to create device " --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c -@@ -1432,8 +1432,9 @@ register_framebuffer(struct fb_info *fb_ +@@ -1439,8 +1439,9 @@ register_framebuffer(struct fb_info *fb_ break; fb_info->node = i; diff --git a/driver-core/device-create-hid-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-hid-convert-device_create-to-device_create_drvdata.patch index 37dd3a4a1cc9a5..ad5fcb87c8e88d 100644 --- a/driver-core/device-create-hid-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-hid-convert-device_create-to-device_create_drvdata.patch @@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/hid/hidraw.c +++ b/drivers/hid/hidraw.c -@@ -319,8 +319,9 @@ int hidraw_connect(struct hid_device *hi +@@ -322,8 +322,9 @@ int hidraw_connect(struct hid_device *hi goto out; } diff --git a/driver-core/device-create-i2c-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-i2c-convert-device_create-to-device_create_drvdata.patch index a27ea41e84ff85..abbdfc3ee05202 100644 --- a/driver-core/device-create-i2c-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-i2c-convert-device_create-to-device_create_drvdata.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/i2c/i2c-dev.c +++ b/drivers/i2c/i2c-dev.c -@@ -512,9 +512,9 @@ static int i2cdev_attach_adapter(struct +@@ -521,9 +521,9 @@ static int i2cdev_attach_adapter(struct return PTR_ERR(i2c_dev); /* register this i2c device with the driver core */ diff --git a/driver-core/device-create-ide-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-ide-convert-device_create-to-device_create_drvdata.patch index 7a23c1d7594380..29c299d39e8148 100644 --- a/driver-core/device-create-ide-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-ide-convert-device_create-to-device_create_drvdata.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c -@@ -2938,10 +2938,12 @@ static int ide_tape_probe(ide_drive_t *d +@@ -2697,10 +2697,12 @@ static int ide_tape_probe(ide_drive_t *d idetape_setup(drive, tape, minor); diff --git a/driver-core/device-create-ieee1394-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-ieee1394-convert-device_create-to-device_create_drvdata.patch index 43a75a1c02a048..04f95fe20e52b3 100644 --- a/driver-core/device-create-ieee1394-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-ieee1394-convert-device_create-to-device_create_drvdata.patch @@ -36,7 +36,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> dv1394_init(ohci, DV1394_NTSC, MODE_TRANSMIT); --- a/drivers/ieee1394/raw1394.c +++ b/drivers/ieee1394/raw1394.c -@@ -3000,10 +3000,10 @@ static int __init init_raw1394(void) +@@ -3010,10 +3010,10 @@ static int __init init_raw1394(void) hpsb_register_highlevel(&raw1394_highlevel); if (IS_ERR diff --git a/driver-core/device-create-infiniband-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-infiniband-convert-device_create-to-device_create_drvdata.patch index 28e40de52310a7..e12e0623c58f44 100644 --- a/driver-core/device-create-infiniband-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-infiniband-convert-device_create-to-device_create_drvdata.patch @@ -20,7 +20,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/infiniband/hw/ipath/ipath_file_ops.c +++ b/drivers/infiniband/hw/ipath/ipath_file_ops.c -@@ -2453,7 +2453,7 @@ static int init_cdev(int minor, char *na +@@ -2455,7 +2455,7 @@ static int init_cdev(int minor, char *na goto err_cdev; } diff --git a/driver-core/device-create-isdn-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-isdn-convert-device_create-to-device_create_drvdata.patch index 538712cec57887..46acbd1ba5318c 100644 --- a/driver-core/device-create-isdn-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-isdn-convert-device_create-to-device_create_drvdata.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/isdn/capi/capi.c +++ b/drivers/isdn/capi/capi.c -@@ -1547,7 +1547,8 @@ static int __init capi_init(void) +@@ -1552,7 +1552,8 @@ static int __init capi_init(void) return PTR_ERR(capi_class); } diff --git a/driver-core/device-create-macintosh-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-macintosh-convert-device_create-to-device_create_drvdata.patch index 735bf2d147443d..dadf460c33ca46 100644 --- a/driver-core/device-create-macintosh-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-macintosh-convert-device_create-to-device_create_drvdata.patch @@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/macintosh/adb.c +++ b/drivers/macintosh/adb.c -@@ -855,7 +855,8 @@ adbdev_init(void) +@@ -862,7 +862,8 @@ adbdev_init(void) adb_dev_class = class_create(THIS_MODULE, "adb"); if (IS_ERR(adb_dev_class)) return; diff --git a/driver-core/device-create-mips-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-mips-convert-device_create-to-device_create_drvdata.patch index c3002a5dd8bb4c..0dff221e05e0cd 100644 --- a/driver-core/device-create-mips-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-mips-convert-device_create-to-device_create_drvdata.patch @@ -19,7 +19,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/arch/mips/kernel/rtlx.c +++ b/arch/mips/kernel/rtlx.c -@@ -517,8 +517,8 @@ static int __init rtlx_module_init(void) +@@ -522,8 +522,8 @@ static int __init rtlx_module_init(void) atomic_set(&channel_wqs[i].in_open, 0); mutex_init(&channel_wqs[i].mutex); @@ -32,7 +32,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> goto out_chrdev; --- a/arch/mips/sibyte/common/sb_tbprof.c +++ b/arch/mips/sibyte/common/sb_tbprof.c -@@ -565,7 +565,8 @@ static int __init sbprof_tb_init(void) +@@ -576,7 +576,8 @@ static int __init sbprof_tb_init(void) tb_class = tbc; diff --git a/driver-core/device-create-misc-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-misc-convert-device_create-to-device_create_drvdata.patch index 7a50ffd91fc513..e81e2e74201d2e 100644 --- a/driver-core/device-create-misc-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-misc-convert-device_create-to-device_create_drvdata.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/misc/phantom.c +++ b/drivers/misc/phantom.c -@@ -394,8 +394,9 @@ static int __devinit phantom_probe(struc +@@ -399,8 +399,9 @@ static int __devinit phantom_probe(struc goto err_irq; } diff --git a/driver-core/device-create-mtd-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-mtd-convert-device_create-to-device_create_drvdata.patch index 2a8b7bd27ae23d..0924895b4c4641 100644 --- a/driver-core/device-create-mtd-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-mtd-convert-device_create-to-device_create_drvdata.patch @@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/mtd/mtdchar.c +++ b/drivers/mtd/mtdchar.c -@@ -27,10 +27,13 @@ static void mtd_notify_add(struct mtd_in +@@ -28,10 +28,13 @@ static void mtd_notify_add(struct mtd_in if (!mtd) return; diff --git a/driver-core/device-create-net-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-net-convert-device_create-to-device_create_drvdata.patch index 8f616229f3d1b8..f87a4536adb31c 100644 --- a/driver-core/device-create-net-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-net-convert-device_create-to-device_create_drvdata.patch @@ -19,7 +19,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/net/ppp_generic.c +++ b/drivers/net/ppp_generic.c -@@ -856,7 +856,8 @@ static int __init ppp_init(void) +@@ -858,7 +858,8 @@ static int __init ppp_init(void) err = PTR_ERR(ppp_class); goto out_chrdev; } @@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> out: --- a/drivers/net/wan/cosa.c +++ b/drivers/net/wan/cosa.c -@@ -396,9 +396,9 @@ static int __init cosa_init(void) +@@ -397,9 +397,9 @@ static int __init cosa_init(void) err = PTR_ERR(cosa_class); goto out_chrdev; } diff --git a/driver-core/device-create-s390-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-s390-convert-device_create-to-device_create_drvdata.patch index 0d331cdbf6ceec..c47597583eb63d 100644 --- a/driver-core/device-create-s390-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-s390-convert-device_create-to-device_create_drvdata.patch @@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/s390/char/raw3270.c +++ b/drivers/s390/char/raw3270.c -@@ -1178,17 +1178,19 @@ static int raw3270_create_attributes(str +@@ -1168,17 +1168,19 @@ static int raw3270_create_attributes(str if (rc) goto out; @@ -65,7 +65,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> goto fail_with_cdev; --- a/drivers/s390/char/vmur.c +++ b/drivers/s390/char/vmur.c -@@ -889,8 +889,9 @@ static int ur_set_online(struct ccw_devi +@@ -896,8 +896,9 @@ static int ur_set_online(struct ccw_devi goto fail_free_cdev; } diff --git a/driver-core/device-create-scsi-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-scsi-convert-device_create-to-device_create_drvdata.patch index c25cd635ae4c13..4341bf7ca15bc0 100644 --- a/driver-core/device-create-scsi-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-scsi-convert-device_create-to-device_create_drvdata.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/scsi/dpt_i2o.c +++ b/drivers/scsi/dpt_i2o.c -@@ -270,8 +270,8 @@ rebuild_sys_tab: +@@ -271,8 +271,8 @@ rebuild_sys_tab: pHba->initialized = TRUE; pHba->state &= ~DPTI_STATE_RESET; if (adpt_sysfs_class) { diff --git a/driver-core/device-create-sound-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-sound-convert-device_create-to-device_create_drvdata.patch index 889c9baa3201dc..c2933b24b79d5e 100644 --- a/driver-core/device-create-sound-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-sound-convert-device_create-to-device_create_drvdata.patch @@ -20,7 +20,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/sound/core/init.c +++ b/sound/core/init.c -@@ -535,8 +535,9 @@ int snd_card_register(struct snd_card *c +@@ -548,8 +548,9 @@ int snd_card_register(struct snd_card *c snd_assert(card != NULL, return -EINVAL); #ifndef CONFIG_SYSFS_DEPRECATED if (!card->card_dev) { @@ -62,7 +62,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (sound_nblocks >= 1024) --- a/sound/sound_core.c +++ b/sound/sound_core.c -@@ -170,8 +170,9 @@ static int sound_insert_unit(struct soun +@@ -171,8 +171,9 @@ static int sound_insert_unit(struct soun else sprintf(s->name, "sound/%s%d", name, r / SOUND_STEP); diff --git a/driver-core/device-create-spi-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-spi-convert-device_create-to-device_create_drvdata.patch index aa5b567ba4b0b1..7ed51537e5653e 100644 --- a/driver-core/device-create-spi-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-spi-convert-device_create-to-device_create_drvdata.patch @@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -573,7 +573,8 @@ static int spidev_probe(struct spi_devic +@@ -576,7 +576,8 @@ static int spidev_probe(struct spi_devic struct device *dev; spidev->devt = MKDEV(SPIDEV_MAJOR, minor); @@ -32,7 +32,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> "spidev%d.%d", spi->master->bus_num, spi->chip_select); status = IS_ERR(dev) ? PTR_ERR(dev) : 0; -@@ -583,7 +584,6 @@ static int spidev_probe(struct spi_devic +@@ -586,7 +587,6 @@ static int spidev_probe(struct spi_devic } if (status == 0) { set_bit(minor, minors); diff --git a/driver-core/device-create-usb-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-usb-convert-device_create-to-device_create_drvdata.patch index 0761a0a643f2b4..bfe5cc4ea0a849 100644 --- a/driver-core/device-create-usb-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-usb-convert-device_create-to-device_create_drvdata.patch @@ -20,7 +20,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c -@@ -1687,9 +1687,13 @@ static int usb_classdev_add(struct usb_d +@@ -1689,9 +1689,13 @@ static int usb_classdev_add(struct usb_d { int minor = ((dev->bus->busnum-1) * 128) + (dev->devnum-1); @@ -39,7 +39,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/usb/core/file.c +++ b/drivers/usb/core/file.c -@@ -193,8 +193,9 @@ int usb_register_dev(struct usb_interfac +@@ -196,8 +196,9 @@ int usb_register_dev(struct usb_interfac ++temp; else temp = name; @@ -53,7 +53,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> usb_minors[intf->minor] = NULL; --- a/drivers/usb/gadget/printer.c +++ b/drivers/usb/gadget/printer.c -@@ -1360,8 +1360,8 @@ printer_bind(struct usb_gadget *gadget) +@@ -1361,8 +1361,8 @@ printer_bind(struct usb_gadget *gadget) /* Setup the sysfs files for the printer gadget. */ @@ -66,7 +66,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> goto fail; --- a/drivers/usb/mon/mon_bin.c +++ b/drivers/usb/mon/mon_bin.c -@@ -1156,8 +1156,9 @@ int mon_bin_add(struct mon_bus *mbus, co +@@ -1162,8 +1162,9 @@ int mon_bin_add(struct mon_bus *mbus, co if (minor >= MON_BIN_MAX_MINOR) return 0; diff --git a/driver-core/device-create-x86-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-x86-convert-device_create-to-device_create_drvdata.patch index a2b18148e26f3e..739bb45dfecea1 100644 --- a/driver-core/device-create-x86-convert-device_create-to-device_create_drvdata.patch +++ b/driver-core/device-create-x86-convert-device_create-to-device_create_drvdata.patch @@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/arch/x86/kernel/cpuid.c +++ b/arch/x86/kernel/cpuid.c -@@ -132,8 +132,8 @@ static __cpuinit int cpuid_device_create +@@ -141,8 +141,8 @@ static __cpuinit int cpuid_device_create { struct device *dev; @@ -34,7 +34,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/arch/x86/kernel/msr.c +++ b/arch/x86/kernel/msr.c -@@ -141,8 +141,8 @@ static int __cpuinit msr_device_create(i +@@ -149,8 +149,8 @@ static int __cpuinit msr_device_create(i { struct device *dev; diff --git a/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch b/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch index e0d5f086f7f2b4..c0a29b2d5d7aa6 100644 --- a/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch +++ b/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch @@ -17,14 +17,15 @@ Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- - drivers/base/class.c | 22 +++++++++++++--------- - drivers/base/core.c | 2 +- - drivers/ieee1394/nodemgr.c | 9 ++++++--- - drivers/rtc/interface.c | 2 +- - drivers/scsi/hosts.c | 3 ++- - drivers/spi/spi.c | 2 +- - include/linux/device.h | 3 ++- - 7 files changed, 26 insertions(+), 17 deletions(-) + drivers/base/class.c | 22 +++++++++++++--------- + drivers/base/core.c | 2 +- + drivers/ieee1394/nodemgr.c | 9 ++++++--- + drivers/rtc/interface.c | 2 +- + drivers/scsi/hosts.c | 3 ++- + drivers/scsi/scsi_transport_iscsi.c | 4 ++-- + drivers/spi/spi.c | 2 +- + include/linux/device.h | 3 ++- + 8 files changed, 28 insertions(+), 19 deletions(-) --- a/drivers/base/class.c +++ b/drivers/base/class.c @@ -139,6 +140,26 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (cdev) { shost = scsi_host_get(class_to_shost(cdev)); put_device(cdev); +--- a/drivers/scsi/scsi_transport_iscsi.c ++++ b/drivers/scsi/scsi_transport_iscsi.c +@@ -170,7 +170,7 @@ iscsi_create_endpoint(int dd_size) + int err; + + for (id = 1; id < ISCSI_MAX_EPID; id++) { +- dev = class_find_device(&iscsi_endpoint_class, &id, ++ dev = class_find_device(&iscsi_endpoint_class, NULL, &id, + iscsi_match_epid); + if (!dev) + break; +@@ -222,7 +222,7 @@ struct iscsi_endpoint *iscsi_lookup_endp + struct iscsi_endpoint *ep; + struct device *dev; + +- dev = class_find_device(&iscsi_endpoint_class, &handle, ++ dev = class_find_device(&iscsi_endpoint_class, NULL, &handle, + iscsi_match_epid); + if (!dev) + return NULL; --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -502,7 +502,7 @@ struct spi_master *spi_busnum_to_master( @@ -152,7 +173,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> master = container_of(dev, struct spi_master, dev); --- a/include/linux/device.h +++ b/include/linux/device.h -@@ -207,7 +207,8 @@ extern void class_unregister(struct clas +@@ -213,7 +213,8 @@ extern void class_unregister(struct clas extern int class_for_each_device(struct class *class, struct device *start, void *data, int (*fn)(struct device *dev, void *data)); diff --git a/driver-core/driver-core-add-ability-for-class_for_each_device-to-start-in-middle-of-list.patch b/driver-core/driver-core-add-ability-for-class_for_each_device-to-start-in-middle-of-list.patch index 394a70b3d763be..37e51d01b09e3d 100644 --- a/driver-core/driver-core-add-ability-for-class_for_each_device-to-start-in-middle-of-list.patch +++ b/driver-core/driver-core-add-ability-for-class_for_each_device-to-start-in-middle-of-list.patch @@ -18,11 +18,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- drivers/base/class.c | 21 +++++++++++++-------- + drivers/i2c/i2c-core.c | 6 ++++-- drivers/ieee1394/nodemgr.c | 14 +++++++++----- drivers/power/apm_power.c | 2 +- drivers/power/power_supply_core.c | 4 ++-- include/linux/device.h | 3 ++- - 5 files changed, 27 insertions(+), 17 deletions(-) + 6 files changed, 31 insertions(+), 19 deletions(-) --- a/drivers/base/class.c +++ b/drivers/base/class.c @@ -73,6 +74,28 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (error) break; } +--- a/drivers/i2c/i2c-core.c ++++ b/drivers/i2c/i2c-core.c +@@ -722,7 +722,8 @@ int i2c_register_driver(struct module *o + + INIT_LIST_HEAD(&driver->clients); + /* Walk the adapters that are already present */ +- class_for_each_device(&i2c_adapter_class, driver, __attach_adapter); ++ class_for_each_device(&i2c_adapter_class, NULL, driver, ++ __attach_adapter); + + mutex_unlock(&core_lock); + return 0; +@@ -782,7 +783,8 @@ void i2c_del_driver(struct i2c_driver *d + { + mutex_lock(&core_lock); + +- class_for_each_device(&i2c_adapter_class, driver, __detach_adapter); ++ class_for_each_device(&i2c_adapter_class, NULL, driver, ++ __detach_adapter); + + driver_unregister(&driver->driver); + pr_debug("i2c-core: driver [%s] unregistered\n", driver->driver.name); --- a/drivers/ieee1394/nodemgr.c +++ b/drivers/ieee1394/nodemgr.c @@ -1453,7 +1453,8 @@ static void nodemgr_suspend_ne(struct no @@ -157,7 +180,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> dev_dbg(psy->dev, "%s %d\n", __func__, error); --- a/include/linux/device.h +++ b/include/linux/device.h -@@ -204,7 +204,8 @@ extern struct kobject *sysfs_dev_block_k +@@ -210,7 +210,8 @@ extern struct kobject *sysfs_dev_block_k extern struct kobject *sysfs_dev_char_kobj; extern int __must_check class_register(struct class *class); extern void class_unregister(struct class *class); diff --git a/driver-core/driver-core-fix-a-lot-of-printk-usages-of-bus_id.patch b/driver-core/driver-core-fix-a-lot-of-printk-usages-of-bus_id.patch index f0c168da9f21f0..4aa66bf7e68da4 100644 --- a/driver-core/driver-core-fix-a-lot-of-printk-usages-of-bus_id.patch +++ b/driver-core/driver-core-fix-a-lot-of-printk-usages-of-bus_id.patch @@ -133,7 +133,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> pci_write_config_byte(viaide, PCI_CLASS_PROG, progif & ~0x5); --- a/arch/x86/kernel/pci-dma.c +++ b/arch/x86/kernel/pci-dma.c -@@ -319,8 +319,7 @@ int dma_supported(struct device *dev, u6 +@@ -323,8 +323,7 @@ int dma_supported(struct device *dev, u6 { #ifdef CONFIG_PCI if (mask > 0xffffffff && forbid_dac > 0) { @@ -143,7 +143,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return 0; } #endif -@@ -347,8 +346,7 @@ int dma_supported(struct device *dev, u6 +@@ -351,8 +350,7 @@ int dma_supported(struct device *dev, u6 type. Normally this doesn't make any difference, but gives more gentle handling of IOMMU overflow. */ if (iommu_sac_force && (mask >= DMA_40BIT_MASK)) { @@ -155,7 +155,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/arch/x86/kernel/pci-gart_64.c +++ b/arch/x86/kernel/pci-gart_64.c -@@ -198,9 +198,7 @@ static void iommu_full(struct device *de +@@ -197,9 +197,7 @@ static void iommu_full(struct device *de * out. Hopefully no network devices use single mappings that big. */ @@ -168,7 +168,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (dir == PCI_DMA_FROMDEVICE || dir == PCI_DMA_BIDIRECTIONAL) --- a/drivers/acpi/fan.c +++ b/drivers/acpi/fan.c -@@ -257,22 +257,22 @@ static int acpi_fan_add(struct acpi_devi +@@ -263,22 +263,22 @@ static int acpi_fan_add(struct acpi_devi goto end; } @@ -208,7 +208,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return -EINVAL; } get_device(dev); -@@ -193,8 +192,7 @@ static int acpi_unbind_one(struct device +@@ -195,8 +194,7 @@ static int acpi_unbind_one(struct device /* acpi_bind_one increase refcnt by one */ put_device(dev); } else { @@ -220,7 +220,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c -@@ -674,9 +674,8 @@ static int __cpuinit acpi_processor_star +@@ -714,9 +714,8 @@ static int __cpuinit acpi_processor_star goto end; } @@ -234,7 +234,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> &pr->cdev->device.kobj, --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c -@@ -459,7 +459,7 @@ static int acpi_device_register(struct a +@@ -471,7 +471,7 @@ static int acpi_device_register(struct a device->dev.release = &acpi_device_release; result = device_add(&device->dev); if(result) { @@ -258,7 +258,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c -@@ -741,9 +741,8 @@ static void acpi_video_device_find_cap(s +@@ -762,9 +762,8 @@ static void acpi_video_device_find_cap(s if (IS_ERR(device->cdev)) return; diff --git a/driver-core/driver-core-remove-device_create.patch b/driver-core/driver-core-remove-device_create.patch index 9b40ea46ddf84d..f8c0594a259867 100644 --- a/driver-core/driver-core-remove-device_create.patch +++ b/driver-core/driver-core-remove-device_create.patch @@ -59,7 +59,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> dev_t *devt = data; --- a/include/linux/device.h +++ b/include/linux/device.h -@@ -461,9 +461,6 @@ extern struct device *device_create_varg +@@ -470,9 +470,6 @@ extern struct device *device_create_varg void *drvdata, const char *fmt, va_list vargs); diff --git a/driver-core/driver-core-remove-kobj_name_len-define.patch b/driver-core/driver-core-remove-kobj_name_len-define.patch index 9f4cde38b5c338..6e3f49c8d5e361 100644 --- a/driver-core/driver-core-remove-kobj_name_len-define.patch +++ b/driver-core/driver-core-remove-kobj_name_len-define.patch @@ -53,7 +53,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return NULL; --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h -@@ -705,7 +705,7 @@ typedef struct _MPT_ADAPTER +@@ -707,7 +707,7 @@ typedef struct _MPT_ADAPTER u8 fc_link_speed[2]; spinlock_t fc_rescan_work_lock; struct work_struct fc_rescan_work; @@ -133,9 +133,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (!fc_host->devloss_work_q) { --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c -@@ -131,8 +131,8 @@ static int iscsi_setup_host(struct trans - mutex_init(&ihost->mutex); +@@ -247,8 +247,8 @@ static int iscsi_setup_host(struct trans atomic_set(&ihost->nr_scans, 0); + mutex_init(&ihost->mutex); - snprintf(ihost->scan_workq_name, KOBJ_NAME_LEN, "iscsi_scan_%d", - shost->host_no); @@ -215,7 +215,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/include/scsi/scsi_transport_iscsi.h +++ b/include/scsi/scsi_transport_iscsi.h -@@ -208,7 +208,7 @@ struct iscsi_host { +@@ -198,7 +198,7 @@ struct iscsi_cls_host { atomic_t nr_scans; struct mutex mutex; struct workqueue_struct *scan_workq; @@ -223,4 +223,4 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + char scan_workq_name[20]; }; - /* + extern void iscsi_host_for_each_session(struct Scsi_Host *shost, diff --git a/driver-core/dvb-frontends-treat-firmware-data-as-const.patch b/driver-core/dvb-frontends-treat-firmware-data-as-const.patch deleted file mode 100644 index ff4741afdbb9e8..00000000000000 --- a/driver-core/dvb-frontends-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,115 +0,0 @@ -From a797d06f3a532e9f710bba96789cf4b7b070f67b Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:12:23 +0100 -Subject: dvb frontends: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/media/dvb/frontends/bcm3510.c | 5 +++-- - drivers/media/dvb/frontends/nxt200x.c | 3 ++- - drivers/media/dvb/frontends/or51211.c | 4 ++-- - drivers/media/dvb/frontends/sp8870.c | 2 +- - drivers/media/dvb/frontends/sp887x.c | 2 +- - drivers/media/dvb/frontends/tda10048.c | 2 +- - drivers/media/dvb/frontends/tda1004x.c | 2 +- - 7 files changed, 11 insertions(+), 9 deletions(-) - ---- a/drivers/media/dvb/frontends/bcm3510.c -+++ b/drivers/media/dvb/frontends/bcm3510.c -@@ -590,7 +590,8 @@ static void bcm3510_release(struct dvb_f - */ - #define BCM3510_DEFAULT_FIRMWARE "dvb-fe-bcm3510-01.fw" - --static int bcm3510_write_ram(struct bcm3510_state *st, u16 addr, u8 *b, u16 len) -+static int bcm3510_write_ram(struct bcm3510_state *st, u16 addr, const u8 *b, -+ u16 len) - { - int ret = 0,i; - bcm3510_register_value vH, vL,vD; -@@ -614,7 +615,7 @@ static int bcm3510_download_firmware(str - struct bcm3510_state* st = fe->demodulator_priv; - const struct firmware *fw; - u16 addr,len; -- u8 *b; -+ const u8 *b; - int ret,i; - - deb_info("requesting firmware\n"); ---- a/drivers/media/dvb/frontends/nxt200x.c -+++ b/drivers/media/dvb/frontends/nxt200x.c -@@ -93,7 +93,8 @@ static u8 i2c_readbytes (struct nxt200x_ - return 0; - } - --static int nxt200x_writebytes (struct nxt200x_state* state, u8 reg, u8 *buf, u8 len) -+static int nxt200x_writebytes (struct nxt200x_state* state, u8 reg, -+ const u8 *buf, u8 len) - { - u8 buf2 [len+1]; - int err; ---- a/drivers/media/dvb/frontends/or51211.c -+++ b/drivers/media/dvb/frontends/or51211.c -@@ -69,7 +69,7 @@ struct or51211_state { - u32 current_frequency; - }; - --static int i2c_writebytes (struct or51211_state* state, u8 reg, u8 *buf, -+static int i2c_writebytes (struct or51211_state* state, u8 reg, const u8 *buf, - int len) - { - int err; -@@ -77,7 +77,7 @@ static int i2c_writebytes (struct or5121 - msg.addr = reg; - msg.flags = 0; - msg.len = len; -- msg.buf = buf; -+ msg.buf = (u8 *)buf; - - if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { - printk(KERN_WARNING "or51211: i2c_writebytes error " ---- a/drivers/media/dvb/frontends/sp8870.c -+++ b/drivers/media/dvb/frontends/sp8870.c -@@ -98,7 +98,7 @@ static int sp8870_readreg (struct sp8870 - static int sp8870_firmware_upload (struct sp8870_state* state, const struct firmware *fw) - { - struct i2c_msg msg; -- char *fw_buf = fw->data; -+ const char *fw_buf = fw->data; - int fw_pos; - u8 tx_buf[255]; - int tx_len; ---- a/drivers/media/dvb/frontends/sp887x.c -+++ b/drivers/media/dvb/frontends/sp887x.c -@@ -140,7 +140,7 @@ static int sp887x_initial_setup (struct - u8 buf [BLOCKSIZE+2]; - int i; - int fw_size = fw->size; -- unsigned char *mem = fw->data; -+ const unsigned char *mem = fw->data; - - dprintk("%s\n", __func__); - ---- a/drivers/media/dvb/frontends/tda10048.c -+++ b/drivers/media/dvb/frontends/tda10048.c -@@ -233,7 +233,7 @@ static u8 tda10048_readreg(struct tda100 - } - - static int tda10048_writeregbulk(struct tda10048_state *state, u8 reg, -- u8 *data, u16 len) -+ const u8 *data, u16 len) - { - int ret = -EREMOTEIO; - struct i2c_msg msg; ---- a/drivers/media/dvb/frontends/tda1004x.c -+++ b/drivers/media/dvb/frontends/tda1004x.c -@@ -317,7 +317,7 @@ static int tda10046h_set_bandwidth(struc - } - - static int tda1004x_do_upload(struct tda1004x_state *state, -- unsigned char *mem, unsigned int len, -+ const unsigned char *mem, unsigned int len, - u8 dspCodeCounterReg, u8 dspCodeInReg) - { - u8 buf[65]; diff --git a/driver-core/firmware-make-fw-data-const.patch b/driver-core/firmware-make-fw-data-const.patch deleted file mode 100644 index 03590e6a1aa835..00000000000000 --- a/driver-core/firmware-make-fw-data-const.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 1da9a50cc5ba72deb3b3e6a7f205329e85a4f26f Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Fri, 23 May 2008 18:38:49 +0100 -Subject: firmware: make fw->data const - -In preparation for supporting firmware files linked into the static -kernel, make fw->data const to ensure that users aren't modifying it (so -that we can pass a pointer to the original in-kernel copy, rather than -having to copy it). - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/base/firmware_class.c | 2 +- - include/linux/firmware.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/base/firmware_class.c -+++ b/drivers/base/firmware_class.c -@@ -257,7 +257,7 @@ firmware_data_write(struct kobject *kobj - if (retval) - goto out; - -- memcpy(fw->data + offset, buffer, count); -+ memcpy((u8 *)fw->data + offset, buffer, count); - - fw->size = max_t(size_t, offset + count, fw->size); - retval = count; ---- a/include/linux/firmware.h -+++ b/include/linux/firmware.h -@@ -8,7 +8,7 @@ - - struct firmware { - size_t size; -- u8 *data; -+ const u8 *data; - }; - - struct device; diff --git a/driver-core/gp8psk-treat-firmware-data-as-const.patch b/driver-core/gp8psk-treat-firmware-data-as-const.patch deleted file mode 100644 index 4cc33257bf6d3a..00000000000000 --- a/driver-core/gp8psk-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 8da10e1805348db6cbc88f77fceccf36e632da12 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:13:08 +0100 -Subject: gp8psk: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/media/dvb/dvb-usb/gp8psk.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/media/dvb/dvb-usb/gp8psk.c -+++ b/drivers/media/dvb/dvb-usb/gp8psk.c -@@ -86,7 +86,8 @@ static int gp8psk_load_bcm4500fw(struct - { - int ret; - const struct firmware *fw = NULL; -- u8 *ptr, *buf; -+ const u8 *ptr; -+ u8 *buf; - if ((ret = request_firmware(&fw, bcm4500_firmware, - &d->udev->dev)) != 0) { - err("did not find the bcm4500 firmware file. (%s) " diff --git a/driver-core/hp-ilo-driver.patch b/driver-core/hp-ilo-driver.patch index 4461e25803684b..01d7d423f8a156 100644 --- a/driver-core/hp-ilo-driver.patch +++ b/driver-core/hp-ilo-driver.patch @@ -991,7 +991,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +#endif /* __HPILO_H */ --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig -@@ -391,4 +391,17 @@ config SGI_XP +@@ -420,4 +420,17 @@ config SGI_XP this feature will allow for direct communication between SSIs based on a network adapter and DMA messaging. @@ -1011,7 +1011,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> endif # MISC_DEVICES --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile -@@ -26,3 +26,4 @@ obj-$(CONFIG_INTEL_MENLOW) += intel_menl +@@ -27,3 +27,4 @@ obj-$(CONFIG_INTEL_MENLOW) += intel_menl obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o obj-$(CONFIG_KGDB_TESTS) += kgdbts.o obj-$(CONFIG_SGI_XP) += sgi-xp/ diff --git a/driver-core/i2c-use-class_for_each_device.patch b/driver-core/i2c-use-class_for_each_device.patch deleted file mode 100644 index fe94f4ff9ead7f..00000000000000 --- a/driver-core/i2c-use-class_for_each_device.patch +++ /dev/null @@ -1,148 +0,0 @@ -erom foo@baz Tue Apr 9 12:12:43 2002 -Date: Tue, 22 Jan 2008 18:17:41 -0500 -To: Greg KH <greg@kroah.com> -From: Greg Kroah-Hartman <gregkh@suse.de> -Subject: I2C: use class_for_each_device - -Don't much around in the internals of struct class, but use the proper -iterator functions instead. - -Cc: Kay Sievers <kay.sievers@vrfy.org> -Cc: Jean Delvare <khali@linux-fr.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/i2c/i2c-core.c | 96 ++++++++++++++++++++++++++----------------------- - 1 file changed, 52 insertions(+), 44 deletions(-) - ---- a/drivers/i2c/i2c-core.c -+++ b/drivers/i2c/i2c-core.c -@@ -646,6 +646,15 @@ EXPORT_SYMBOL(i2c_del_adapter); - - /* ------------------------------------------------------------------------- */ - -+static int attach_device(struct device *dev, void *data) -+{ -+ struct i2c_adapter *adapter = to_i2c_adapter(dev); -+ struct i2c_driver *driver = data; -+ -+ driver->attach_adapter(adapter); -+ return 0; -+} -+ - /* - * An i2c_driver is used with one or more i2c_client (device) nodes to access - * i2c slave chips, on a bus instance associated with some i2c_adapter. There -@@ -686,22 +695,52 @@ int i2c_register_driver(struct module *o - pr_debug("i2c-core: driver [%s] registered\n", driver->driver.name); - - /* legacy drivers scan i2c busses directly */ -- if (driver->attach_adapter) { -- struct i2c_adapter *adapter; -- -- down(&i2c_adapter_class.sem); -- list_for_each_entry(adapter, &i2c_adapter_class.devices, -- dev.node) { -- driver->attach_adapter(adapter); -- } -- up(&i2c_adapter_class.sem); -- } -+ if (driver->attach_adapter) -+ class_for_each_device(&i2c_adapter_class, NULL, -+ (void *)driver, attach_device); - - mutex_unlock(&core_lock); - return 0; - } - EXPORT_SYMBOL(i2c_register_driver); - -+static int detach_device(struct device *dev, void *data) -+{ -+ struct i2c_adapter *adapter = to_i2c_adapter(dev); -+ struct i2c_driver *driver = data; -+ struct list_head *item2; -+ struct list_head *_n; -+ struct i2c_client *client; -+ -+ /* Have a look at each adapter, if clients of this driver are still -+ * attached. If so, detach them to be able to kill the driver -+ * afterwards. -+ */ -+ if (driver->detach_adapter) { -+ if (driver->detach_adapter(adapter)) { -+ dev_err(&adapter->dev, "detach_adapter failed " -+ "for driver [%s]\n", -+ driver->driver.name); -+ } -+ } else { -+ list_for_each_safe(item2, _n, &adapter->clients) { -+ client = list_entry(item2, struct i2c_client, list); -+ if (client->driver != driver) -+ continue; -+ dev_dbg(&adapter->dev, "detaching client [%s] " -+ "at 0x%02x\n", client->name, -+ client->addr); -+ if (driver->detach_client(client)) { -+ dev_err(&adapter->dev, "detach_client " -+ "failed for client [%s] at " -+ "0x%02x\n", client->name, -+ client->addr); -+ } -+ } -+ } -+ return 0; -+} -+ - /** - * i2c_del_driver - unregister I2C driver - * @driver: the driver being unregistered -@@ -709,46 +748,15 @@ EXPORT_SYMBOL(i2c_register_driver); - */ - void i2c_del_driver(struct i2c_driver *driver) - { -- struct list_head *item2, *_n; -- struct i2c_client *client; -- struct i2c_adapter *adap; -- - mutex_lock(&core_lock); - - /* new-style driver? */ - if (is_newstyle_driver(driver)) - goto unregister; - -- /* Have a look at each adapter, if clients of this driver are still -- * attached. If so, detach them to be able to kill the driver -- * afterwards. -- */ -- down(&i2c_adapter_class.sem); -- list_for_each_entry(adap, &i2c_adapter_class.devices, dev.node) { -- if (driver->detach_adapter) { -- if (driver->detach_adapter(adap)) { -- dev_err(&adap->dev, "detach_adapter failed " -- "for driver [%s]\n", -- driver->driver.name); -- } -- } else { -- list_for_each_safe(item2, _n, &adap->clients) { -- client = list_entry(item2, struct i2c_client, list); -- if (client->driver != driver) -- continue; -- dev_dbg(&adap->dev, "detaching client [%s] " -- "at 0x%02x\n", client->name, -- client->addr); -- if (driver->detach_client(client)) { -- dev_err(&adap->dev, "detach_client " -- "failed for client [%s] at " -- "0x%02x\n", client->name, -- client->addr); -- } -- } -- } -- } -- up(&i2c_adapter_class.sem); -+ /* old-style driver, do it by hand */ -+ class_for_each_device(&i2c_adapter_class, NULL, (void *)driver, -+ detach_device); - - unregister: - driver_unregister(&driver->driver); diff --git a/driver-core/infiniband-make-cm_device-use-a-struct-device-and-not-a-kobject.patch b/driver-core/infiniband-make-cm_device-use-a-struct-device-and-not-a-kobject.patch index a07836844cff98..aedc584493578c 100644 --- a/driver-core/infiniband-make-cm_device-use-a-struct-device-and-not-a-kobject.patch +++ b/driver-core/infiniband-make-cm_device-use-a-struct-device-and-not-a-kobject.patch @@ -23,7 +23,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/infiniband/core/cm.c +++ b/drivers/infiniband/core/cm.c -@@ -46,6 +46,7 @@ +@@ -44,6 +44,7 @@ #include <linux/spinlock.h> #include <linux/sysfs.h> #include <linux/workqueue.h> @@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #include <rdma/ib_cache.h> #include <rdma/ib_cm.h> -@@ -165,7 +166,7 @@ struct cm_port { +@@ -163,7 +164,7 @@ struct cm_port { struct cm_device { struct list_head list; struct ib_device *ib_device; @@ -40,7 +40,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> u8 ack_delay; struct cm_port *port[0]; }; -@@ -3620,18 +3621,6 @@ static struct kobj_type cm_port_obj_type +@@ -3618,18 +3619,6 @@ static struct kobj_type cm_port_obj_type .release = cm_release_port_obj }; @@ -59,7 +59,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> struct class cm_class = { .name = "infiniband_cm", }; -@@ -3642,7 +3631,7 @@ static int cm_create_port_fs(struct cm_p +@@ -3640,7 +3629,7 @@ static int cm_create_port_fs(struct cm_p int i, ret; ret = kobject_init_and_add(&port->port_obj, &cm_port_obj_type, @@ -68,7 +68,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> "%d", port->port_num); if (ret) { kfree(port); -@@ -3704,10 +3693,10 @@ static void cm_add_one(struct ib_device +@@ -3702,10 +3691,10 @@ static void cm_add_one(struct ib_device cm_dev->ib_device = ib_device; cm_get_ack_delay(cm_dev); @@ -83,7 +83,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> kfree(cm_dev); return; } -@@ -3760,7 +3749,7 @@ error1: +@@ -3758,7 +3747,7 @@ error1: ib_unregister_mad_agent(port->mad_agent); cm_remove_port_fs(port); } @@ -92,7 +92,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } static void cm_remove_one(struct ib_device *ib_device) -@@ -3788,7 +3777,7 @@ static void cm_remove_one(struct ib_devi +@@ -3786,7 +3775,7 @@ static void cm_remove_one(struct ib_devi flush_workqueue(cm.wq); cm_remove_port_fs(port); } diff --git a/driver-core/infiniband-rename-device-to-ib_device-in-cm_device.patch b/driver-core/infiniband-rename-device-to-ib_device-in-cm_device.patch index b1bd077c330aac..b5b82c2bc32be2 100644 --- a/driver-core/infiniband-rename-device-to-ib_device-in-cm_device.patch +++ b/driver-core/infiniband-rename-device-to-ib_device-in-cm_device.patch @@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/infiniband/core/cm.c +++ b/drivers/infiniband/core/cm.c -@@ -164,7 +164,7 @@ struct cm_port { +@@ -162,7 +162,7 @@ struct cm_port { struct cm_device { struct list_head list; @@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> struct kobject dev_obj; u8 ack_delay; struct cm_port *port[0]; -@@ -341,7 +341,7 @@ static void cm_init_av_for_response(stru +@@ -339,7 +339,7 @@ static void cm_init_av_for_response(stru { av->port = port; av->pkey_index = wc->pkey_index; @@ -39,7 +39,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> grh, &av->ah_attr); } -@@ -355,7 +355,7 @@ static int cm_init_av_by_path(struct ib_ +@@ -353,7 +353,7 @@ static int cm_init_av_by_path(struct ib_ read_lock_irqsave(&cm.device_lock, flags); list_for_each_entry(cm_dev, &cm.device_list, list) { @@ -48,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> &p, NULL)) { port = cm_dev->port[p-1]; break; -@@ -366,13 +366,13 @@ static int cm_init_av_by_path(struct ib_ +@@ -364,13 +364,13 @@ static int cm_init_av_by_path(struct ib_ if (!port) return -EINVAL; @@ -64,7 +64,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> &av->ah_attr); av->timeout = path->packet_life_time + 1; return 0; -@@ -1517,7 +1517,7 @@ static int cm_req_handler(struct cm_work +@@ -1515,7 +1515,7 @@ static int cm_req_handler(struct cm_work req_msg = (struct cm_req_msg *)work->mad_recv_wc->recv_buf.mad; @@ -73,7 +73,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (IS_ERR(cm_id)) return PTR_ERR(cm_id); -@@ -1552,7 +1552,7 @@ static int cm_req_handler(struct cm_work +@@ -1550,7 +1550,7 @@ static int cm_req_handler(struct cm_work cm_format_paths_from_req(req_msg, &work->path[0], &work->path[1]); ret = cm_init_av_by_path(&work->path[0], &cm_id_priv->av); if (ret) { @@ -82,7 +82,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> work->port->port_num, 0, &work->path[0].sgid); ib_send_cm_rej(cm_id, IB_CM_REJ_INVALID_GID, &work->path[0].sgid, sizeof work->path[0].sgid, -@@ -2952,7 +2952,7 @@ static int cm_sidr_req_handler(struct cm +@@ -2950,7 +2950,7 @@ static int cm_sidr_req_handler(struct cm struct cm_sidr_req_msg *sidr_req_msg; struct ib_wc *wc; @@ -91,7 +91,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (IS_ERR(cm_id)) return PTR_ERR(cm_id); cm_id_priv = container_of(cm_id, struct cm_id_private, id); -@@ -3580,7 +3580,7 @@ static void cm_get_ack_delay(struct cm_d +@@ -3578,7 +3578,7 @@ static void cm_get_ack_delay(struct cm_d { struct ib_device_attr attr; @@ -100,7 +100,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> cm_dev->ack_delay = 0; /* acks will rely on packet life time */ else cm_dev->ack_delay = attr.local_ca_ack_delay; -@@ -3678,7 +3678,7 @@ static void cm_remove_port_fs(struct cm_ +@@ -3676,7 +3676,7 @@ static void cm_remove_port_fs(struct cm_ kobject_put(&port->port_obj); } @@ -109,7 +109,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct cm_device *cm_dev; struct cm_port *port; -@@ -3693,26 +3693,27 @@ static void cm_add_one(struct ib_device +@@ -3691,26 +3691,27 @@ static void cm_add_one(struct ib_device int ret; u8 i; @@ -142,7 +142,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> port = kzalloc(sizeof *port, GFP_KERNEL); if (!port) goto error1; -@@ -3725,7 +3726,7 @@ static void cm_add_one(struct ib_device +@@ -3723,7 +3724,7 @@ static void cm_add_one(struct ib_device if (ret) goto error1; @@ -151,7 +151,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> IB_QPT_GSI, ®_req, 0, -@@ -3735,11 +3736,11 @@ static void cm_add_one(struct ib_device +@@ -3733,11 +3734,11 @@ static void cm_add_one(struct ib_device if (IS_ERR(port->mad_agent)) goto error2; @@ -165,7 +165,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> write_lock_irqsave(&cm.device_lock, flags); list_add_tail(&cm_dev->list, &cm.device_list); -@@ -3755,14 +3756,14 @@ error1: +@@ -3753,14 +3754,14 @@ error1: port_modify.clr_port_cap_mask = IB_PORT_CM_SUP; while (--i) { port = cm_dev->port[i-1]; @@ -182,7 +182,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct cm_device *cm_dev; struct cm_port *port; -@@ -3772,7 +3773,7 @@ static void cm_remove_one(struct ib_devi +@@ -3770,7 +3771,7 @@ static void cm_remove_one(struct ib_devi unsigned long flags; int i; @@ -191,7 +191,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (!cm_dev) return; -@@ -3780,9 +3781,9 @@ static void cm_remove_one(struct ib_devi +@@ -3778,9 +3779,9 @@ static void cm_remove_one(struct ib_devi list_del(&cm_dev->list); write_unlock_irqrestore(&cm.device_lock, flags); diff --git a/driver-core/irda-usb-treat-firmware-data-as-const.patch b/driver-core/irda-usb-treat-firmware-data-as-const.patch deleted file mode 100644 index d1cf6d82065eb7..00000000000000 --- a/driver-core/irda-usb-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 05aa9dd87890a3f71a138beee3ba578caf82dfdd Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:10:26 +0100 -Subject: irda-usb: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/net/irda/irda-usb.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - ---- a/drivers/net/irda/irda-usb.c -+++ b/drivers/net/irda/irda-usb.c -@@ -1024,7 +1024,7 @@ static int irda_usb_is_receiving(struct - * Upload firmware code to SigmaTel 421X IRDA-USB dongle - */ - static int stir421x_fw_upload(struct irda_usb_cb *self, -- unsigned char *patch, -+ const unsigned char *patch, - const unsigned int patch_len) - { - int ret = -ENOMEM; -@@ -1073,11 +1073,11 @@ static int stir421x_fw_upload(struct ird - */ - static int stir421x_patch_device(struct irda_usb_cb *self) - { -- unsigned int i; -- int ret; -- char stir421x_fw_name[11]; -- const struct firmware *fw; -- unsigned char *fw_version_ptr; /* pointer to version string */ -+ unsigned int i; -+ int ret; -+ char stir421x_fw_name[11]; -+ const struct firmware *fw; -+ const unsigned char *fw_version_ptr; /* pointer to version string */ - unsigned long fw_version = 0; - - /* diff --git a/driver-core/isight-firmware-data-is-const.patch b/driver-core/isight-firmware-data-is-const.patch deleted file mode 100644 index 05a9fe02d09ed1..00000000000000 --- a/driver-core/isight-firmware-data-is-const.patch +++ /dev/null @@ -1,24 +0,0 @@ -From foo@baz Tue Apr 9 12:12:43 2002 -Date: Thu, 29 May 2008 10:05:08 -0700 -To: Greg KH <greg@kroah.com> -From: Greg Kroah-Hartman <gregkh@suse.de> -Subject: isight: firmware data is const - -Cc: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/misc/isight_firmware.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/misc/isight_firmware.c -+++ b/drivers/usb/misc/isight_firmware.c -@@ -41,7 +41,7 @@ static int isight_firmware_load(struct u - const struct firmware *firmware; - unsigned char *buf = kmalloc(50, GFP_KERNEL); - unsigned char data[4]; -- u8 *ptr; -+ const u8 *ptr; - - if (!buf) - return -ENOMEM; diff --git a/driver-core/libertas-treat-firmware-data-as-const.patch b/driver-core/libertas-treat-firmware-data-as-const.patch deleted file mode 100644 index 9f67f4a2222d09..00000000000000 --- a/driver-core/libertas-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,65 +0,0 @@ -From fc4d90e457a672810d2aaf94f5d1c6441143ac50 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Fri, 23 May 2008 18:37:51 +0100 -Subject: libertas: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/net/wireless/libertas/if_cs.c | 2 +- - drivers/net/wireless/libertas/if_sdio.c | 4 ++-- - drivers/net/wireless/libertas/if_usb.c | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/drivers/net/wireless/libertas/if_cs.c -+++ b/drivers/net/wireless/libertas/if_cs.c -@@ -122,7 +122,7 @@ static inline void if_cs_write16(struct - static inline void if_cs_write16_rep( - struct if_cs_card *card, - uint reg, -- void *buf, -+ const void *buf, - unsigned long count) - { - if (debug_output) ---- a/drivers/net/wireless/libertas/if_sdio.c -+++ b/drivers/net/wireless/libertas/if_sdio.c -@@ -392,7 +392,7 @@ static int if_sdio_prog_helper(struct if - unsigned long timeout; - u8 *chunk_buffer; - u32 chunk_size; -- u8 *firmware; -+ const u8 *firmware; - size_t size; - - lbs_deb_enter(LBS_DEB_SDIO); -@@ -508,7 +508,7 @@ static int if_sdio_prog_real(struct if_s - unsigned long timeout; - u8 *chunk_buffer; - u32 chunk_size; -- u8 *firmware; -+ const u8 *firmware; - size_t size, req_size; - - lbs_deb_enter(LBS_DEB_SDIO); ---- a/drivers/net/wireless/libertas/if_usb.c -+++ b/drivers/net/wireless/libertas/if_usb.c -@@ -293,7 +293,7 @@ static void if_usb_disconnect(struct usb - static int if_usb_send_fw_pkt(struct if_usb_card *cardp) - { - struct fwdata *fwdata = cardp->ep_out_buf; -- uint8_t *firmware = cardp->fw->data; -+ const uint8_t *firmware = cardp->fw->data; - - /* If we got a CRC failure on the last block, back - up and retry it */ -@@ -746,7 +746,7 @@ static int if_usb_issue_boot_command(str - * len image length - * @return 0 or -1 - */ --static int check_fwfile_format(uint8_t *data, uint32_t totlen) -+static int check_fwfile_format(const uint8_t *data, uint32_t totlen) - { - uint32_t bincmd, exit; - uint32_t blksize, offset, len; diff --git a/driver-core/maestro3-treat-firmware-data-as-const.patch b/driver-core/maestro3-treat-firmware-data-as-const.patch deleted file mode 100644 index 151e89ff900c9a..00000000000000 --- a/driver-core/maestro3-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 999a382a0f9855c85bf89dc1aa891816b4ef20f0 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Thu, 29 May 2008 11:58:27 +0300 -Subject: maestro3: treat firmware data as const - -The maestro3 driver is byte-swapping its firmware to be host-endian in -advance, when it doesn't seem to be necessary -- we could just use -le16_to_cpu() as we load it. - -Doing that means that we need to switch the in-tree firmware to be -little-endian too. - -Take the least intrusive way of doing this, which is to switch the -existing snd_m3_convert_from_le() function to convert _to_ little-endian -instead, and use it on the in-tree firmware instead of the loaded -firmware. It's a bit suboptimal but doesn't matter much right now -because we're about to remove the special cases for the in-tree version -anyway. - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - sound/pci/maestro3.c | 29 +++++++++++++++-------------- - 1 file changed, 15 insertions(+), 14 deletions(-) - ---- a/sound/pci/maestro3.c -+++ b/sound/pci/maestro3.c -@@ -2240,18 +2240,16 @@ static const struct firmware assp_minisr - .size = sizeof assp_minisrc_image - }; - --#else /* CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL */ -- - #ifdef __LITTLE_ENDIAN --static inline void snd_m3_convert_from_le(const struct firmware *fw) { } -+static inline void snd_m3_convert_to_le(const struct firmware *fw) { } - #else --static void snd_m3_convert_from_le(const struct firmware *fw) -+static void snd_m3_convert_to_le(const struct firmware *fw) - { - int i; - u16 *data = (u16 *)fw->data; - - for (i = 0; i < fw->size / 2; ++i) -- le16_to_cpus(&data[i]); -+ cpu_to_le16s(&data[i]); - } - #endif - -@@ -2271,7 +2269,7 @@ static const u16 minisrc_lpf[MINISRC_LPF - static void snd_m3_assp_init(struct snd_m3 *chip) - { - unsigned int i; -- u16 *data; -+ const u16 *data; - - /* zero kernel data */ - for (i = 0; i < (REV_B_DATA_MEMORY_UNIT_LENGTH * NUM_UNITS_KERNEL_DATA) / 2; i++) -@@ -2289,10 +2287,11 @@ static void snd_m3_assp_init(struct snd_ - KDATA_DMA_XFER0); - - /* write kernel into code memory.. */ -- data = (u16 *)chip->assp_kernel_image->data; -+ data = (const u16 *)chip->assp_kernel_image->data; - for (i = 0 ; i * 2 < chip->assp_kernel_image->size; i++) { - snd_m3_assp_write(chip, MEMTYPE_INTERNAL_CODE, -- REV_B_CODE_MEMORY_BEGIN + i, data[i]); -+ REV_B_CODE_MEMORY_BEGIN + i, -+ le16_to_cpu(data[i])); - } - - /* -@@ -2301,10 +2300,10 @@ static void snd_m3_assp_init(struct snd_ - * drop it there. It seems that the minisrc doesn't - * need vectors, so we won't bother with them.. - */ -- data = (u16 *)chip->assp_minisrc_image->data; -+ data = (const u16 *)chip->assp_minisrc_image->data; - for (i = 0; i * 2 < chip->assp_minisrc_image->size; i++) { - snd_m3_assp_write(chip, MEMTYPE_INTERNAL_CODE, -- 0x400 + i, data[i]); -+ 0x400 + i, le16_to_cpu(data[i])); - } - - /* -@@ -2749,8 +2748,7 @@ snd_m3_create(struct snd_card *card, str - if (err < 0) { - snd_m3_free(chip); - return err; -- } else -- snd_m3_convert_from_le(chip->assp_kernel_image); -+ } - #endif - - #ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL -@@ -2761,8 +2759,7 @@ snd_m3_create(struct snd_card *card, str - if (err < 0) { - snd_m3_free(chip); - return err; -- } else -- snd_m3_convert_from_le(chip->assp_minisrc_image); -+ } - #endif - - if ((err = pci_request_regions(pci, card->driver)) < 0) { -@@ -2915,6 +2912,10 @@ static struct pci_driver driver = { - - static int __init alsa_card_m3_init(void) - { -+#ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL -+ snd_m3_convert_to_le(&assp_kernel); -+ snd_m3_convert_to_le(&assp_minisrc); -+#endif - return pci_register_driver(&driver); - } - diff --git a/driver-core/myri10ge-treat-firmware-data-as-const.patch b/driver-core/myri10ge-treat-firmware-data-as-const.patch deleted file mode 100644 index 74bf5a911fd711..00000000000000 --- a/driver-core/myri10ge-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 6df0e21a589bd3c0f94b4f185f1142d58c4707de Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:00:07 +0100 -Subject: myri10ge: treat firmware data as const - -... which means allocating our own buffer for reading it back. - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/net/myri10ge/myri10ge.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - ---- a/drivers/net/myri10ge/myri10ge.c -+++ b/drivers/net/myri10ge/myri10ge.c -@@ -529,6 +529,7 @@ static int myri10ge_load_hotplug_firmwar - unsigned crc, reread_crc; - const struct firmware *fw; - struct device *dev = &mgp->pdev->dev; -+ unsigned char *fw_readback; - struct mcp_gen_header *hdr; - size_t hdr_offset; - int status; -@@ -571,9 +572,15 @@ static int myri10ge_load_hotplug_firmwar - mb(); - readb(mgp->sram); - } -+ fw_readback = vmalloc(fw->size); -+ if (!fw_readback) { -+ status = -ENOMEM; -+ goto abort_with_fw; -+ } - /* corruption checking is good for parity recovery and buggy chipset */ -- memcpy_fromio(fw->data, mgp->sram + MYRI10GE_FW_OFFSET, fw->size); -- reread_crc = crc32(~0, fw->data, fw->size); -+ memcpy_fromio(fw_readback, mgp->sram + MYRI10GE_FW_OFFSET, fw->size); -+ reread_crc = crc32(~0, fw_readback, fw->size); -+ vfree(fw_readback); - if (crc != reread_crc) { - dev_err(dev, "CRC failed(fw-len=%u), got 0x%x (expect 0x%x)\n", - (unsigned)fw->size, reread_crc, crc); diff --git a/driver-core/p54-treat-firmware-data-as-const.patch b/driver-core/p54-treat-firmware-data-as-const.patch deleted file mode 100644 index b1d37719d832c2..00000000000000 --- a/driver-core/p54-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 1ff7be57f1f2915170ac2cd0052fcf3610b79712 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:08:55 +0100 -Subject: p54: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/net/wireless/p54/p54usb.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/drivers/net/wireless/p54/p54usb.c -+++ b/drivers/net/wireless/p54/p54usb.c -@@ -376,7 +376,8 @@ static int p54u_upload_firmware_3887(str - const struct firmware *fw_entry = NULL; - int err, alen; - u8 carry = 0; -- u8 *buf, *tmp, *data; -+ u8 *buf, *tmp; -+ const u8 *data; - unsigned int left, remains, block_size; - struct x2_header *hdr; - unsigned long timeout; -@@ -523,7 +524,7 @@ static int p54u_upload_firmware_net2280( - void *buf; - __le32 reg; - unsigned int remains, offset; -- u8 *data; -+ const u8 *data; - - buf = kmalloc(512, GFP_KERNEL); - if (!buf) { diff --git a/driver-core/pcxhr-treat-firmware-data-as-const.patch b/driver-core/pcxhr-treat-firmware-data-as-const.patch deleted file mode 100644 index 22e52f8c92c91f..00000000000000 --- a/driver-core/pcxhr-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 234cd49ae675cbece88245cf80d13fe8fd6b6354 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:02:28 +0100 -Subject: pcxhr: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - sound/pci/pcxhr/pcxhr_core.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/sound/pci/pcxhr/pcxhr_core.c -+++ b/sound/pci/pcxhr/pcxhr_core.c -@@ -269,7 +269,7 @@ int pcxhr_load_xilinx_binary(struct pcxh - unsigned int chipsc; - unsigned char data; - unsigned char mask; -- unsigned char *image; -+ const unsigned char *image; - - /* test first xilinx */ - chipsc = PCXHR_INPL(mgr, PCXHR_PLX_CHIPSC); -@@ -316,7 +316,7 @@ static int pcxhr_download_dsp(struct pcx - int err; - unsigned int i; - unsigned int len; -- unsigned char *data; -+ const unsigned char *data; - unsigned char dummy; - /* check the length of boot image */ - snd_assert(dsp->size > 0, return -EINVAL); diff --git a/driver-core/pnp-add-acpi-modalias-entries.patch b/driver-core/pnp-add-acpi-modalias-entries.patch index 3be3fa8a4e69db..0fa3cad2236422 100644 --- a/driver-core/pnp-add-acpi-modalias-entries.patch +++ b/driver-core/pnp-add-acpi-modalias-entries.patch @@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c -@@ -332,11 +332,18 @@ static int do_acpi_entry(const char *fil +@@ -340,11 +340,18 @@ static int do_acpi_entry(const char *fil } /* looks like: "pnp:dD" */ @@ -44,7 +44,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } /* looks like: "pnp:dD" for every device of the card */ -@@ -380,9 +387,12 @@ static void do_pnp_card_entries(void *sy +@@ -388,9 +395,12 @@ static void do_pnp_card_entries(void *sy } /* add an individual alias for every device entry */ @@ -58,7 +58,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } } } -@@ -689,9 +699,7 @@ void handle_moddevtable(struct module *m +@@ -701,9 +711,7 @@ void handle_moddevtable(struct module *m sizeof(struct acpi_device_id), "acpi", do_acpi_entry, mod); else if (sym_is(symname, "__mod_pnp_device_table")) diff --git a/driver-core/riptide-treat-firmware-data-as-const.patch b/driver-core/riptide-treat-firmware-data-as-const.patch deleted file mode 100644 index 015cbbf1eae423..00000000000000 --- a/driver-core/riptide-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,51 +0,0 @@ -From ac2e84141433bcc896cf93c8aef7c84f673b6b51 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:02:03 +0100 -Subject: riptide: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - sound/pci/riptide/riptide.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/sound/pci/riptide/riptide.c -+++ b/sound/pci/riptide/riptide.c -@@ -682,7 +682,7 @@ static union firmware_version firmware_v - }, - }; - --static u32 atoh(unsigned char *in, unsigned int len) -+static u32 atoh(const unsigned char *in, unsigned int len) - { - u32 sum = 0; - unsigned int mult = 1; -@@ -702,12 +702,12 @@ static u32 atoh(unsigned char *in, unsig - return sum; - } - --static int senddata(struct cmdif *cif, unsigned char *in, u32 offset) -+static int senddata(struct cmdif *cif, const unsigned char *in, u32 offset) - { - u32 addr; - u32 data; - u32 i; -- unsigned char *p; -+ const unsigned char *p; - - i = atoh(&in[1], 2); - addr = offset + atoh(&in[3], 4); -@@ -726,10 +726,10 @@ static int senddata(struct cmdif *cif, u - return 0; - } - --static int loadfirmware(struct cmdif *cif, unsigned char *img, -+static int loadfirmware(struct cmdif *cif, const unsigned char *img, - unsigned int size) - { -- unsigned char *in; -+ const unsigned char *in; - u32 laddr, saddr, t, val; - int err = 0; - diff --git a/driver-core/rt2x00-treat-firmware-data-as-const.patch b/driver-core/rt2x00-treat-firmware-data-as-const.patch deleted file mode 100644 index 84508ca38bac0c..00000000000000 --- a/driver-core/rt2x00-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 42d3621004eb68a9b0e79fbe702d0bd596c625cf Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:08:39 +0100 -Subject: rt2x00: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/net/wireless/rt2x00/rt2x00.h | 4 ++-- - drivers/net/wireless/rt2x00/rt2x00pci.h | 2 +- - drivers/net/wireless/rt2x00/rt61pci.c | 4 ++-- - drivers/net/wireless/rt2x00/rt73usb.c | 6 +++--- - 4 files changed, 8 insertions(+), 8 deletions(-) - ---- a/drivers/net/wireless/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/rt2x00/rt2x00.h -@@ -511,8 +511,8 @@ struct rt2x00lib_ops { - */ - int (*probe_hw) (struct rt2x00_dev *rt2x00dev); - char *(*get_firmware_name) (struct rt2x00_dev *rt2x00dev); -- u16 (*get_firmware_crc) (void *data, const size_t len); -- int (*load_firmware) (struct rt2x00_dev *rt2x00dev, void *data, -+ u16 (*get_firmware_crc) (const void *data, const size_t len); -+ int (*load_firmware) (struct rt2x00_dev *rt2x00dev, const void *data, - const size_t len); - - /* ---- a/drivers/net/wireless/rt2x00/rt2x00pci.h -+++ b/drivers/net/wireless/rt2x00/rt2x00pci.h -@@ -82,7 +82,7 @@ static inline void rt2x00pci_register_wr - static inline void - rt2x00pci_register_multiwrite(struct rt2x00_dev *rt2x00dev, - const unsigned long offset, -- void *value, const u16 length) -+ const void *value, const u16 length) - { - memcpy_toio(rt2x00dev->csr.base + offset, value, length); - } ---- a/drivers/net/wireless/rt2x00/rt61pci.c -+++ b/drivers/net/wireless/rt2x00/rt61pci.c -@@ -915,7 +915,7 @@ static char *rt61pci_get_firmware_name(s - return fw_name; - } - --static u16 rt61pci_get_firmware_crc(void *data, const size_t len) -+static u16 rt61pci_get_firmware_crc(const void *data, const size_t len) - { - u16 crc; - -@@ -932,7 +932,7 @@ static u16 rt61pci_get_firmware_crc(void - return crc; - } - --static int rt61pci_load_firmware(struct rt2x00_dev *rt2x00dev, void *data, -+static int rt61pci_load_firmware(struct rt2x00_dev *rt2x00dev, const void *data, - const size_t len) - { - int i; ---- a/drivers/net/wireless/rt2x00/rt73usb.c -+++ b/drivers/net/wireless/rt2x00/rt73usb.c -@@ -856,7 +856,7 @@ static char *rt73usb_get_firmware_name(s - return FIRMWARE_RT2571; - } - --static u16 rt73usb_get_firmware_crc(void *data, const size_t len) -+static u16 rt73usb_get_firmware_crc(const void *data, const size_t len) - { - u16 crc; - -@@ -873,13 +873,13 @@ static u16 rt73usb_get_firmware_crc(void - return crc; - } - --static int rt73usb_load_firmware(struct rt2x00_dev *rt2x00dev, void *data, -+static int rt73usb_load_firmware(struct rt2x00_dev *rt2x00dev, const void *data, - const size_t len) - { - unsigned int i; - int status; - u32 reg; -- char *ptr = data; -+ const char *ptr = data; - char *cache; - int buflen; - int timeout; diff --git a/driver-core/sysdev-convert-the-x86-mce-tolerant-sysdev-attribute-to-generic-attribute.patch b/driver-core/sysdev-convert-the-x86-mce-tolerant-sysdev-attribute-to-generic-attribute.patch index deb72677a59622..4f0a79b2a78626 100644 --- a/driver-core/sysdev-convert-the-x86-mce-tolerant-sysdev-attribute-to-generic-attribute.patch +++ b/driver-core/sysdev-convert-the-x86-mce-tolerant-sysdev-attribute-to-generic-attribute.patch @@ -23,7 +23,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/arch/x86/kernel/cpu/mcheck/mce_64.c +++ b/arch/x86/kernel/cpu/mcheck/mce_64.c -@@ -800,12 +800,12 @@ static ssize_t set_trigger(struct sys_de +@@ -812,12 +812,12 @@ static ssize_t set_trigger(struct sys_de } static SYSDEV_ATTR(trigger, 0644, show_trigger, set_trigger); diff --git a/driver-core/sysdev-pass-the-attribute-to-the-low-level-sysdev-show-store-function.patch b/driver-core/sysdev-pass-the-attribute-to-the-low-level-sysdev-show-store-function.patch index e815bcb4ddb09c..6cd356ac9e6368 100644 --- a/driver-core/sysdev-pass-the-attribute-to-the-low-level-sysdev-show-store-function.patch +++ b/driver-core/sysdev-pass-the-attribute-to-the-low-level-sysdev-show-store-function.patch @@ -27,7 +27,7 @@ Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- - arch/arm/kernel/time.c | 10 ++++-- + arch/arm/kernel/time.c | 4 ++ arch/avr32/kernel/cpu.c | 38 ++++++++++++++++--------- arch/ia64/kernel/err_inject.c | 22 ++++++++++---- arch/powerpc/kernel/sysfs.c | 15 +++++++--- @@ -44,7 +44,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/base/memory.c | 12 +++++--- drivers/base/node.c | 15 ++++++---- drivers/base/sys.c | 4 +- - drivers/base/topology.c | 9 ++++-- + drivers/base/topology.c | 15 ++++++---- drivers/cpuidle/sysfs.c | 10 ++++-- drivers/xen/balloon.c | 1 include/linux/sysdev.h | 5 ++- @@ -65,24 +65,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { int ret = -EINVAL, len = strcspn(buf, " "); -@@ -432,13 +434,15 @@ void timer_dyn_reprogram(void) - spin_unlock_irqrestore(&dyn_tick->lock, flags); - } - --static ssize_t timer_show_dyn_tick(struct sys_device *dev, char *buf) -+static ssize_t timer_show_dyn_tick(struct sys_device *dev, -+ struct sysdev_attribute *attr, char *buf) - { - return sprintf(buf, "%i\n", - (system_timer->dyn_tick->state & DYN_TICK_ENABLED) >> 1); - } - --static ssize_t timer_set_dyn_tick(struct sys_device *dev, const char *buf, -+static ssize_t timer_set_dyn_tick(struct sys_device *dev, -+ struct sysdev_attribute *attr, const char *buf, - size_t count) - { - unsigned int enable = simple_strtoul(buf, NULL, 2); --- a/arch/avr32/kernel/cpu.c +++ b/arch/avr32/kernel/cpu.c @@ -26,14 +26,16 @@ static DEFINE_PER_CPU(struct cpu, cpu_de @@ -448,7 +430,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c -@@ -868,7 +868,8 @@ int setup_profiling_timer(unsigned int m +@@ -864,7 +864,8 @@ int setup_profiling_timer(unsigned int m } #ifdef CONFIG_HOTPLUG_CPU @@ -458,7 +440,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { ssize_t count; -@@ -878,8 +879,9 @@ static ssize_t cpu_configure_show(struct +@@ -874,8 +875,9 @@ static ssize_t cpu_configure_show(struct return count; } @@ -470,7 +452,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { int cpu = dev->id; int val, rc; -@@ -926,7 +928,8 @@ out: +@@ -922,7 +924,8 @@ out: static SYSDEV_ATTR(configure, 0644, cpu_configure_show, cpu_configure_store); #endif /* CONFIG_HOTPLUG_CPU */ @@ -480,7 +462,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { int cpu = dev->id; ssize_t count; -@@ -954,7 +957,8 @@ static ssize_t cpu_polarization_show(str +@@ -950,7 +953,8 @@ static ssize_t cpu_polarization_show(str } static SYSDEV_ATTR(polarization, 0444, cpu_polarization_show, NULL); @@ -490,7 +472,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { return sprintf(buf, "%d\n", __cpu_logical_map[dev->id]); } -@@ -974,7 +978,8 @@ static struct attribute_group cpu_common +@@ -970,7 +974,8 @@ static struct attribute_group cpu_common .attrs = cpu_common_attrs, }; @@ -500,7 +482,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { unsigned int capability; int rc; -@@ -986,7 +991,8 @@ static ssize_t show_capability(struct sy +@@ -982,7 +987,8 @@ static ssize_t show_capability(struct sy } static SYSDEV_ATTR(capability, 0444, show_capability, NULL); @@ -510,7 +492,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct s390_idle_data *idle; unsigned long long idle_count; -@@ -999,7 +1005,8 @@ static ssize_t show_idle_count(struct sy +@@ -995,7 +1001,8 @@ static ssize_t show_idle_count(struct sy } static SYSDEV_ATTR(idle_count, 0444, show_idle_count, NULL); @@ -520,7 +502,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct s390_idle_data *idle; unsigned long long new_time; -@@ -1116,7 +1123,9 @@ out: +@@ -1112,7 +1119,9 @@ out: return rc; } @@ -531,7 +513,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> size_t count) { int rc; -@@ -1127,7 +1136,9 @@ static ssize_t __ref rescan_store(struct +@@ -1123,7 +1132,9 @@ static ssize_t __ref rescan_store(struct static SYSDEV_ATTR(rescan, 0200, NULL, rescan_store); #endif /* CONFIG_HOTPLUG_CPU */ @@ -542,7 +524,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { ssize_t count; -@@ -1137,8 +1148,9 @@ static ssize_t dispatching_show(struct s +@@ -1133,8 +1144,9 @@ static ssize_t dispatching_show(struct s return count; } @@ -556,7 +538,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> char delim; --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c -@@ -1081,7 +1081,9 @@ static inline struct etr_aib *etr_aib_fr +@@ -1100,7 +1100,9 @@ static inline struct etr_aib *etr_aib_fr return etr_port1_online ? &etr_port1 : NULL; } @@ -567,7 +549,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { unsigned int online; -@@ -1090,7 +1092,8 @@ static ssize_t etr_online_show(struct sy +@@ -1109,7 +1111,8 @@ static ssize_t etr_online_show(struct sy } static ssize_t etr_online_store(struct sys_device *dev, @@ -577,7 +559,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { unsigned int value; -@@ -1117,7 +1120,9 @@ static ssize_t etr_online_store(struct s +@@ -1136,7 +1139,9 @@ static ssize_t etr_online_store(struct s static SYSDEV_ATTR(online, 0600, etr_online_show, etr_online_store); @@ -588,7 +570,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { return sprintf(buf, "%i\n", (dev == &etr_port0_dev) ? etr_eacr.e0 : etr_eacr.e1); -@@ -1125,7 +1130,8 @@ static ssize_t etr_stepping_control_show +@@ -1144,7 +1149,8 @@ static ssize_t etr_stepping_control_show static SYSDEV_ATTR(stepping_control, 0400, etr_stepping_control_show, NULL); @@ -598,7 +580,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { if (!etr_port0_online && !etr_port1_online) /* Status word is not uptodate if both ports are offline. */ -@@ -1136,7 +1142,8 @@ static ssize_t etr_mode_code_show(struct +@@ -1155,7 +1161,8 @@ static ssize_t etr_mode_code_show(struct static SYSDEV_ATTR(state_code, 0400, etr_mode_code_show, NULL); @@ -608,7 +590,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct etr_aib *aib = etr_aib_from_dev(dev); -@@ -1147,7 +1154,8 @@ static ssize_t etr_untuned_show(struct s +@@ -1166,7 +1173,8 @@ static ssize_t etr_untuned_show(struct s static SYSDEV_ATTR(untuned, 0400, etr_untuned_show, NULL); @@ -618,7 +600,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct etr_aib *aib = etr_aib_from_dev(dev); -@@ -1158,7 +1166,8 @@ static ssize_t etr_network_id_show(struc +@@ -1177,7 +1185,8 @@ static ssize_t etr_network_id_show(struc static SYSDEV_ATTR(network, 0400, etr_network_id_show, NULL); @@ -628,7 +610,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct etr_aib *aib = etr_aib_from_dev(dev); -@@ -1169,7 +1178,8 @@ static ssize_t etr_id_show(struct sys_de +@@ -1188,7 +1197,8 @@ static ssize_t etr_id_show(struct sys_de static SYSDEV_ATTR(id, 0400, etr_id_show, NULL); @@ -638,7 +620,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct etr_aib *aib = etr_aib_from_dev(dev); -@@ -1180,7 +1190,8 @@ static ssize_t etr_port_number_show(stru +@@ -1199,7 +1209,8 @@ static ssize_t etr_port_number_show(stru static SYSDEV_ATTR(port, 0400, etr_port_number_show, NULL); @@ -648,7 +630,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct etr_aib *aib = etr_aib_from_dev(dev); -@@ -1191,7 +1202,8 @@ static ssize_t etr_coupled_show(struct s +@@ -1210,7 +1221,8 @@ static ssize_t etr_coupled_show(struct s static SYSDEV_ATTR(coupled, 0400, etr_coupled_show, NULL); @@ -658,7 +640,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct etr_aib *aib = etr_aib_from_dev(dev); -@@ -1202,7 +1214,8 @@ static ssize_t etr_local_time_show(struc +@@ -1221,7 +1233,8 @@ static ssize_t etr_local_time_show(struc static SYSDEV_ATTR(local_time, 0400, etr_local_time_show, NULL); @@ -746,7 +728,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return sprintf(buf, "%lu\n", p->NAME); \ --- a/arch/x86/kernel/cpu/mcheck/mce_64.c +++ b/arch/x86/kernel/cpu/mcheck/mce_64.c -@@ -753,10 +753,14 @@ DEFINE_PER_CPU(struct sys_device, device +@@ -762,10 +762,14 @@ DEFINE_PER_CPU(struct sys_device, device /* Why are there no generic functions for this? */ #define ACCESSOR(name, var, start) \ @@ -763,7 +745,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> char *end; \ unsigned long new = simple_strtoul(buf, &end, 0); \ if (end == buf) return -EINVAL; \ -@@ -774,14 +778,16 @@ ACCESSOR(bank3ctl,bank[3],mce_restart()) +@@ -786,14 +790,16 @@ ACCESSOR(bank3ctl,bank[3],mce_restart()) ACCESSOR(bank4ctl,bank[4],mce_restart()) ACCESSOR(bank5ctl,bank[5],mce_restart()) @@ -794,7 +776,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> unsigned int cpu = dev->id; \ --- a/arch/x86/kernel/microcode.c +++ b/arch/x86/kernel/microcode.c -@@ -641,7 +641,9 @@ static void microcode_fini_cpu(int cpu) +@@ -644,7 +644,9 @@ static void microcode_fini_cpu(int cpu) mutex_unlock(µcode_mutex); } @@ -805,7 +787,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct ucode_cpu_info *uci = ucode_cpu_info + dev->id; char *end; -@@ -671,14 +673,16 @@ static ssize_t reload_store(struct sys_d +@@ -674,14 +676,16 @@ static ssize_t reload_store(struct sys_d return sz; } @@ -978,25 +960,45 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { \ unsigned int cpu = dev->id; \ return sprintf(buf, "%d\n", topology_##name(cpu)); \ -@@ -56,14 +57,16 @@ static ssize_t show_cpumap(int type, cpu - } +@@ -59,14 +60,16 @@ static ssize_t show_cpumap(int type, cpu + #ifdef arch_provides_topology_pointers #define define_siblings_show_map(name) \ --static inline ssize_t show_##name(struct sys_device *dev, char *buf) \ -+static inline ssize_t show_##name(struct sys_device *dev, \ -+ struct sysdev_attribute *attr, char *buf) \ +-static ssize_t show_##name(struct sys_device *dev, char *buf) \ ++static ssize_t show_##name(struct sys_device *dev, \ ++ struct sysdev_attribute *attr, char *buf) \ { \ unsigned int cpu = dev->id; \ return show_cpumap(0, &(topology_##name(cpu)), buf); \ } #define define_siblings_show_list(name) \ --static inline ssize_t show_##name##_list(struct sys_device *dev, char *buf) \ -+static inline ssize_t show_##name##_list(struct sys_device *dev, \ -+ struct sysdev_attribute *attr, char *buf) \ +-static ssize_t show_##name##_list(struct sys_device *dev, char *buf) \ ++static ssize_t show_##name##_list(struct sys_device *dev, \ ++ struct sysdev_attribute *attr, char *buf) \ { \ unsigned int cpu = dev->id; \ return show_cpumap(1, &(topology_##name(cpu)), buf); \ +@@ -74,7 +77,8 @@ static ssize_t show_##name##_list(struct + + #else + #define define_siblings_show_map(name) \ +-static ssize_t show_##name(struct sys_device *dev, char *buf) \ ++static ssize_t show_##name(struct sys_device *dev, \ ++ struct sysdev_attribute *attr, char *buf) \ + { \ + unsigned int cpu = dev->id; \ + cpumask_t mask = topology_##name(cpu); \ +@@ -82,7 +86,8 @@ static ssize_t show_##name(struct sys_de + } + + #define define_siblings_show_list(name) \ +-static ssize_t show_##name##_list(struct sys_device *dev, char *buf) \ ++static ssize_t show_##name##_list(struct sys_device *dev, \ ++ struct sysdev_attribute *attr, char *buf) \ + { \ + unsigned int cpu = dev->id; \ + cpumask_t mask = topology_##name(cpu); \ --- a/drivers/cpuidle/sysfs.c +++ b/drivers/cpuidle/sysfs.c @@ -21,7 +21,8 @@ static int __init cpuidle_sysfs_setup(ch diff --git a/driver-core/sysfs-add-sys-dev-char-block-to-lookup-sysfs-path-by-major-minor.patch b/driver-core/sysfs-add-sys-dev-char-block-to-lookup-sysfs-path-by-major-minor.patch index dada3dd9cf7d04..7c87472d59217a 100644 --- a/driver-core/sysfs-add-sys-dev-char-block-to-lookup-sysfs-path-by-major-minor.patch +++ b/driver-core/sysfs-add-sys-dev-char-block-to-lookup-sysfs-path-by-major-minor.patch @@ -52,7 +52,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/block/genhd.c +++ b/block/genhd.c -@@ -368,7 +368,10 @@ static struct kobject *base_probe(dev_t +@@ -370,7 +370,10 @@ static struct kobject *base_probe(dev_t static int __init genhd_device_init(void) { @@ -258,7 +258,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c -@@ -1748,6 +1748,11 @@ int __init usb_devio_init(void) +@@ -1750,6 +1750,11 @@ int __init usb_devio_init(void) usb_classdev_class = NULL; goto out; } @@ -272,7 +272,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #endif --- a/include/linux/device.h +++ b/include/linux/device.h -@@ -189,6 +189,7 @@ struct class { +@@ -193,6 +193,7 @@ struct class { struct semaphore sem; /* locks children, devices, interfaces */ struct class_attribute *class_attrs; struct device_attribute *dev_attrs; @@ -280,8 +280,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int (*dev_uevent)(struct device *dev, struct kobj_uevent_env *env); -@@ -199,6 +200,8 @@ struct class { - int (*resume)(struct device *dev); +@@ -205,6 +206,8 @@ struct class { + struct pm_ops *pm; }; +extern struct kobject *sysfs_dev_block_kobj; diff --git a/driver-core/sysfs-crash-debugging.patch b/driver-core/sysfs-crash-debugging.patch index 399c6ee476d1a6..25bd29f4dd57c0 100644 --- a/driver-core/sysfs-crash-debugging.patch +++ b/driver-core/sysfs-crash-debugging.patch @@ -27,24 +27,24 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/arch/x86/kernel/traps_32.c +++ b/arch/x86/kernel/traps_32.c -@@ -403,6 +403,7 @@ int __kprobes __die(const char *str, str +@@ -399,6 +399,7 @@ int __kprobes __die(const char *str, str + printk("DEBUG_PAGEALLOC"); #endif printk("\n"); - + sysfs_printk_last_file(); if (notify_die(DIE_OOPS, str, regs, err, - current->thread.trap_no, SIGSEGV) != NOTIFY_STOP) { - + current->thread.trap_no, SIGSEGV) == NOTIFY_STOP) + return 1; --- a/arch/x86/kernel/traps_64.c +++ b/arch/x86/kernel/traps_64.c -@@ -575,6 +575,7 @@ int __kprobes __die(const char * str, st +@@ -549,6 +549,7 @@ int __kprobes __die(const char *str, str printk("DEBUG_PAGEALLOC"); #endif printk("\n"); + sysfs_printk_last_file(); - if (notify_die(DIE_OOPS, str, regs, err, current->thread.trap_no, SIGSEGV) == NOTIFY_STOP) + if (notify_die(DIE_OOPS, str, regs, err, + current->thread.trap_no, SIGSEGV) == NOTIFY_STOP) return 1; - show_registers(regs); --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c @@ -19,10 +19,18 @@ diff --git a/driver-core/ttusb-dec-treat-firmware-data-as-const.patch b/driver-core/ttusb-dec-treat-firmware-data-as-const.patch deleted file mode 100644 index 176f35030668a9..00000000000000 --- a/driver-core/ttusb-dec-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 85cd765fc8b0911f264d0138beb1aab22755d2e6 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:12:00 +0100 -Subject: ttusb-dec: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/media/dvb/ttusb-dec/ttusb_dec.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/media/dvb/ttusb-dec/ttusb_dec.c -+++ b/drivers/media/dvb/ttusb-dec/ttusb_dec.c -@@ -1275,7 +1275,7 @@ static int ttusb_dec_boot_dsp(struct ttu - u8 b1[] = { 0x61 }; - u8 *b; - char idstring[21]; -- u8 *firmware = NULL; -+ const u8 *firmware = NULL; - size_t firmware_size = 0; - u16 firmware_csum = 0; - __be16 firmware_csum_ns; diff --git a/driver-core/tuners-treat-firmware-data-as-const.patch b/driver-core/tuners-treat-firmware-data-as-const.patch deleted file mode 100644 index a6ce14356cfe4e..00000000000000 --- a/driver-core/tuners-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 2fc8e93a169982f1fd5886af6e8a0b9257b41b6a Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:13:34 +0100 -Subject: tuners: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/media/common/tuners/tuner-xc2028.c | 2 +- - drivers/media/common/tuners/xc5000.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/media/common/tuners/tuner-xc2028.c -+++ b/drivers/media/common/tuners/tuner-xc2028.c -@@ -254,7 +254,7 @@ static int load_all_firmwares(struct dvb - { - struct xc2028_data *priv = fe->tuner_priv; - const struct firmware *fw = NULL; -- unsigned char *p, *endp; -+ const unsigned char *p, *endp; - int rc = 0; - int n, n_array; - char name[33]; ---- a/drivers/media/common/tuners/xc5000.c -+++ b/drivers/media/common/tuners/xc5000.c -@@ -278,7 +278,7 @@ static int xc_read_reg(struct xc5000_pri - return result; - } - --static int xc_load_i2c_sequence(struct dvb_frontend *fe, u8 i2c_sequence[]) -+static int xc_load_i2c_sequence(struct dvb_frontend *fe, const u8 *i2c_sequence) - { - struct xc5000_priv *priv = fe->tuner_priv; - diff --git a/driver-core/ueagle-atm-treat-firmware-data-as-const.patch b/driver-core/ueagle-atm-treat-firmware-data-as-const.patch deleted file mode 100644 index 6cc7e5d56c5b67..00000000000000 --- a/driver-core/ueagle-atm-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 1d07869e44cf6fa72895dfce40a8d93598dde79a Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:05:10 +0100 -Subject: ueagle-atm: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/atm/ueagle-atm.c | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - ---- a/drivers/usb/atm/ueagle-atm.c -+++ b/drivers/usb/atm/ueagle-atm.c -@@ -579,7 +579,7 @@ MODULE_PARM_DESC(annex, - * uea_send_modem_cmd - Send a command for pre-firmware devices. - */ - static int uea_send_modem_cmd(struct usb_device *usb, -- u16 addr, u16 size, u8 * buff) -+ u16 addr, u16 size, const u8 *buff) - { - int ret = -ENOMEM; - u8 *xfer_buff; -@@ -604,7 +604,8 @@ static int uea_send_modem_cmd(struct usb - static void uea_upload_pre_firmware(const struct firmware *fw_entry, void *context) - { - struct usb_device *usb = context; -- u8 *pfw, value; -+ const u8 *pfw; -+ u8 value; - u32 crc = 0; - int ret, size; - -@@ -720,7 +721,7 @@ static int uea_load_firmware(struct usb_ - /* - * Make sure that the DSP code provided is safe to use. - */ --static int check_dsp_e1(u8 *dsp, unsigned int len) -+static int check_dsp_e1(const u8 *dsp, unsigned int len) - { - u8 pagecount, blockcount; - u16 blocksize; -@@ -771,7 +772,7 @@ static int check_dsp_e1(u8 *dsp, unsigne - return 0; - } - --static int check_dsp_e4(u8 *dsp, int len) -+static int check_dsp_e4(const u8 *dsp, int len) - { - int i; - struct l1_code *p = (struct l1_code *) dsp; -@@ -819,7 +820,7 @@ static int check_dsp_e4(u8 *dsp, int len - /* - * send data to the idma pipe - * */ --static int uea_idma_write(struct uea_softc *sc, void *data, u32 size) -+static int uea_idma_write(struct uea_softc *sc, const void *data, u32 size) - { - int ret = -ENOMEM; - u8 *xfer_buff; -@@ -903,7 +904,7 @@ static void uea_load_page_e1(struct work - u16 ovl = sc->ovl; - struct block_info_e1 bi; - -- u8 *p; -+ const u8 *p; - u8 pagecount, blockcount; - u16 blockaddr, blocksize; - u32 pageoffset; -@@ -986,7 +987,7 @@ static void __uea_load_page_e4(struct ue - bi.wReserved = cpu_to_be16(UEA_RESERVED); - - do { -- u8 *blockoffset; -+ const u8 *blockoffset; - unsigned int blocksize; - - blockidx = &p->page_header[blockno]; -@@ -1095,7 +1096,7 @@ static inline int wait_cmv_ack(struct ue - #define UCDC_SEND_ENCAPSULATED_COMMAND 0x00 - - static int uea_request(struct uea_softc *sc, -- u16 value, u16 index, u16 size, void *data) -+ u16 value, u16 index, u16 size, const void *data) - { - u8 *xfer_buff; - int ret = -ENOMEM; -@@ -1891,7 +1892,8 @@ static int load_XILINX_firmware(struct u - { - const struct firmware *fw_entry; - int ret, size, u, ln; -- u8 *pfw, value; -+ const u8 *pfw; -+ u8 value; - char *fw_name = FW_DIR "930-fpga.bin"; - - uea_enters(INS_TO_USBDEV(sc)); diff --git a/driver-core/uio-add-write-function-to-allow-irq-masking.patch b/driver-core/uio-add-write-function-to-allow-irq-masking.patch index 36bfcda3469708..4e5ac7ef8dea37 100644 --- a/driver-core/uio-add-write-function-to-allow-irq-masking.patch +++ b/driver-core/uio-add-write-function-to-allow-irq-masking.patch @@ -96,7 +96,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <para> --- a/drivers/uio/uio.c +++ b/drivers/uio/uio.c -@@ -420,6 +420,31 @@ static ssize_t uio_read(struct file *fil +@@ -427,6 +427,31 @@ static ssize_t uio_read(struct file *fil return retval; } @@ -128,7 +128,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> static int uio_find_mem_index(struct vm_area_struct *vma) { int mi; -@@ -539,6 +564,7 @@ static const struct file_operations uio_ +@@ -546,6 +571,7 @@ static const struct file_operations uio_ .open = uio_open, .release = uio_release, .read = uio_read, diff --git a/driver-core/vx-treat-firmware-data-as-const.patch b/driver-core/vx-treat-firmware-data-as-const.patch deleted file mode 100644 index 5026fa1333c3ee..00000000000000 --- a/driver-core/vx-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 70557ce08cb524edf7f5d31d817a5ea39e54fe20 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:02:49 +0100 -Subject: vx: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - sound/drivers/vx/vx_core.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/sound/drivers/vx/vx_core.c -+++ b/sound/drivers/vx/vx_core.c -@@ -453,7 +453,7 @@ int snd_vx_load_boot_image(struct vx_cor - vx_outb(chip, TXM, 0); - vx_outb(chip, TXL, 0); - } else { -- unsigned char *image = boot->data + i; -+ const unsigned char *image = boot->data + i; - if (vx_wait_isr_bit(chip, ISR_TX_EMPTY) < 0) { - snd_printk(KERN_ERR "dsp boot failed at %d\n", i); - return -EIO; -@@ -671,7 +671,7 @@ int snd_vx_dsp_load(struct vx_core *chip - unsigned int i; - int err; - unsigned int csum = 0; -- unsigned char *image, *cptr; -+ const unsigned char *image, *cptr; - - snd_assert(dsp->size % 3 == 0, return -EINVAL); - diff --git a/driver-core/vx222-treat-firmware-data-as-const.patch b/driver-core/vx222-treat-firmware-data-as-const.patch deleted file mode 100644 index 51d4f1660f3fb4..00000000000000 --- a/driver-core/vx222-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 02ed8bf53ac133dfdd867c2c058abf69da74b825 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:01:40 +0100 -Subject: vx222: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - sound/pci/vx222/vx222_ops.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sound/pci/vx222/vx222_ops.c -+++ b/sound/pci/vx222/vx222_ops.c -@@ -359,7 +359,7 @@ static int vx2_load_xilinx_binary(struct - { - unsigned int i; - unsigned int port; -- unsigned char *image; -+ const unsigned char *image; - - /* XILINX reset (wait at least 1 milisecond between reset on and off). */ - vx_outl(chip, CNTRL, VX_CNTRL_REGISTER_VALUE | VX_XILINX_RESET_MASK); diff --git a/driver-core/warn-when-statically-allocated-kobjects-are-used.patch b/driver-core/warn-when-statically-allocated-kobjects-are-used.patch index 109467c1327fac..ffad054311e5ec 100644 --- a/driver-core/warn-when-statically-allocated-kobjects-are-used.patch +++ b/driver-core/warn-when-statically-allocated-kobjects-are-used.patch @@ -47,7 +47,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> void setup_arch(char **); --- a/init/main.c +++ b/init/main.c -@@ -791,12 +791,21 @@ static void run_init_process(char *init_ +@@ -794,12 +794,21 @@ static void run_init_process(char *init_ kernel_execve(init_filename, argv_init, envp_init); } diff --git a/driver-core/x86-microcode-firmware-data-is-const.patch b/driver-core/x86-microcode-firmware-data-is-const.patch deleted file mode 100644 index a881b40189c6f6..00000000000000 --- a/driver-core/x86-microcode-firmware-data-is-const.patch +++ /dev/null @@ -1,33 +0,0 @@ -From foo@baz Tue Apr 9 12:12:43 2002 -Date: Thu, 29 May 2008 10:05:08 -0700 -To: Greg KH <greg@kroah.com> -From: Greg Kroah-Hartman <gregkh@suse.de> -Subject: x86 microcode: firmware data is const - -Cc: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - arch/x86/kernel/microcode.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/arch/x86/kernel/microcode.c -+++ b/arch/x86/kernel/microcode.c -@@ -488,7 +488,7 @@ MODULE_ALIAS_MISCDEV(MICROCODE_MINOR); - #define microcode_dev_exit() do { } while(0) - #endif - --static long get_next_ucode_from_buffer(void **mc, void *buf, -+static long get_next_ucode_from_buffer(void **mc, const u8 *buf, - unsigned long size, long offset) - { - microcode_header_t *mc_header; -@@ -522,7 +522,7 @@ static int cpu_request_microcode(int cpu - char name[30]; - struct cpuinfo_x86 *c = &cpu_data(cpu); - const struct firmware *firmware; -- void *buf; -+ const u8 *buf; - unsigned long size; - long offset = 0; - int error; diff --git a/driver-core/ymfpci-treat-firmware-data-as-const.patch b/driver-core/ymfpci-treat-firmware-data-as-const.patch deleted file mode 100644 index 7b9cf19943785c..00000000000000 --- a/driver-core/ymfpci-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 139d5d9872d404a31406216e2d52624170375a83 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Thu, 29 May 2008 14:40:00 +0300 -Subject: ymfpci: treat firmware data as const - -Standardise both in-kernel and loaded firmware to be stored as -little-endian instead of host-endian. - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - sound/pci/ymfpci/ymfpci_main.c | 59 +++++++++++++++++++++++------------------ - 1 file changed, 34 insertions(+), 25 deletions(-) - ---- a/sound/pci/ymfpci/ymfpci_main.c -+++ b/sound/pci/ymfpci/ymfpci_main.c -@@ -26,6 +26,7 @@ - #include <linux/sched.h> - #include <linux/slab.h> - #include <linux/vmalloc.h> -+#include <linux/mutex.h> - - #include <sound/core.h> - #include <sound/control.h> -@@ -2009,11 +2010,34 @@ static struct firmware snd_ymfpci_contro - .size = YDSXG_CTRLLENGTH, - .data = (u8 *)CntrlInst1E, - }; -+ -+#ifdef __BIG_ENDIAN -+static int microcode_swapped; -+static DEFINE_MUTEX(microcode_swap); -+ -+static void snd_ymfpci_convert_to_le(const struct firmware *fw) -+{ -+ int i; -+ u32 *data = (u32 *)fw->data; -+ -+ for (i = 0; i < fw->size / 4; ++i) -+ cpu_to_le32s(&data[i]); -+} - #endif - --#ifdef CONFIG_SND_YMFPCI_FIRMWARE_IN_KERNEL - static int snd_ymfpci_request_firmware(struct snd_ymfpci *chip) - { -+#ifdef __BIG_ENDIAN -+ mutex_lock(µcode_swap); -+ if (!microcode_swapped) { -+ snd_ymfpci_convert_to_le(&snd_ymfpci_dsp_microcode); -+ snd_ymfpci_convert_to_le(&snd_ymfpci_controller_1e_microcode); -+ snd_ymfpci_convert_to_le(&snd_ymfpci_controller_microcode); -+ microcode_swapped = 1; -+ } -+ mutex_unlock(µcode_swap); -+#endif -+ - chip->dsp_microcode = &snd_ymfpci_dsp_microcode; - if (chip->device_id == PCI_DEVICE_ID_YAMAHA_724F || - chip->device_id == PCI_DEVICE_ID_YAMAHA_740C || -@@ -2029,19 +2053,6 @@ static int snd_ymfpci_request_firmware(s - - #else /* use fw_loader */ - --#ifdef __LITTLE_ENDIAN --static inline void snd_ymfpci_convert_from_le(const struct firmware *fw) { } --#else --static void snd_ymfpci_convert_from_le(const struct firmware *fw) --{ -- int i; -- u32 *data = (u32 *)fw->data; -- -- for (i = 0; i < fw->size / 4; ++i) -- le32_to_cpus(&data[i]); --} --#endif -- - static int snd_ymfpci_request_firmware(struct snd_ymfpci *chip) - { - int err, is_1e; -@@ -2050,9 +2061,7 @@ static int snd_ymfpci_request_firmware(s - err = request_firmware(&chip->dsp_microcode, "yamaha/ds1_dsp.fw", - &chip->pci->dev); - if (err >= 0) { -- if (chip->dsp_microcode->size == YDSXG_DSPLENGTH) -- snd_ymfpci_convert_from_le(chip->dsp_microcode); -- else { -+ if (chip->dsp_microcode->size != YDSXG_DSPLENGTH) { - snd_printk(KERN_ERR "DSP microcode has wrong size\n"); - err = -EINVAL; - } -@@ -2067,9 +2076,7 @@ static int snd_ymfpci_request_firmware(s - err = request_firmware(&chip->controller_microcode, name, - &chip->pci->dev); - if (err >= 0) { -- if (chip->controller_microcode->size == YDSXG_CTRLLENGTH) -- snd_ymfpci_convert_from_le(chip->controller_microcode); -- else { -+ if (chip->controller_microcode->size != YDSXG_CTRLLENGTH) { - snd_printk(KERN_ERR "controller microcode" - " has wrong size\n"); - err = -EINVAL; -@@ -2090,7 +2097,7 @@ static void snd_ymfpci_download_image(st - { - int i; - u16 ctrl; -- u32 *inst; -+ const __le32 *inst; - - snd_ymfpci_writel(chip, YDSXGR_NATIVEDACOUTVOL, 0x00000000); - snd_ymfpci_disable_dsp(chip); -@@ -2105,14 +2112,16 @@ static void snd_ymfpci_download_image(st - snd_ymfpci_writew(chip, YDSXGR_GLOBALCTRL, ctrl & ~0x0007); - - /* setup DSP instruction code */ -- inst = (u32 *)chip->dsp_microcode->data; -+ inst = (const __le32 *)chip->dsp_microcode->data; - for (i = 0; i < YDSXG_DSPLENGTH / 4; i++) -- snd_ymfpci_writel(chip, YDSXGR_DSPINSTRAM + (i << 2), inst[i]); -+ snd_ymfpci_writel(chip, YDSXGR_DSPINSTRAM + (i << 2), -+ le32_to_cpu(inst[i])); - - /* setup control instruction code */ -- inst = (u32 *)chip->controller_microcode->data; -+ inst = (const __le32 *)chip->controller_microcode->data; - for (i = 0; i < YDSXG_CTRLLENGTH / 4; i++) -- snd_ymfpci_writel(chip, YDSXGR_CTRLINSTRAM + (i << 2), inst[i]); -+ snd_ymfpci_writel(chip, YDSXGR_CTRLINSTRAM + (i << 2), -+ le32_to_cpu(inst[i])); - - snd_ymfpci_enable_dsp(chip); - } diff --git a/driver-core/zd1201-treat-firmware-data-as-const.patch b/driver-core/zd1201-treat-firmware-data-as-const.patch deleted file mode 100644 index ab813c46ecc704..00000000000000 --- a/driver-core/zd1201-treat-firmware-data-as-const.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 3c2da2bb1f263845d232151a1126bb9c0ce01ff5 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Sat, 24 May 2008 00:08:19 +0100 -Subject: zd1201: treat firmware data as const - -Signed-off-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/net/wireless/zd1201.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/wireless/zd1201.c -+++ b/drivers/net/wireless/zd1201.c -@@ -49,7 +49,7 @@ MODULE_DEVICE_TABLE(usb, zd1201_table); - static int zd1201_fw_upload(struct usb_device *dev, int apfw) - { - const struct firmware *fw_entry; -- char *data; -+ const char *data; - unsigned long len; - int err; - unsigned char ret; @@ -81,7 +81,6 @@ driver-core/block-make-proc-diskstats-only-build-if-config_proc_fs-is-enabled.pa driver-core/block-make-proc-files-seq_start-use-the-class_find_device.patch driver-core/block-move-header-for-proc-partitions-to-seq_start.patch driver-core/block-make-proc-partitions-and-proc-diskstats-use-class_find_device.patch -driver-core/i2c-use-class_for_each_device.patch driver-core/infiniband-rename-device-to-ib_device-in-cm_device.patch driver-core/infiniband-make-cm_device-use-a-struct-device-and-not-a-kobject.patch driver-core/bluetooth-remove-improper-bluetooth-class-symlinks.patch @@ -123,16 +122,19 @@ driver-core/sysdev-convert-the-x86-mce-tolerant-sysdev-attribute-to-generic-attr driver-core/hp-ilo-driver.patch # bus_id fun -driver-core/pci-make-pci_name-use-dev_name.patch +#driver-core/pci-make-pci_name-use-dev_name.patch driver-core/mtd-handle-pci_name-being-const.patch -driver-core/pci-handle-pci_name-being-const.patch +#driver-core/pci-handle-pci_name-being-const.patch driver-core/3c59x-handle-pci_name-being-const.patch driver-core/sparc64-fix-up-bus_id-changes-in-sparc-core-code.patch -driver-core/s390-bus_id-dev_name-conversions.patch -driver-core/s390-bus_id-dev_set_name-changes.patch -driver-core/s390-more-bus_id-dev_name-conversions.patch -driver-core/s390-use-s390_root_dev_-in-kvm_virtio.patch + +# fixme! +#driver-core/s390-bus_id-dev_name-conversions.patch +#driver-core/s390-bus_id-dev_set_name-changes.patch +#driver-core/s390-more-bus_id-dev_name-conversions.patch +#driver-core/s390-use-s390_root_dev_-in-kvm_virtio.patch driver-core/arm-bus_id-dev_name-and-dev_set_name-conversions.patch + # commented out until we get them broken up smaller... #driver-core/driver-core-prepare-for-removal-of-20-char-limit-from-struct-device.patch #driver-core/driver-core-convert-to-new-device-api-to-allow-names-longer-than-20-chars.patch @@ -142,40 +144,6 @@ driver-core/arm-bus_id-dev_name-and-dev_set_name-conversions.patch #driver-core-provide-a-dev_set_name-that-handles-names-longer-than-20-chars.patch -# firmware stuff -driver-core/libertas-treat-firmware-data-as-const.patch -driver-core/bluetooth-treat-firmware-data-as-const.patch -driver-core/cyclades-treat-firmware-data-as-const.patch -driver-core/cx25840-treat-firmware-data-as-const.patch -driver-core/myri10ge-treat-firmware-data-as-const.patch -driver-core/vx222-treat-firmware-data-as-const.patch -driver-core/riptide-treat-firmware-data-as-const.patch -driver-core/pcxhr-treat-firmware-data-as-const.patch -driver-core/vx-treat-firmware-data-as-const.patch -driver-core/ueagle-atm-treat-firmware-data-as-const.patch -driver-core/cxacru-treat-firmware-data-as-const.patch -driver-core/aic94xx-treat-firmware-data-as-const.patch -driver-core/zd1201-treat-firmware-data-as-const.patch -driver-core/rt2x00-treat-firmware-data-as-const.patch -driver-core/p54-treat-firmware-data-as-const.patch -driver-core/atmel-treat-firmware-data-as-const.patch -driver-core/irda-usb-treat-firmware-data-as-const.patch -driver-core/cxgb3-treat-firmware-data-as-const.patch -driver-core/bt8xx-treat-firmware-data-as-const.patch -driver-core/ttusb-dec-treat-firmware-data-as-const.patch -driver-core/dvb-frontends-treat-firmware-data-as-const.patch -driver-core/cxusb-treat-firmware-data-as-const.patch -driver-core/gp8psk-treat-firmware-data-as-const.patch -driver-core/tuners-treat-firmware-data-as-const.patch -driver-core/maestro3-treat-firmware-data-as-const.patch -driver-core/ymfpci-treat-firmware-data-as-const.patch -driver-core/isight-firmware-data-is-const.patch -driver-core/dell_rbu-firmware-data-is-const.patch -driver-core/x86-microcode-firmware-data-is-const.patch -driver-core/firmware-make-fw-data-const.patch - - - driver-core/net-convert-the-phy_device-file-to-use-bus_find_device_by_name.patch # helper tools, not for mainline. @@ -191,7 +159,6 @@ usb/usb-revert-don-t-lose-disconnections-during-suspend.patch usb/usb-usb-dev_name-instead-of-dev-bus_id.patch usb/usb-usb-dev_set_name-instead-of-dev-bus_id.patch usb/usb-use-get_unaligned_-helpers-for-kl5kusb105-driver.patch -usb/ti_usb-kick-firmware-into-user-space.patch usb/usb-add-new-routine-for-checking-port-resume-type.patch usb/usb-debounce-before-unregistering.patch usb/usb-revert-don-t-use-reset-resume-if-drivers-don-t-support-it.patch diff --git a/usb/ti_usb-kick-firmware-into-user-space.patch b/usb/ti_usb-kick-firmware-into-user-space.patch deleted file mode 100644 index 811df39bcdc96b..00000000000000 --- a/usb/ti_usb-kick-firmware-into-user-space.patch +++ /dev/null @@ -1,226 +0,0 @@ -From alan@lxorguk.ukuu.org.uk Wed Apr 30 11:30:07 2008 -From: Alan Cox <alan@lxorguk.ukuu.org.uk> -Date: Tue, 29 Apr 2008 14:38:22 +0100 -Subject: ti_usb: kick firmware into user space -To: greg@kroah.com, linux-usb@vger.kernel.org -Message-ID: <20080429143822.19af46a5@core> - - -The patch leaves a compile it in option as distributions need time to -update to this, and hopefully to doing the same over time with more -serial drivers. Firmware belongs on disk (cheap) not in kernel non paged -memory. - -Signed-off-by: Alan Cox <alan@redhat.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/Kconfig | 8 ++ - drivers/usb/serial/ti_fw_3410.h | 4 + - drivers/usb/serial/ti_fw_5052.h | 5 + - drivers/usb/serial/ti_usb_3410_5052.c | 106 ++++++++++++++++++++++------------ - 4 files changed, 87 insertions(+), 36 deletions(-) - ---- a/drivers/usb/serial/Kconfig -+++ b/drivers/usb/serial/Kconfig -@@ -523,6 +523,14 @@ config USB_SERIAL_TI - To compile this driver as a module, choose M here: the - module will be called ti_usb_3410_5052. - -+config USB_SERIAL_TI_FIRMWARE -+ bool "USB TI 3410/5052 Firmware" -+ depends on USB_SERIAL_TI -+ help -+ say Y to include the firmware into the kernel for compatibility -+ with older setups. Say N if you have the firmware files installed -+ in /etc/firmware. -+ - config USB_SERIAL_CYBERJACK - tristate "USB REINER SCT cyberJack pinpad/e-com chipcard reader" - ---help--- ---- a/drivers/usb/serial/ti_fw_3410.h -+++ b/drivers/usb/serial/ti_fw_3410.h -@@ -882,4 +882,8 @@ static unsigned char ti_fw_3410[] = { - 0x00,0x00, - }; - -+static struct firmware fw_3410 = { -+ sizeof(ti_fw_3410), -+ ti_fw_3410 -+}; - #endif /* ifndef _TI_FW_3410_H_ */ ---- a/drivers/usb/serial/ti_fw_5052.h -+++ b/drivers/usb/serial/ti_fw_5052.h -@@ -882,4 +882,9 @@ static unsigned char ti_fw_5052[] = { - 0x00, - }; - -+static struct firmware fw_5052 = { -+ sizeof(ti_fw_5052), -+ ti_fw_5052 -+}; -+ - #endif /* ifndef _TI_FW_5052_H_ */ ---- a/drivers/usb/serial/ti_usb_3410_5052.c -+++ b/drivers/usb/serial/ti_usb_3410_5052.c -@@ -70,6 +70,7 @@ - - #include <linux/kernel.h> - #include <linux/errno.h> -+#include <linux/firmware.h> - #include <linux/init.h> - #include <linux/slab.h> - #include <linux/tty.h> -@@ -86,9 +87,14 @@ - #include <linux/usb/serial.h> - - #include "ti_usb_3410_5052.h" -+ -+#ifdef CONFIG_USB_SERIAL_TI_FIRMWARE -+/* Keep compatibility option for a while so we don't break systems -+ as we kick the firmware out into user space. In time this will -+ go away */ - #include "ti_fw_3410.h" /* firmware image for 3410 */ - #include "ti_fw_5052.h" /* firmware image for 5052 */ -- -+#endif - - /* Defines */ - -@@ -194,8 +200,7 @@ static int ti_command_in_sync(struct ti_ - static int ti_write_byte(struct ti_device *tdev, unsigned long addr, - __u8 mask, __u8 byte); - --static int ti_download_firmware(struct ti_device *tdev, -- unsigned char *firmware, unsigned int firmware_size); -+static int ti_download_firmware(struct ti_device *tdev, int type); - - /* circular buffer */ - static struct circ_buf *ti_buf_alloc(void); -@@ -429,13 +434,10 @@ static int ti_startup(struct usb_serial - - /* if we have only 1 configuration, download firmware */ - if (dev->descriptor.bNumConfigurations == 1) { -- - if (tdev->td_is_3410) -- status = ti_download_firmware(tdev, ti_fw_3410, -- sizeof(ti_fw_3410)); -+ status = ti_download_firmware(tdev, 3410); - else -- status = ti_download_firmware(tdev, ti_fw_5052, -- sizeof(ti_fw_5052)); -+ status = ti_download_firmware(tdev, 5052); - if (status) - goto free_tdev; - -@@ -1656,50 +1658,82 @@ static int ti_write_byte(struct ti_devic - return status; - } - -- --static int ti_download_firmware(struct ti_device *tdev, -- unsigned char *firmware, unsigned int firmware_size) -+static int ti_do_download(struct usb_device *dev, int pipe, -+ u8 *buffer, int size) - { -- int status = 0; -- int buffer_size; - int pos; -- int len; -+ u8 cs = 0; - int done; -- __u8 cs = 0; -- __u8 *buffer; -- struct usb_device *dev = tdev->td_serial->dev; - struct ti_firmware_header *header; -- unsigned int pipe = usb_sndbulkpipe(dev, -- tdev->td_serial->port[0]->bulk_out_endpointAddress); -- -- -- buffer_size = TI_FIRMWARE_BUF_SIZE + sizeof(struct ti_firmware_header); -- buffer = kmalloc(buffer_size, GFP_KERNEL); -- if (!buffer) { -- dev_err(&dev->dev, "%s - out of memory\n", __func__); -- return -ENOMEM; -- } -- -- memcpy(buffer, firmware, firmware_size); -- memset(buffer+firmware_size, 0xff, buffer_size-firmware_size); -+ int status; -+ int len; - -- for(pos = sizeof(struct ti_firmware_header); pos < buffer_size; pos++) -+ for(pos = sizeof(struct ti_firmware_header); pos < size; pos++) - cs = (__u8)(cs + buffer[pos]); - - header = (struct ti_firmware_header *)buffer; -- header->wLength = cpu_to_le16((__u16)(buffer_size - sizeof(struct ti_firmware_header))); -+ header->wLength = cpu_to_le16((__u16)(size -+ - sizeof(struct ti_firmware_header))); - header->bCheckSum = cs; - - dbg("%s - downloading firmware", __func__); -- for (pos = 0; pos < buffer_size; pos += done) { -- len = min(buffer_size - pos, TI_DOWNLOAD_MAX_PACKET_SIZE); -- status = usb_bulk_msg(dev, pipe, buffer+pos, len, &done, 1000); -+ for (pos = 0; pos < size; pos += done) { -+ len = min(size - pos, TI_DOWNLOAD_MAX_PACKET_SIZE); -+ status = usb_bulk_msg(dev, pipe, buffer + pos, len, -+ &done, 1000); - if (status) - break; - } -+ return status; -+} -+ -+ -+static int ti_download_firmware(struct ti_device *tdev, int type) -+{ -+ int status = -ENOMEM; -+ int buffer_size; -+ __u8 *buffer; -+ struct usb_device *dev = tdev->td_serial->dev; -+ unsigned int pipe = usb_sndbulkpipe(dev, -+ tdev->td_serial->port[0]->bulk_out_endpointAddress); -+ const struct firmware *fw_p; -+ -+#ifdef CONFIG_USB_SERIAL_TI_FIRMWARE -+ switch (type) { -+ case 3410: -+ fw_p = &fw_3410; -+ break; -+ case 5052: -+ fw_p = &fw_5052; -+ break; -+ default: -+ return -EINVAL; -+ } -+#else -+ char buf[32]; -+ sprintf(buf, "ti_usb-%d.bin", type); - -- kfree(buffer); -+ if (request_firmware(&fw_p, buf, &dev->dev)) { -+ dev_err(&dev->dev, "%s - firmware not found\n", __func__); -+ return -ENOENT; -+ } -+ if (fw_p->size > TI_FIRMWARE_BUF_SIZE) { -+ dev_err(&dev->dev, "%s - firmware too large\n", __func__); -+ return -ENOENT; -+ } -+#endif - -+ buffer_size = TI_FIRMWARE_BUF_SIZE + sizeof(struct ti_firmware_header); -+ buffer = kmalloc(buffer_size, GFP_KERNEL); -+ if (buffer) { -+ memcpy(buffer, fw_p->data, fw_p->size); -+ memset(buffer + fw_p->size, 0xff, buffer_size - fw_p->size); -+ ti_do_download(dev, pipe, buffer, fw_p->size); -+ kfree(buffer); -+ } -+#ifdef CONFIG_USB_SERIAL_TI_FIRMWARE -+ release_firmware(fw_p); -+#endif - if (status) { - dev_err(&dev->dev, "%s - error downloading firmware, %d\n", __func__, status); - return status; diff --git a/usb/usb-ethernet-gadget-use-composite-gadget-framework.patch b/usb/usb-ethernet-gadget-use-composite-gadget-framework.patch index 5796c1cbe435f6..fff9af2a4eb0de 100644 --- a/usb/usb-ethernet-gadget-use-composite-gadget-framework.patch +++ b/usb/usb-ethernet-gadget-use-composite-gadget-framework.patch @@ -287,7 +287,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> -/* For CDC-incapable hardware, choose the simple cdc subset. - * Anything that talks bulk (without notable bugs) can do this. - */ --#ifdef CONFIG_USB_GADGET_PXA2XX +-#ifdef CONFIG_USB_GADGET_PXA25X -#define DEV_CONFIG_SUBSET -#endif - diff --git a/usb/usb-fix-uninitialized-variable-warning-in-keyspan_pda.patch b/usb/usb-fix-uninitialized-variable-warning-in-keyspan_pda.patch index c738d0cb9cd9b2..fa3914082fb5dc 100644 --- a/usb/usb-fix-uninitialized-variable-warning-in-keyspan_pda.patch +++ b/usb/usb-fix-uninitialized-variable-warning-in-keyspan_pda.patch @@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/usb/serial/keyspan_pda.c +++ b/drivers/usb/serial/keyspan_pda.c -@@ -420,7 +420,7 @@ static int keyspan_pda_get_modem_info(st +@@ -408,7 +408,7 @@ static int keyspan_pda_get_modem_info(st 3, /* get pins */ USB_TYPE_VENDOR|USB_RECIP_INTERFACE|USB_DIR_IN, 0, 0, &data, 1, 2000); diff --git a/usb/usb-fix-usb_reset_device-and-usb_reset_composite_device.patch b/usb/usb-fix-usb_reset_device-and-usb_reset_composite_device.patch index fc9b17224c1929..b1b4c52fe00225 100644 --- a/usb/usb-fix-usb_reset_device-and-usb_reset_composite_device.patch +++ b/usb/usb-fix-usb_reset_device-and-usb_reset_composite_device.patch @@ -47,7 +47,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com> } --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c -@@ -870,7 +870,7 @@ static int proc_connectinfo(struct dev_s +@@ -872,7 +872,7 @@ static int proc_connectinfo(struct dev_s static int proc_resetdevice(struct dev_state *ps) { diff --git a/usb/usb-gadget-push-bkl-down-into-drivers.patch b/usb/usb-gadget-push-bkl-down-into-drivers.patch index 3b29204bd98237..6eda7dd04ad4ca 100644 --- a/usb/usb-gadget-push-bkl-down-into-drivers.patch +++ b/usb/usb-gadget-push-bkl-down-into-drivers.patch @@ -90,7 +90,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/usb/gadget/printer.c +++ b/drivers/usb/gadget/printer.c -@@ -827,9 +827,8 @@ printer_poll(struct file *fd, poll_table +@@ -828,9 +828,8 @@ printer_poll(struct file *fd, poll_table return status; } @@ -102,7 +102,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct printer_dev *dev = fd->private_data; unsigned long flags; -@@ -868,7 +867,7 @@ static struct file_operations printer_io +@@ -869,7 +868,7 @@ static struct file_operations printer_io .write = printer_write, .fsync = printer_fsync, .poll = printer_poll, diff --git a/usb/usb-io_ti-first-cut-at-a-big-clean-up.patch b/usb/usb-io_ti-first-cut-at-a-big-clean-up.patch index 7b43a50009cd8d..2efd7615aec252 100644 --- a/usb/usb-io_ti-first-cut-at-a-big-clean-up.patch +++ b/usb/usb-io_ti-first-cut-at-a-big-clean-up.patch @@ -20,47 +20,9 @@ Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- - drivers/usb/serial/io_fw_down3.h | 11 - drivers/usb/serial/io_ti.c | 1890 +++++++++++++++++---------------------- - 2 files changed, 870 insertions(+), 1031 deletions(-) + drivers/usb/serial/io_ti.c | 1864 ++++++++++++++++++++------------------------- + 1 file changed, 854 insertions(+), 1010 deletions(-) ---- a/drivers/usb/serial/io_fw_down3.h -+++ b/drivers/usb/serial/io_fw_down3.h -@@ -5,22 +5,22 @@ - //************************************************************** - - --static int IMAGE_SIZE = 12938; -+static const int fw_size = 12938; - --struct EDGE_FIRMWARE_VERSION_INFO -+struct fw_revision - { - unsigned char MajorVersion; - unsigned char MinorVersion; - unsigned short BuildNumber; - }; - --static struct EDGE_FIRMWARE_VERSION_INFO IMAGE_VERSION_NAME = -+static const struct fw_revision fw_version = - { - 4, 80, 0 // Major, Minor, Build - - }; - --static unsigned char IMAGE_ARRAY_NAME[] = -+static const unsigned char fw_image[] = - { - // struct ImageHdr - // { -@@ -841,7 +841,4 @@ static unsigned char IMAGE_ARRAY_NAME[] - 0x12, 0x1e, 0x14, 0x22, 0xc2, 0x08, 0x22, - }; - --#undef IMAGE_VERSION_NAME -- --#undef IMAGE_ARRAY_NAME - --- a/drivers/usb/serial/io_ti.c +++ b/drivers/usb/serial/io_ti.c @@ -18,8 +18,8 @@ @@ -74,26 +36,16 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> * David Iacovelli (davidi@ionetworks.com) * */ -@@ -37,7 +37,7 @@ - #include <linux/mutex.h> +@@ -38,7 +38,7 @@ #include <linux/serial.h> #include <linux/ioctl.h> + #include <linux/firmware.h> -#include <asm/uaccess.h> +#include <linux/uaccess.h> #include <linux/usb.h> #include <linux/usb/serial.h> -@@ -54,27 +54,25 @@ - - - /* firmware image code */ --#define IMAGE_VERSION_NAME PagableOperationalCodeImageVersion --#define IMAGE_ARRAY_NAME PagableOperationalCodeImage --#define IMAGE_SIZE PagableOperationalCodeSize --#include "io_fw_down3.h" /* Define array OperationalCodeImage[] */ -+#include "io_fw_down3.h" /* Define array fw_image[] */ - - #define EPROM_PAGE_SIZE 64 +@@ -57,18 +57,19 @@ struct edgeport_uart_buf_desc { @@ -119,7 +71,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> /* read urb state */ #define EDGE_READ_URB_RUNNING 0 -@@ -88,10 +86,9 @@ struct edgeport_uart_buf_desc { +@@ -82,10 +83,9 @@ struct edgeport_uart_buf_desc { /* Product information read from the Edgeport */ @@ -133,7 +85,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } __attribute__((packed)); /* circular buffer */ -@@ -122,7 +119,7 @@ struct edgeport_port { +@@ -116,7 +116,7 @@ struct edgeport_port { happen */ struct edgeport_serial *edge_serial; struct usb_serial_port *port; @@ -142,7 +94,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> spinlock_t ep_lock; int ep_read_urb_state; int ep_write_urb_in_use; -@@ -131,8 +128,9 @@ struct edgeport_port { +@@ -125,8 +125,9 @@ struct edgeport_port { struct edgeport_serial { struct product_info product_info; @@ -154,7 +106,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> struct mutex es_lock; int num_ports_open; struct usb_serial *serial; -@@ -220,7 +218,7 @@ static struct usb_device_id id_table_com +@@ -214,7 +215,7 @@ static struct usb_device_id id_table_com { } }; @@ -163,12 +115,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> static struct usb_driver io_driver = { .name = "io_ti", -@@ -231,23 +229,24 @@ static struct usb_driver io_driver = { - }; - - --static struct EDGE_FIRMWARE_VERSION_INFO OperationalCodeImageVersion; -+static struct fw_revision op_fw_version; +@@ -231,19 +232,19 @@ static unsigned short OperationalBuildNu static int debug; @@ -177,24 +124,24 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> static int closing_wait = EDGE_CLOSING_WAIT; -static int ignore_cpu_rev = 0; -static int default_uart_mode = 0; /* RS232 */ +- +static int ignore_cpu_rev; +static int default_uart_mode; /* RS232 */ - -static void edge_tty_recv(struct device *dev, struct tty_struct *tty, unsigned char *data, int length); +static void edge_tty_recv(struct device *dev, struct tty_struct *tty, -+ unsigned char *data, int length); ++ unsigned char *data, int length); static void stop_read(struct edgeport_port *edge_port); static int restart_read(struct edgeport_port *edge_port); -static void edge_set_termios (struct usb_serial_port *port, struct ktermios *old_termios); +static void edge_set_termios(struct usb_serial_port *port, -+ struct ktermios *old_termios); ++ struct ktermios *old_termios); static void edge_send(struct usb_serial_port *port); /* sysfs attributes */ -@@ -266,87 +265,57 @@ static unsigned int edge_buf_get(struct +@@ -262,87 +263,57 @@ static unsigned int edge_buf_get(struct unsigned int count); @@ -300,7 +247,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> UMPC_PURGE_PORT, (__u8)(UMPM_UART1_PORT + port_number), mask, -@@ -355,92 +324,87 @@ static int TIPurgeDataSync (struct usb_s +@@ -351,92 +322,87 @@ static int TIPurgeDataSync (struct usb_s } /** @@ -422,7 +369,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> serial->TiReadI2C = 1; -@@ -448,7 +412,8 @@ static int TIReadBootMemory (struct edge +@@ -444,7 +410,8 @@ static int TIReadBootMemory (struct edge } /* Write given block to TI EPROM memory */ @@ -432,7 +379,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { int status = 0; int i; -@@ -456,57 +421,58 @@ static int TIWriteBootMemory (struct edg +@@ -452,57 +419,58 @@ static int TIWriteBootMemory (struct edg /* Must do a read before write */ if (!serial->TiReadI2C) { @@ -514,7 +461,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return status; } -@@ -514,29 +480,31 @@ static int TIWriteDownloadI2C (struct ed +@@ -510,29 +478,31 @@ static int TIWriteDownloadI2C (struct ed start_address += write_length; buffer += write_length; @@ -558,7 +505,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> length -= write_length; start_address += write_length; buffer += write_length; -@@ -545,25 +513,25 @@ static int TIWriteDownloadI2C (struct ed +@@ -541,25 +511,25 @@ static int TIWriteDownloadI2C (struct ed } /* Examine the UMP DMA registers and LSR @@ -589,7 +536,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> as not all platforms can do DMA from stack */ if (!lsr) { -@@ -571,43 +539,39 @@ static int TIIsTxActive (struct edgeport +@@ -567,43 +537,39 @@ static int TIIsTxActive (struct edgeport return -ENOMEM; } /* Read the DMA Count Registers */ @@ -645,7 +592,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { int baud_rate; struct tty_struct *tty = port->port->tty; -@@ -615,7 +579,7 @@ static void TIChasePort(struct edgeport_ +@@ -611,7 +577,7 @@ static void TIChasePort(struct edgeport_ unsigned long flags; if (!timeout) @@ -654,7 +601,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> /* wait for data to drain from the buffer */ spin_lock_irqsave(&port->ep_lock, flags); -@@ -625,7 +589,8 @@ static void TIChasePort(struct edgeport_ +@@ -621,7 +587,8 @@ static void TIChasePort(struct edgeport_ set_current_state(TASK_INTERRUPTIBLE); if (edge_buf_data_avail(port->ep_out_buf) == 0 || timeout == 0 || signal_pending(current) @@ -664,7 +611,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> break; spin_unlock_irqrestore(&port->ep_lock, flags); timeout = schedule_timeout(timeout); -@@ -640,8 +605,9 @@ static void TIChasePort(struct edgeport_ +@@ -636,8 +603,9 @@ static void TIChasePort(struct edgeport_ /* wait for data to drain from the device */ timeout += jiffies; while ((long)(jiffies - timeout) < 0 && !signal_pending(current) @@ -676,7 +623,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> break; msleep(10); } -@@ -651,72 +617,72 @@ static void TIChasePort(struct edgeport_ +@@ -647,72 +615,72 @@ static void TIChasePort(struct edgeport_ return; /* wait one more character time, based on baud rate */ @@ -778,7 +725,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { int start_address; int status; -@@ -724,41 +690,42 @@ static int TIGetDescriptorAddress (struc +@@ -720,41 +688,42 @@ static int TIGetDescriptorAddress (struc /* Search for requested descriptor in I2C */ start_address = 2; do { @@ -830,7 +777,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct device *dev = &serial->serial->dev->dev; int status = 0; -@@ -767,120 +734,124 @@ static int TiValidateI2cImage (struct ed +@@ -763,120 +732,124 @@ static int TiValidateI2cImage (struct ed __u8 *buffer; __u16 ttype; @@ -1006,9 +953,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { __u8 *buffer; int buffer_size; -@@ -890,155 +861,155 @@ static int BuildI2CFirmwareHeader (__u8 - struct ti_i2c_image_header *img_header; - struct ti_i2c_firmware_rec *firmware_rec; +@@ -889,24 +862,28 @@ static int BuildI2CFirmwareHeader (__u8 + const struct firmware *fw; + const char *fw_name = "edgeport/down3.bin"; - // In order to update the I2C firmware we must change the type 2 record to type 0xF2. - // This will force the UMP to come up in Boot Mode. Then while in boot mode, the driver @@ -1019,20 +966,19 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - // Allocate a 15.5k buffer + 2 bytes for version number (Firmware Record) - buffer_size = (((1024 * 16) - 512 )+ sizeof(struct ti_i2c_firmware_rec)); -+ /* -+ * In order to update the I2C firmware we must change the type 2 -+ * record to type 0xF2. This will force the UMP to come up in Boot -+ * Mode. Then while in boot mode, the driver will download the latest -+ * firmware (padded to 15.5k) into the UMP ram. Finally when the device -+ * comes back up in download mode the driver will cause the new -+ * firmware to be copied from the UMP Ram to I2C and the firmware -+ * will update the record type from 0xf2 to 0x02. ++ /* In order to update the I2C firmware we must change the type 2 record ++ * to type 0xF2. This will force the UMP to come up in Boot Mode. ++ * Then while in boot mode, the driver will download the latest ++ * firmware (padded to 15.5k) into the UMP ram. And finally when the ++ * device comes back up in download mode the driver will cause the new ++ * firmware to be copied from the UMP Ram to I2C and the firmware will ++ * update the record type from 0xf2 to 0x02. + */ + + /* Allocate a 15.5k buffer + 2 bytes for version number -+ (Firmware Record) */ -+ buffer_size = (((1024 * 16) - 512) + -+ sizeof(struct ti_i2c_firmware_rec)); ++ * (Firmware Record) */ ++ buffer_size = (((1024 * 16) - 512 ) + ++ sizeof(struct ti_i2c_firmware_rec)); - buffer = kmalloc (buffer_size, GFP_KERNEL); + buffer = kmalloc(buffer_size, GFP_KERNEL); @@ -1042,56 +988,50 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return -ENOMEM; } - -- // Set entire image of 0xffs ++ + // Set entire image of 0xffs - memset (buffer, 0xff, buffer_size); ++ memset(buffer, 0xff, buffer_size); + + err = request_firmware(&fw, fw_name, dev); + if (err) { +@@ -921,16 +898,16 @@ static int BuildI2CFirmwareHeader (__u8 + OperationalMinorVersion = fw->data[1]; + OperationalBuildNumber = fw->data[2] | (fw->data[3] << 8); - // Copy version number into firmware record -+ /* Set entire image of 0xffs */ -+ memset(buffer, 0xff, buffer_size); -+ + /* Copy version number into firmware record */ firmware_rec = (struct ti_i2c_firmware_rec *)buffer; -- firmware_rec->Ver_Major = OperationalCodeImageVersion.MajorVersion; -- firmware_rec->Ver_Minor = OperationalCodeImageVersion.MinorVersion; -+ firmware_rec->Ver_Major = op_fw_version.MajorVersion; -+ firmware_rec->Ver_Minor = op_fw_version.MinorVersion; + firmware_rec->Ver_Major = OperationalMajorVersion; + firmware_rec->Ver_Minor = OperationalMinorVersion; - // Pointer to fw_down memory image -- img_header = (struct ti_i2c_image_header *)&PagableOperationalCodeImage[0]; + /* Pointer to fw_down memory image */ -+ img_header = (struct ti_i2c_image_header *)&fw_image[0]; + img_header = (struct ti_i2c_image_header *)&fw->data[4]; - memcpy (buffer + sizeof(struct ti_i2c_firmware_rec), -- &PagableOperationalCodeImage[sizeof(struct ti_i2c_image_header)], + memcpy(buffer + sizeof(struct ti_i2c_firmware_rec), -+ &fw_image[sizeof(struct ti_i2c_image_header)], + &fw->data[4 + sizeof(struct ti_i2c_image_header)], le16_to_cpu(img_header->Length)); -- for (i=0; i < buffer_size; i++) { -+ for (i = 0; i < buffer_size; i++) +@@ -940,12 +917,12 @@ static int BuildI2CFirmwareHeader (__u8 cs = (__u8)(cs + buffer[i]); -- } -+ kfree(buffer); + } - kfree (buffer); -- ++ kfree(buffer); + - // Build new header + /* Build new header */ i2c_header = (struct ti_i2c_desc *)header; -- firmware_rec = (struct ti_i2c_firmware_rec*)i2c_header->Data; + firmware_rec = (struct ti_i2c_firmware_rec*)i2c_header->Data; - -+ firmware_rec = (struct ti_i2c_firmware_rec *)i2c_header->Data; + i2c_header->Type = I2C_DESC_TYPE_FIRMWARE_BLANK; i2c_header->Size = (__u16)buffer_size; i2c_header->CheckSum = cs; -- firmware_rec->Ver_Major = OperationalCodeImageVersion.MajorVersion; -- firmware_rec->Ver_Minor = OperationalCodeImageVersion.MinorVersion; -+ firmware_rec->Ver_Major = op_fw_version.MajorVersion; -+ firmware_rec->Ver_Minor = op_fw_version.MinorVersion; - - return 0; +@@ -956,103 +933,100 @@ static int BuildI2CFirmwareHeader (__u8 } /* Try to figure out what type of I2c we have */ @@ -1233,7 +1173,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct device *dev = &serial->serial->dev->dev; int status = 0; -@@ -1057,28 +1028,31 @@ static int TIDownloadFirmware (struct ed +@@ -1071,22 +1045,25 @@ static int TIDownloadFirmware (struct ed /* Default to type 2 i2c */ serial->TI_I2C_Type = DTK_ADDR_SPACE_I2C_TYPE_II; @@ -1263,18 +1203,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + /* Otherwise we will remain in configuring mode */ serial->product_info.TiMode = TI_MODE_CONFIGURING; -- // Save Download Version Number -- OperationalCodeImageVersion.MajorVersion = PagableOperationalCodeImageVersion.MajorVersion; -- OperationalCodeImageVersion.MinorVersion = PagableOperationalCodeImageVersion.MinorVersion; -- OperationalCodeImageVersion.BuildNumber = PagableOperationalCodeImageVersion.BuildNumber; -+ /* Save Download Version Number */ -+ op_fw_version.MajorVersion = fw_version.MajorVersion; -+ op_fw_version.MinorVersion = fw_version.MinorVersion; -+ op_fw_version.BuildNumber = fw_version.BuildNumber; - /********************************************************************/ - /* Download Mode */ -@@ -1088,256 +1062,276 @@ static int TIDownloadFirmware (struct ed +@@ -1097,256 +1074,273 @@ static int TIDownloadFirmware (struct ed dbg("%s - RUNNING IN DOWNLOAD MODE", __func__); @@ -1310,13 +1240,14 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - TI_GET_CPU_REVISION(ti_manuf_desc->CpuRev_BoardRev)); - kfree (ti_manuf_desc); - return -EINVAL; +- } + /* Check version number of ION descriptor */ + if (!ignore_cpu_rev && ti_cpu_rev(ti_manuf_desc) < 2) { + dbg("%s - Wrong CPU Rev %d (Must be 2)", + __func__, ti_cpu_rev(ti_manuf_desc)); + kfree(ti_manuf_desc); + return -EINVAL; - } ++ } - rom_desc = kmalloc (sizeof (*rom_desc), GFP_KERNEL); + rom_desc = kmalloc(sizeof(*rom_desc), GFP_KERNEL); @@ -1348,8 +1279,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - dev_err (dev, "%s - out of memory.\n", __func__); - kfree (rom_desc); - kfree (ti_manuf_desc); -+ dev_err(dev, "%s - out of memory.\n", -+ __func__); ++ dev_err(dev, "%s - out of memory.\n", __func__); + kfree(rom_desc); + kfree(ti_manuf_desc); return -ENOMEM; @@ -1382,41 +1312,47 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + version in I2c */ + download_cur_ver = (firmware_version->Ver_Major << 8) + (firmware_version->Ver_Minor); -- download_new_ver = (OperationalCodeImageVersion.MajorVersion << 8) + -- (OperationalCodeImageVersion.MinorVersion); -+ download_new_ver = (op_fw_version.MajorVersion << 8) + -+ (op_fw_version.MinorVersion); + download_new_ver = (OperationalMajorVersion << 8) + + (OperationalMinorVersion); - dbg ("%s - >>>Firmware Versions Device %d.%d Driver %d.%d", -+ dbg("%s - >>>FW Versions Device %d.%d Driver %d.%d", - __func__, - firmware_version->Ver_Major, - firmware_version->Ver_Minor, -- OperationalCodeImageVersion.MajorVersion, -- OperationalCodeImageVersion.MinorVersion); -+ op_fw_version.MajorVersion, -+ op_fw_version.MinorVersion); +- __func__, +- firmware_version->Ver_Major, +- firmware_version->Ver_Minor, +- OperationalMajorVersion, +- OperationalMinorVersion); ++ dbg("%s - >> FW Versions Device %d.%d Driver %d.%d", ++ __func__, ++ firmware_version->Ver_Major, ++ firmware_version->Ver_Minor, ++ OperationalMajorVersion, ++ OperationalMinorVersion); - // Check if we have an old version in the I2C and update if necessary + /* Check if we have an old version in the I2C and + update if necessary */ if (download_cur_ver != download_new_ver) { - dbg ("%s - Update I2C Download from %d.%d to %d.%d", -+ dbg("%s - Update I2C dld from %d.%d to %d.%d", - __func__, - firmware_version->Ver_Major, - firmware_version->Ver_Minor, -- OperationalCodeImageVersion.MajorVersion, -- OperationalCodeImageVersion.MinorVersion); -+ op_fw_version.MajorVersion, -+ op_fw_version.MinorVersion); - +- __func__, +- firmware_version->Ver_Major, +- firmware_version->Ver_Minor, +- OperationalMajorVersion, +- OperationalMinorVersion); +- - // In order to update the I2C firmware we must change the type 2 record to type 0xF2. - // This will force the UMP to come up in Boot Mode. Then while in boot mode, the driver - // will download the latest firmware (padded to 15.5k) into the UMP ram. - // And finally when the device comes back up in download mode the driver will cause - // the new firmware to be copied from the UMP Ram to I2C and the firmware will update - // the record type from 0xf2 to 0x02. +- ++ dbg("%s - Update I2C dld from %d.%d to %d.%d", ++ __func__, ++ firmware_version->Ver_Major, ++ firmware_version->Ver_Minor, ++ OperationalMajorVersion, ++ OperationalMinorVersion); ++ + /* In order to update the I2C firmware we must + * change the type 2 record to type 0xF2. This + * will force the UMP to come up in Boot Mode. @@ -1429,7 +1365,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + * firmware will update the record type from + * 0xf2 to 0x02. + */ - record = I2C_DESC_TYPE_FIRMWARE_BLANK; - // Change the I2C Firmware record type to 0xf2 to trigger an update @@ -1462,7 +1397,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> start_address, sizeof(record), &record); - +- if (status) { - kfree (firmware_version); - kfree (rom_desc); @@ -1479,7 +1414,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - kfree (rom_desc); - kfree (ti_manuf_desc); + dev_err(dev, -+ "%s - error resetting device\n", ++ "%s - error resetting device\n", + __func__); + kfree(firmware_version); + kfree(rom_desc); @@ -1529,7 +1464,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> __u8 *vheader; - header = kmalloc (HEADER_SIZE, GFP_KERNEL); -+ header = kmalloc(HEADER_SIZE, GFP_KERNEL); ++ header = kmalloc(HEADER_SIZE, GFP_KERNEL); if (!header) { - dev_err (dev, "%s - out of memory.\n", __func__); - kfree (rom_desc); @@ -1642,7 +1577,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - kfree (rom_desc); - kfree (ti_manuf_desc); + dbg("%s - write download record failed", -+ __func__); ++ __func__); + kfree(vheader); + kfree(header); + kfree(rom_desc); @@ -1670,7 +1605,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + UMPC_COPY_DNLD_TO_I2C, 0, 0, NULL, 0); - dbg ("%s - Update complete 0x%x", __func__, status); -+ dbg("%s - Update complete 0x%x", __func__, status); ++ dbg("%s - Update complete 0x%x", __func__, status); if (status) { - dev_err (dev, "%s - UMPC_COPY_DNLD_TO_I2C failed\n", __func__); - kfree (rom_desc); @@ -1684,16 +1619,15 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } } -- // The device is running the download code + // The device is running the download code - kfree (rom_desc); - kfree (ti_manuf_desc); -+ /* The device is running the download code */ + kfree(rom_desc); + kfree(ti_manuf_desc); return 0; } -@@ -1346,32 +1340,26 @@ static int TIDownloadFirmware (struct ed +@@ -1355,32 +1349,26 @@ static int TIDownloadFirmware (struct ed /********************************************************************/ dbg("%s - RUNNING IN BOOT MODE", __func__); @@ -1720,17 +1654,17 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - if (TIGetI2cTypeInBootMode(serial)) { - goto StayInBootMode; - } -+ /* We have an ION device (I2c Must be programmed) -+ Determine I2C image type */ -+ if (i2c_type_bootmode(serial)) -+ goto stayinbootmode; - +- - // Registry variable set? - if (TIStayInBootMode) { - dbg ("%s - TIStayInBootMode", __func__); - goto StayInBootMode; - } -- ++ /* We have an ION device (I2c Must be programmed) ++ Determine I2C image type */ ++ if (i2c_type_bootmode(serial)) ++ goto stayinbootmode; + - // Check for ION Vendor ID and that the I2C is valid - if (!TiValidateI2cImage(serial)) { + /* Check for ION Vendor ID and that the I2C is valid */ @@ -1738,7 +1672,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> struct ti_i2c_image_header *header; int i; __u8 cs = 0; -@@ -1381,241 +1369,124 @@ static int TIDownloadFirmware (struct ed +@@ -1393,49 +1381,52 @@ static int TIDownloadFirmware (struct ed /* Validate Hardware version number * Read Manufacturing Descriptor from TI Based Edgeport */ @@ -1756,14 +1690,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - goto StayInBootMode; + kfree(ti_manuf_desc); + goto stayinbootmode; -+ } -+ -+ /* Check for version 2 */ -+ if (!ignore_cpu_rev && ti_cpu_rev(ti_manuf_desc) < 2) { -+ dbg("%s - Wrong CPU Rev %d (Must be 2)", -+ __func__, ti_cpu_rev(ti_manuf_desc)); -+ kfree(ti_manuf_desc); -+ goto stayinbootmode; } - // Check for version 2 @@ -1783,6 +1709,14 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - // the new firmware to be copied from the UMP Ram to I2C and the firmware will update - // the record type from 0xf2 to 0x02. - ++ /* Check for version 2 */ ++ if (!ignore_cpu_rev && ti_cpu_rev(ti_manuf_desc) < 2) { ++ dbg("%s - Wrong CPU Rev %d (Must be 2)", ++ __func__, ti_cpu_rev(ti_manuf_desc)); ++ kfree(ti_manuf_desc); ++ goto stayinbootmode; ++ } ++ + kfree(ti_manuf_desc); + /* @@ -1814,17 +1748,21 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - // Initialize the buffer to 0xff (pad the buffer) - memset (buffer, 0xff, buffer_size); - -- memcpy (buffer, &PagableOperationalCodeImage[0], PagableOperationalCodeSize); ++ + /* Initialize the buffer to 0xff (pad the buffer) */ + memset(buffer, 0xff, buffer_size); -+ memcpy(buffer, &fw_image[0], fw_size); + + err = request_firmware(&fw, fw_name, dev); + if (err) { +@@ -1447,38 +1438,43 @@ static int TIDownloadFirmware (struct ed + memcpy(buffer, &fw->data[4], fw->size - 4); + release_firmware(fw); - for(i = sizeof(struct ti_i2c_image_header); i < buffer_size; i++) { + for (i = sizeof(struct ti_i2c_image_header); -+ i < buffer_size; i++) ++ i < buffer_size; i++) { cs = (__u8)(cs + buffer[i]); -- } + } - + header = (struct ti_i2c_image_header *)buffer; @@ -1874,14 +1812,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> dbg("%s - STAYING IN BOOT MODE", __func__); serial->product_info.TiMode = TI_MODE_BOOT; - return 0; +@@ -1486,156 +1482,33 @@ StayInBootMode: } -- + -static int TISetDtr (struct edgeport_port *port) -+static int ti_do_config(struct edgeport_port *port, int feature, int on) - { - int port_number = port->port->number - port->port->serial->minor; +-{ +- int port_number = port->port->number - port->port->serial->minor; - - dbg ("%s", __func__); - port->shadow_mcr |= MCR_DTR; @@ -1892,12 +1829,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - 1, /* set */ - NULL, - 0); -+ on = !!on; /* 1 or 0 not bitmask */ -+ return send_cmd(port->port->serial->dev, -+ feature, (__u8)(UMPM_UART1_PORT + port_number), -+ on, NULL, 0); - } - +-} +- -static int TIClearDtr (struct edgeport_port *port) -{ - int port_number = port->port->number - port->port->serial->minor; @@ -1972,8 +1905,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> -} - -static int TISetBreak (struct edgeport_port *port) --{ -- int port_number = port->port->number - port->port->serial->minor; ++static int ti_do_config(struct edgeport_port *port, int feature, int on) + { + int port_number = port->port->number - port->port->serial->minor; - - dbg ("%s", __func__); - @@ -1983,14 +1917,18 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - 1, /* set */ - NULL, - 0); --} -- ++ on = !!on; /* 1 or 0 not bitmask */ ++ return send_cmd(port->port->serial->dev, ++ feature, (__u8)(UMPM_UART1_PORT + port_number), ++ on, NULL, 0); + } + -static int TIClearBreak (struct edgeport_port *port) -{ - int port_number = port->port->number - port->port->serial->minor; - - dbg ("%s", __func__); -- + - return TIWriteCommandSync (port->port->serial->dev, - UMPC_SET_CLR_BREAK, - (__u8)(UMPM_UART1_PORT + port_number), @@ -2034,15 +1972,15 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + return ti_do_config(port, UMPC_SET_CLR_LOOPBACK, mcr & MCR_LOOPBACK); } - - +- +- /* Convert TI LSR to standard UART flags */ -static __u8 MapLineStatus (__u8 ti_lsr) +static __u8 map_line_status(__u8 ti_lsr) { __u8 lsr = 0; -@@ -1627,22 +1498,23 @@ static __u8 MapLineStatus (__u8 ti_lsr) +@@ -1647,22 +1520,23 @@ static __u8 MapLineStatus (__u8 ti_lsr) MAP_FLAG(UMP_UART_LSR_PE_MASK, LSR_PAR_ERR) /* parity error */ MAP_FLAG(UMP_UART_LSR_FE_MASK, LSR_FRM_ERR) /* framing error */ MAP_FLAG(UMP_UART_LSR_BR_MASK, LSR_BREAK) /* break detected */ @@ -2071,7 +2009,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> icount = &edge_port->icount; /* update input line counters */ -@@ -1654,7 +1526,7 @@ static void handle_new_msr (struct edgep +@@ -1674,7 +1548,7 @@ static void handle_new_msr (struct edgep icount->dcd++; if (msr & EDGEPORT_MSR_DELTA_RI) icount->rng++; @@ -2080,7 +2018,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } /* Save the new modem status */ -@@ -1674,26 +1546,28 @@ static void handle_new_msr (struct edgep +@@ -1694,26 +1568,28 @@ static void handle_new_msr (struct edgep return; } @@ -2115,7 +2053,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> /* update input line counters */ icount = &edge_port->icount; -@@ -1708,7 +1582,7 @@ static void handle_new_lsr (struct edgep +@@ -1728,7 +1604,7 @@ static void handle_new_lsr (struct edgep } @@ -2124,7 +2062,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct edgeport_serial *edge_serial = urb->context; struct usb_serial_port *port; -@@ -1742,66 +1616,71 @@ static void edge_interrupt_callback (str +@@ -1762,66 +1638,71 @@ static void edge_interrupt_callback (str } if (!length) { @@ -2219,7 +2157,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct edgeport_port *edge_port = urb->context; unsigned char *data = urb->transfer_buffer; -@@ -1824,15 +1703,16 @@ static void edge_bulk_in_callback (struc +@@ -1844,15 +1725,16 @@ static void edge_bulk_in_callback (struc __func__, status); return; default: @@ -2239,7 +2177,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return; } -@@ -1840,9 +1720,9 @@ static void edge_bulk_in_callback (struc +@@ -1860,9 +1742,9 @@ static void edge_bulk_in_callback (struc if (edge_port->lsr_event) { edge_port->lsr_event = 0; @@ -2251,7 +2189,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> /* Adjust buffer length/pointer */ --urb->actual_length; ++data; -@@ -1850,13 +1730,14 @@ static void edge_bulk_in_callback (struc +@@ -1870,13 +1752,14 @@ static void edge_bulk_in_callback (struc tty = edge_port->port->tty; if (tty && urb->actual_length) { @@ -2273,7 +2211,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> edge_port->icount.rx += urb->actual_length; } -@@ -1871,37 +1752,31 @@ exit: +@@ -1891,37 +1774,31 @@ exit: } spin_unlock(&edge_port->ep_lock); if (retval) @@ -2323,7 +2261,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> edge_port->ep_write_urb_in_use = 0; -@@ -1925,7 +1800,7 @@ static void edge_bulk_out_callback (stru +@@ -1945,7 +1822,7 @@ static void edge_bulk_out_callback (stru edge_send(port); } @@ -2332,7 +2270,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct edgeport_port *edge_port = usb_get_serial_port_data(port); struct edgeport_serial *edge_serial; -@@ -1945,118 +1820,119 @@ static int edge_open (struct usb_serial_ +@@ -1965,118 +1842,119 @@ static int edge_open (struct usb_serial_ port_number = port->number - port->serial->minor; switch (port_number) { @@ -2506,7 +2444,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> goto release_es_lock; } } -@@ -2065,13 +1941,14 @@ static int edge_open (struct usb_serial_ +@@ -2085,13 +1963,14 @@ static int edge_open (struct usb_serial_ * reset the data toggle on the bulk endpoints to work around bug in * host controllers where things get out of sync some times */ @@ -2524,7 +2462,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> status = -EINVAL; goto unlink_int_urb; } -@@ -2079,9 +1956,11 @@ static int edge_open (struct usb_serial_ +@@ -2099,9 +1978,11 @@ static int edge_open (struct usb_serial_ urb->complete = edge_bulk_in_callback; urb->context = edge_port; urb->dev = dev; @@ -2538,7 +2476,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> goto unlink_int_urb; } -@@ -2099,7 +1978,7 @@ release_es_lock: +@@ -2119,7 +2000,7 @@ release_es_lock: return status; } @@ -2547,7 +2485,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct edgeport_serial *edge_serial; struct edgeport_port *edge_port; -@@ -2107,18 +1986,18 @@ static void edge_close (struct usb_seria +@@ -2127,18 +2008,18 @@ static void edge_close (struct usb_seria int status; dbg("%s - port %d", __func__, port->number); @@ -2571,7 +2509,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> usb_kill_urb(port->read_urb); usb_kill_urb(port->write_urb); -@@ -2128,7 +2007,7 @@ static void edge_close (struct usb_seria +@@ -2148,7 +2029,7 @@ static void edge_close (struct usb_seria * send a close port command to it */ dbg("%s - send umpc_close_port", __func__); port_number = port->number - port->serial->minor; @@ -2580,7 +2518,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> UMPC_CLOSE_PORT, (__u8)(UMPM_UART1_PORT + port_number), 0, -@@ -2147,7 +2026,8 @@ static void edge_close (struct usb_seria +@@ -2167,7 +2048,8 @@ static void edge_close (struct usb_seria dbg("%s - exited", __func__); } @@ -2590,7 +2528,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct edgeport_port *edge_port = usb_get_serial_port_data(port); unsigned long flags; -@@ -2203,11 +2083,12 @@ static void edge_send(struct usb_serial_ +@@ -2223,11 +2105,12 @@ static void edge_send(struct usb_serial_ spin_unlock_irqrestore(&edge_port->ep_lock, flags); @@ -2606,7 +2544,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> port->bulk_out_endpointAddress), port->write_urb->transfer_buffer, count, edge_bulk_out_callback, -@@ -2216,22 +2097,21 @@ static void edge_send(struct usb_serial_ +@@ -2236,22 +2119,21 @@ static void edge_send(struct usb_serial_ /* send the data out the bulk port */ result = usb_submit_urb(port->write_urb, GFP_ATOMIC); if (result) { @@ -2636,7 +2574,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct edgeport_port *edge_port = usb_get_serial_port_data(port); int room = 0; -@@ -2240,9 +2120,9 @@ static int edge_write_room (struct usb_s +@@ -2260,9 +2142,9 @@ static int edge_write_room (struct usb_s dbg("%s - port %d", __func__, port->number); if (edge_port == NULL) @@ -2648,7 +2586,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> spin_lock_irqsave(&edge_port->ep_lock, flags); room = edge_buf_space_avail(edge_port->ep_out_buf); -@@ -2252,7 +2132,7 @@ static int edge_write_room (struct usb_s +@@ -2272,7 +2154,7 @@ static int edge_write_room (struct usb_s return room; } @@ -2657,7 +2595,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct edgeport_port *edge_port = usb_get_serial_port_data(port); int chars = 0; -@@ -2261,22 +2141,22 @@ static int edge_chars_in_buffer (struct +@@ -2281,22 +2163,22 @@ static int edge_chars_in_buffer (struct dbg("%s - port %d", __func__, port->number); if (edge_port == NULL) @@ -2685,7 +2623,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int status; dbg("%s - port %d", __func__, port->number); -@@ -2284,19 +2164,14 @@ static void edge_throttle (struct usb_se +@@ -2304,19 +2186,14 @@ static void edge_throttle (struct usb_se if (edge_port == NULL) return; @@ -2710,7 +2648,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } /* if we are implementing RTS/CTS, stop reads */ -@@ -2306,10 +2181,10 @@ static void edge_throttle (struct usb_se +@@ -2326,10 +2203,10 @@ static void edge_throttle (struct usb_se } @@ -2723,7 +2661,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int status; dbg("%s - port %d", __func__, port->number); -@@ -2317,27 +2192,23 @@ static void edge_unthrottle (struct usb_ +@@ -2337,27 +2214,23 @@ static void edge_unthrottle (struct usb_ if (edge_port == NULL) return; @@ -2759,7 +2697,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } } -@@ -2378,22 +2249,26 @@ static int restart_read(struct edgeport_ +@@ -2398,22 +2271,26 @@ static int restart_read(struct edgeport_ return status; } @@ -2790,7 +2728,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return; } -@@ -2407,22 +2282,22 @@ static void change_port_settings (struct +@@ -2427,22 +2304,22 @@ static void change_port_settings (struct config->bUartMode = (__u8)(edge_port->bUartMode); switch (cflag & CSIZE) { @@ -2829,7 +2767,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> break; } -@@ -2437,7 +2312,7 @@ static void change_port_settings (struct +@@ -2457,7 +2334,7 @@ static void change_port_settings (struct dbg("%s - parity = even", __func__); } } else { @@ -2838,7 +2776,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> dbg("%s - parity = none", __func__); } -@@ -2460,29 +2335,26 @@ static void change_port_settings (struct +@@ -2480,29 +2357,26 @@ static void change_port_settings (struct restart_read(edge_port); } @@ -2887,7 +2825,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> tty->termios->c_cflag &= ~CMSPAR; -@@ -2499,62 +2371,52 @@ static void change_port_settings (struct +@@ -2519,62 +2393,52 @@ static void change_port_settings (struct /* FIXME: Recompute actual baud from divisor here */ @@ -2972,7 +2910,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct edgeport_port *edge_port = usb_get_serial_port_data(port); unsigned int mcr; -@@ -2581,8 +2443,7 @@ static int edge_tiocmset (struct usb_ser +@@ -2601,8 +2465,7 @@ static int edge_tiocmset (struct usb_ser edge_port->shadow_mcr = mcr; spin_unlock_irqrestore(&edge_port->ep_lock, flags); @@ -2982,7 +2920,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return 0; } -@@ -2614,7 +2475,8 @@ static int edge_tiocmget(struct usb_seri +@@ -2634,7 +2497,8 @@ static int edge_tiocmget(struct usb_seri return result; } @@ -2992,7 +2930,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct serial_struct tmp; -@@ -2632,17 +2494,14 @@ static int get_serial_info (struct edgep +@@ -2652,17 +2516,14 @@ static int get_serial_info (struct edgep tmp.baud_base = 9600; tmp.close_delay = 5*HZ; tmp.closing_wait = closing_wait; @@ -3012,7 +2950,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct edgeport_port *edge_port = usb_get_serial_port_data(port); struct async_icount cnow; -@@ -2651,81 +2510,63 @@ static int edge_ioctl (struct usb_serial +@@ -2671,81 +2532,63 @@ static int edge_ioctl (struct usb_serial dbg("%s - port %d, cmd = 0x%x", __func__, port->number, cmd); switch (cmd) { @@ -3136,7 +3074,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct edgeport_serial *edge_serial; struct edgeport_port *edge_port; -@@ -2745,9 +2586,9 @@ static int edge_startup (struct usb_seri +@@ -2765,9 +2608,9 @@ static int edge_startup (struct usb_seri edge_serial->serial = serial; usb_set_serial_data(serial, edge_serial); @@ -3148,7 +3086,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return status; } -@@ -2755,13 +2596,15 @@ static int edge_startup (struct usb_seri +@@ -2775,13 +2618,15 @@ static int edge_startup (struct usb_seri for (i = 0; i < serial->num_ports; ++i) { edge_port = kzalloc(sizeof(struct edgeport_port), GFP_KERNEL); if (edge_port == NULL) { @@ -3166,7 +3104,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> kfree(edge_port); goto cleanup; } -@@ -2770,27 +2613,27 @@ static int edge_startup (struct usb_seri +@@ -2790,27 +2635,27 @@ static int edge_startup (struct usb_seri usb_set_serial_port_data(serial->port[i], edge_port); edge_port->bUartMode = default_uart_mode; } @@ -3199,7 +3137,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> for (i = 0; i < serial->num_ports; ++i) { edge_port = usb_get_serial_port_data(serial->port[i]); -@@ -2832,7 +2675,8 @@ static ssize_t store_uart_mode(struct de +@@ -2852,7 +2697,8 @@ static ssize_t store_uart_mode(struct de return count; } @@ -3209,7 +3147,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> static int edge_create_sysfs_attrs(struct usb_serial_port *port) { -@@ -2902,9 +2746,9 @@ static void edge_buf_free(struct edge_bu +@@ -2922,9 +2768,9 @@ static void edge_buf_free(struct edge_bu static void edge_buf_clear(struct edge_buf *eb) { @@ -3222,7 +3160,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } -@@ -2917,10 +2761,9 @@ static void edge_buf_clear(struct edge_b +@@ -2937,10 +2783,9 @@ static void edge_buf_clear(struct edge_b static unsigned int edge_buf_data_avail(struct edge_buf *eb) { @@ -3235,7 +3173,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } -@@ -2933,10 +2776,9 @@ static unsigned int edge_buf_data_avail( +@@ -2953,10 +2798,9 @@ static unsigned int edge_buf_data_avail( static unsigned int edge_buf_space_avail(struct edge_buf *eb) { @@ -3248,7 +3186,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } -@@ -3093,7 +2935,7 @@ static int __init edgeport_init(void) +@@ -3113,7 +2957,7 @@ static int __init edgeport_init(void) if (retval) goto failed_2port_device_register; retval = usb_register(&io_driver); @@ -3257,7 +3195,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> goto failed_usb_register; info(DRIVER_DESC " " DRIVER_VERSION); return 0; -@@ -3105,11 +2947,11 @@ failed_1port_device_register: +@@ -3125,11 +2969,11 @@ failed_1port_device_register: return retval; } @@ -3273,7 +3211,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } module_init(edgeport_init); -@@ -3130,8 +2972,8 @@ module_param(closing_wait, int, S_IRUGO +@@ -3151,8 +2995,8 @@ module_param(closing_wait, int, S_IRUGO MODULE_PARM_DESC(closing_wait, "Maximum wait for data to drain, in .01 secs"); module_param(ignore_cpu_rev, bool, S_IRUGO | S_IWUSR); diff --git a/usb/usb-keyspan-remove-duplicate-device-entries.patch b/usb/usb-keyspan-remove-duplicate-device-entries.patch index fe57697bb15ecc..dcaa43308bf6c5 100644 --- a/usb/usb-keyspan-remove-duplicate-device-entries.patch +++ b/usb/usb-keyspan-remove-duplicate-device-entries.patch @@ -19,7 +19,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/usb/serial/keyspan.h +++ b/drivers/usb/serial/keyspan.h -@@ -222,7 +222,8 @@ struct ezusb_hex_record { +@@ -138,7 +138,8 @@ static int keyspan_usa67_send_setup (st /* Product IDs post-renumeration. Note that the 28x and 28xb have the same id's post-renumeration but behave identically @@ -29,7 +29,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #define keyspan_usa18x_product_id 0x0112 #define keyspan_usa19_product_id 0x0107 #define keyspan_usa19qi_product_id 0x010c -@@ -566,7 +567,6 @@ static struct usb_device_id keyspan_ids_ +@@ -482,7 +483,6 @@ static struct usb_device_id keyspan_ids_ { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28_product_id) }, { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28x_product_id) }, { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xa_product_id) }, @@ -37,7 +37,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xg_product_id) }, { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa49w_product_id)}, { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa49wlc_product_id)}, -@@ -616,7 +616,6 @@ static struct usb_device_id keyspan_2por +@@ -532,7 +532,6 @@ static struct usb_device_id keyspan_2por { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28_product_id) }, { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28x_product_id) }, { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xa_product_id) }, diff --git a/usb/usb-remove-cvs-keywords.patch b/usb/usb-remove-cvs-keywords.patch index de51e25a7f580a..a0853b63ad4259 100644 --- a/usb/usb-remove-cvs-keywords.patch +++ b/usb/usb-remove-cvs-keywords.patch @@ -21,8 +21,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/usb/gadget/rndis.h | 2 -- drivers/usb/misc/emi62.c | 2 -- drivers/usb/serial/digi_acceleport.c | 2 -- - drivers/usb/serial/keyspan_pda.S | 2 +- - drivers/usb/serial/xircom_pgs.S | 2 +- drivers/usb/storage/datafab.c | 2 -- drivers/usb/storage/debug.c | 2 -- drivers/usb/storage/debug.h | 2 -- @@ -50,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/usb/storage/usb.c | 2 -- drivers/usb/storage/usb.h | 2 -- include/linux/usbdevice_fs.h | 2 -- - 35 files changed, 2 insertions(+), 67 deletions(-) + 33 files changed, 65 deletions(-) --- a/drivers/usb/core/devices.c +++ b/drivers/usb/core/devices.c @@ -118,22 +116,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> */ #include <linux/kernel.h> ---- a/drivers/usb/serial/keyspan_pda.S -+++ b/drivers/usb/serial/keyspan_pda.S -@@ -1,4 +1,4 @@ --/* $Id: loop.s,v 1.23 2000/03/20 09:49:06 warner Exp $ -+/* - * - * Firmware for the Keyspan PDA Serial Adapter, a USB serial port based on - * the EzUSB microcontroller. ---- a/drivers/usb/serial/xircom_pgs.S -+++ b/drivers/usb/serial/xircom_pgs.S -@@ -1,4 +1,4 @@ --/* $Id: loop.s,v 1.23 2000/03/20 09:49:06 warner Exp $ -+/* - * - * Firmware for the Keyspan PDA Serial Adapter, a USB serial port based on - * the EzUSB microcontroller. --- a/drivers/usb/storage/datafab.c +++ b/drivers/usb/storage/datafab.c @@ -1,7 +1,5 @@ diff --git a/usb/usb-remove-interface-parameter-of-usb_reset_composite_device.patch b/usb/usb-remove-interface-parameter-of-usb_reset_composite_device.patch index 2fda36e301a2fc..9ef9f790f84f1c 100644 --- a/usb/usb-remove-interface-parameter-of-usb_reset_composite_device.patch +++ b/usb/usb-remove-interface-parameter-of-usb_reset_composite_device.patch @@ -40,7 +40,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c -@@ -870,7 +870,7 @@ static int proc_connectinfo(struct dev_s +@@ -872,7 +872,7 @@ static int proc_connectinfo(struct dev_s static int proc_resetdevice(struct dev_state *ps) { diff --git a/usb/usb-usb-dev_name-instead-of-dev-bus_id.patch b/usb/usb-usb-dev_name-instead-of-dev-bus_id.patch index 4a2a0aa85e776e..c4f716e242fa1c 100644 --- a/usb/usb-usb-dev_name-instead-of-dev-bus_id.patch +++ b/usb/usb-usb-dev_name-instead-of-dev-bus_id.patch @@ -20,7 +20,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/usb/gadget/ether.c | 2 +- drivers/usb/gadget/file_storage.c | 2 +- drivers/usb/gadget/lh7a40x_udc.c | 2 +- - drivers/usb/gadget/pxa2xx_udc.c | 2 +- + drivers/usb/gadget/pxa25x_udc.c | 2 +- drivers/usb/host/ehci-dbg.c | 4 ++-- drivers/usb/host/ehci-fsl.c | 12 ++++++------ drivers/usb/host/ehci-ixp4xx.c | 8 ++++---- @@ -77,7 +77,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/usb/core/file.c +++ b/drivers/usb/core/file.c -@@ -147,7 +147,7 @@ int usb_register_dev(struct usb_interfac +@@ -150,7 +150,7 @@ int usb_register_dev(struct usb_interfac int retval = -EINVAL; int minor_base = class_driver->minor_base; int minor = 0; @@ -86,7 +86,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> char *temp; #ifdef CONFIG_USB_DYNAMIC_MINORS -@@ -187,9 +187,9 @@ int usb_register_dev(struct usb_interfac +@@ -190,9 +190,9 @@ int usb_register_dev(struct usb_interfac intf->minor = minor; /* create a usb class device for this usb interface */ @@ -98,7 +98,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> ++temp; else temp = name; -@@ -225,7 +225,7 @@ void usb_deregister_dev(struct usb_inter +@@ -228,7 +228,7 @@ void usb_deregister_dev(struct usb_inter struct usb_class_driver *class_driver) { int minor_base = class_driver->minor_base; @@ -107,7 +107,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #ifdef CONFIG_USB_DYNAMIC_MINORS minor_base = 0; -@@ -240,7 +240,7 @@ void usb_deregister_dev(struct usb_inter +@@ -243,7 +243,7 @@ void usb_deregister_dev(struct usb_inter usb_minors[intf->minor] = NULL; up_write(&minor_rwsem); @@ -216,9 +216,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } static struct lh7a40x_udc memory = { ---- a/drivers/usb/gadget/pxa2xx_udc.c -+++ b/drivers/usb/gadget/pxa2xx_udc.c -@@ -1813,7 +1813,7 @@ pxa2xx_udc_irq(int irq, void *_dev) +--- a/drivers/usb/gadget/pxa25x_udc.c ++++ b/drivers/usb/gadget/pxa25x_udc.c +@@ -1818,7 +1818,7 @@ pxa25x_udc_irq(int irq, void *_dev) static void nop_release (struct device *dev) { @@ -437,7 +437,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/usb/host/ohci-omap.c +++ b/drivers/usb/host/ohci-omap.c -@@ -326,7 +326,7 @@ static int usb_hcd_omap_probe (const str +@@ -329,7 +329,7 @@ static int usb_hcd_omap_probe (const str } diff --git a/usb/usb-usb-dev_set_name-instead-of-dev-bus_id.patch b/usb/usb-usb-dev_set_name-instead-of-dev-bus_id.patch index a2a4d626d026b9..b63fafb4eefa88 100644 --- a/usb/usb-usb-dev_set_name-instead-of-dev-bus_id.patch +++ b/usb/usb-usb-dev_set_name-instead-of-dev-bus_id.patch @@ -150,7 +150,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> dev->gadget.dev.release = gadget_release; --- a/drivers/usb/gadget/omap_udc.c +++ b/drivers/usb/gadget/omap_udc.c -@@ -2662,7 +2662,7 @@ omap_udc_setup(struct platform_device *o +@@ -2686,7 +2686,7 @@ omap_udc_setup(struct platform_device *o udc->gadget.name = driver_name; device_initialize(&udc->gadget.dev); diff --git a/usb/usbfs-don-t-store-bad-pointers-in-registration.patch b/usb/usbfs-don-t-store-bad-pointers-in-registration.patch index 560709639fa273..f67df52eb45012 100644 --- a/usb/usbfs-don-t-store-bad-pointers-in-registration.patch +++ b/usb/usbfs-don-t-store-bad-pointers-in-registration.patch @@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c -@@ -1724,24 +1724,21 @@ static struct class *usb_classdev_class; +@@ -1726,24 +1726,21 @@ static struct class *usb_classdev_class; static int usb_classdev_add(struct usb_device *dev) { diff --git a/usb/usbfs-fix-race-between-open-and-unregister.patch b/usb/usbfs-fix-race-between-open-and-unregister.patch index 585ad3b7d4662b..494bd165efecc5 100644 --- a/usb/usbfs-fix-race-between-open-and-unregister.patch +++ b/usb/usbfs-fix-race-between-open-and-unregister.patch @@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> return container_of(dev, struct usb_device, dev); } -@@ -590,16 +589,21 @@ static int usbdev_open(struct inode *ino +@@ -591,16 +590,21 @@ static int usbdev_open(struct inode *ino dev = usbdev_lookup_by_devt(inode->i_rdev); #ifdef CONFIG_USB_DEVICEFS /* procfs file */ @@ -56,7 +56,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> ret = 0; ps->dev = dev; ps->file = file; -@@ -619,8 +623,10 @@ static int usbdev_open(struct inode *ino +@@ -620,8 +624,10 @@ static int usbdev_open(struct inode *ino list_add_tail(&ps->list, &dev->filelist); file->private_data = ps; out: @@ -66,5 +66,5 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + usb_put_dev(dev); + } mutex_unlock(&usbfs_mutex); + unlock_kernel(); return ret; - } diff --git a/usb/usbfs-send-disconnect-signals-when-device-is-unregistered.patch b/usb/usbfs-send-disconnect-signals-when-device-is-unregistered.patch index 8fcfb7d15eddd8..69ec93a8a5f4ab 100644 --- a/usb/usbfs-send-disconnect-signals-when-device-is-unregistered.patch +++ b/usb/usbfs-send-disconnect-signals-when-device-is-unregistered.patch @@ -63,7 +63,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> struct async { struct list_head asynclist; struct dev_state *ps; -@@ -1678,6 +1694,28 @@ const struct file_operations usbdev_file +@@ -1680,6 +1696,28 @@ const struct file_operations usbdev_file .release = usbdev_release, }; @@ -92,7 +92,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #ifdef CONFIG_USB_DEVICE_CLASS static struct class *usb_classdev_class; -@@ -1701,6 +1739,7 @@ static int usb_classdev_add(struct usb_d +@@ -1703,6 +1741,7 @@ static int usb_classdev_add(struct usb_d static void usb_classdev_remove(struct usb_device *dev) { device_unregister(dev->usb_classdev); diff --git a/usb/usbfs-simplify-the-lookup-by-minor-routines.patch b/usb/usbfs-simplify-the-lookup-by-minor-routines.patch index 822752eb4bcbeb..e9bbb6478a2dbd 100644 --- a/usb/usbfs-simplify-the-lookup-by-minor-routines.patch +++ b/usb/usbfs-simplify-the-lookup-by-minor-routines.patch @@ -46,7 +46,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (!dev) return NULL; put_device(dev); -@@ -588,9 +584,10 @@ static int usbdev_open(struct inode *ino +@@ -589,9 +585,10 @@ static int usbdev_open(struct inode *ino goto out; ret = -ENOENT; @@ -1 +1 @@ -2.6.26 +2.6.26-git6 |
