aboutsummaryrefslogtreecommitdiffstats
diff options
-rw-r--r--driver-core/aic94xx-treat-firmware-data-as-const.patch102
-rw-r--r--driver-core/atmel-treat-firmware-data-as-const.patch41
-rw-r--r--driver-core/block-fix-compiler-warning-in-genhd.c.patch2
-rw-r--r--driver-core/block-make-blk_lookup_devt-use-the-class-iterator-function.patch2
-rw-r--r--driver-core/block-make-printk_partition-use-the-class-iterator-function.patch2
-rw-r--r--driver-core/block-make-proc-diskstats-only-build-if-config_proc_fs-is-enabled.patch4
-rw-r--r--driver-core/block-make-proc-files-seq_start-use-the-class_find_device.patch4
-rw-r--r--driver-core/block-make-proc-partitions-and-proc-diskstats-use-class_find_device.patch4
-rw-r--r--driver-core/block-move-header-for-proc-partitions-to-seq_start.patch4
-rw-r--r--driver-core/bluetooth-treat-firmware-data-as-const.patch37
-rw-r--r--driver-core/bt8xx-treat-firmware-data-as-const.patch24
-rw-r--r--driver-core/class-add-lockdep-infrastructure.patch4
-rw-r--r--driver-core/class-move-driver-core-specific-parts-to-a-private-structure.patch13
-rw-r--r--driver-core/cx25840-treat-firmware-data-as-const.patch74
-rw-r--r--driver-core/cxacru-treat-firmware-data-as-const.patch23
-rw-r--r--driver-core/cxgb3-treat-firmware-data-as-const.patch52
-rw-r--r--driver-core/cxusb-treat-firmware-data-as-const.patch57
-rw-r--r--driver-core/cyclades-treat-firmware-data-as-const.patch38
-rw-r--r--driver-core/dell_rbu-firmware-data-is-const.patch24
-rw-r--r--driver-core/device-create-block-convert-device_create-to-device_create_drvdata.patch10
-rw-r--r--driver-core/device-create-char-convert-device_create-to-device_create_drvdata.patch38
-rw-r--r--driver-core/device-create-dvb-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-framebuffer-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-hid-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-i2c-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-ide-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-ieee1394-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-infiniband-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-isdn-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-macintosh-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-mips-convert-device_create-to-device_create_drvdata.patch4
-rw-r--r--driver-core/device-create-misc-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-mtd-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-net-convert-device_create-to-device_create_drvdata.patch4
-rw-r--r--driver-core/device-create-s390-convert-device_create-to-device_create_drvdata.patch4
-rw-r--r--driver-core/device-create-scsi-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-sound-convert-device_create-to-device_create_drvdata.patch4
-rw-r--r--driver-core/device-create-spi-convert-device_create-to-device_create_drvdata.patch4
-rw-r--r--driver-core/device-create-usb-convert-device_create-to-device_create_drvdata.patch8
-rw-r--r--driver-core/device-create-x86-convert-device_create-to-device_create_drvdata.patch4
-rw-r--r--driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch39
-rw-r--r--driver-core/driver-core-add-ability-for-class_for_each_device-to-start-in-middle-of-list.patch27
-rw-r--r--driver-core/driver-core-fix-a-lot-of-printk-usages-of-bus_id.patch16
-rw-r--r--driver-core/driver-core-remove-device_create.patch2
-rw-r--r--driver-core/driver-core-remove-kobj_name_len-define.patch10
-rw-r--r--driver-core/dvb-frontends-treat-firmware-data-as-const.patch115
-rw-r--r--driver-core/firmware-make-fw-data-const.patch40
-rw-r--r--driver-core/gp8psk-treat-firmware-data-as-const.patch24
-rw-r--r--driver-core/hp-ilo-driver.patch4
-rw-r--r--driver-core/i2c-use-class_for_each_device.patch148
-rw-r--r--driver-core/infiniband-make-cm_device-use-a-struct-device-and-not-a-kobject.patch14
-rw-r--r--driver-core/infiniband-rename-device-to-ib_device-in-cm_device.patch30
-rw-r--r--driver-core/irda-usb-treat-firmware-data-as-const.patch40
-rw-r--r--driver-core/isight-firmware-data-is-const.patch24
-rw-r--r--driver-core/libertas-treat-firmware-data-as-const.patch65
-rw-r--r--driver-core/maestro3-treat-firmware-data-as-const.patch117
-rw-r--r--driver-core/myri10ge-treat-firmware-data-as-const.patch42
-rw-r--r--driver-core/p54-treat-firmware-data-as-const.patch33
-rw-r--r--driver-core/pcxhr-treat-firmware-data-as-const.patch32
-rw-r--r--driver-core/pnp-add-acpi-modalias-entries.patch6
-rw-r--r--driver-core/riptide-treat-firmware-data-as-const.patch51
-rw-r--r--driver-core/rt2x00-treat-firmware-data-as-const.patch86
-rw-r--r--driver-core/sysdev-convert-the-x86-mce-tolerant-sysdev-attribute-to-generic-attribute.patch2
-rw-r--r--driver-core/sysdev-pass-the-attribute-to-the-low-level-sysdev-show-store-function.patch108
-rw-r--r--driver-core/sysfs-add-sys-dev-char-block-to-lookup-sysfs-path-by-major-minor.patch10
-rw-r--r--driver-core/sysfs-crash-debugging.patch14
-rw-r--r--driver-core/ttusb-dec-treat-firmware-data-as-const.patch23
-rw-r--r--driver-core/tuners-treat-firmware-data-as-const.patch35
-rw-r--r--driver-core/ueagle-atm-treat-firmware-data-as-const.patch97
-rw-r--r--driver-core/uio-add-write-function-to-allow-irq-masking.patch4
-rw-r--r--driver-core/vx-treat-firmware-data-as-const.patch32
-rw-r--r--driver-core/vx222-treat-firmware-data-as-const.patch23
-rw-r--r--driver-core/warn-when-statically-allocated-kobjects-are-used.patch2
-rw-r--r--driver-core/x86-microcode-firmware-data-is-const.patch33
-rw-r--r--driver-core/ymfpci-treat-firmware-data-as-const.patch133
-rw-r--r--driver-core/zd1201-treat-firmware-data-as-const.patch23
-rw-r--r--series51
-rw-r--r--usb/ti_usb-kick-firmware-into-user-space.patch226
-rw-r--r--usb/usb-ethernet-gadget-use-composite-gadget-framework.patch2
-rw-r--r--usb/usb-fix-uninitialized-variable-warning-in-keyspan_pda.patch2
-rw-r--r--usb/usb-fix-usb_reset_device-and-usb_reset_composite_device.patch2
-rw-r--r--usb/usb-gadget-push-bkl-down-into-drivers.patch4
-rw-r--r--usb/usb-io_ti-first-cut-at-a-big-clean-up.patch428
-rw-r--r--usb/usb-keyspan-remove-duplicate-device-entries.patch6
-rw-r--r--usb/usb-remove-cvs-keywords.patch20
-rw-r--r--usb/usb-remove-interface-parameter-of-usb_reset_composite_device.patch2
-rw-r--r--usb/usb-usb-dev_name-instead-of-dev-bus_id.patch18
-rw-r--r--usb/usb-usb-dev_set_name-instead-of-dev-bus_id.patch2
-rw-r--r--usb/usbfs-don-t-store-bad-pointers-in-registration.patch2
-rw-r--r--usb/usbfs-fix-race-between-open-and-unregister.patch6
-rw-r--r--usb/usbfs-send-disconnect-signals-when-device-is-unregistered.patch4
-rw-r--r--usb/usbfs-simplify-the-lookup-by-minor-routines.patch2
-rw-r--r--version2
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(&reg_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,
&reg_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(&microcode_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(&microcode_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(&microcode_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;
diff --git a/series b/series
index 65629a814edeea..80a537a501b8bc 100644
--- a/series
+++ b/series
@@ -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;
diff --git a/version b/version
index e760bfcb1e98b2..acc33088bc6694 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2.6.26
+2.6.26-git6