diff options
| -rw-r--r-- | driver-core/scsi-convert-struct-class_device-to-struct-device.patch | 333 | ||||
| -rw-r--r-- | series | 2 |
2 files changed, 242 insertions, 93 deletions
diff --git a/driver-core/scsi-convert-struct-class_device-to-struct-device.patch b/driver-core/scsi-convert-struct-class_device-to-struct-device.patch index 6fbbf2624ebf3d..d6193375e72227 100644 --- a/driver-core/scsi-convert-struct-class_device-to-struct-device.patch +++ b/driver-core/scsi-convert-struct-class_device-to-struct-device.patch @@ -24,12 +24,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/infiniband/ulp/srp/ib_srp.h | 2 drivers/message/fusion/mptscsih.c | 120 ++++---- drivers/message/fusion/mptscsih.h | 2 - drivers/misc/enclosure.c | 76 ++--- + drivers/misc/enclosure.c | 118 ++++---- drivers/scsi/3w-9xxx.c | 9 drivers/scsi/3w-xxxx.c | 9 drivers/scsi/aacraid/aachba.c | 2 drivers/scsi/aacraid/aacraid.h | 4 - drivers/scsi/aacraid/linit.c | 92 +++--- + drivers/scsi/aacraid/linit.c | 93 +++--- drivers/scsi/arcmsr/arcmsr.h | 4 drivers/scsi/arcmsr/arcmsr_attr.c | 163 ++++++----- drivers/scsi/ch.c | 13 @@ -37,7 +37,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/scsi/hptiop.c | 14 drivers/scsi/ibmvscsi/ibmvscsi.c | 44 +-- drivers/scsi/ibmvscsi/ibmvstgt.c | 27 + - drivers/scsi/ipr.c | 126 ++++---- + drivers/scsi/ipr.c | 140 +++++---- drivers/scsi/lpfc/lpfc_attr.c | 482 ++++++++++++++++++---------------- drivers/scsi/lpfc/lpfc_crtn.h | 4 drivers/scsi/megaraid/megaraid_mbox.c | 13 @@ -55,12 +55,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/scsi/scsi_transport_spi.c | 185 ++++++------- drivers/scsi/scsi_transport_srp.c | 26 - drivers/scsi/sd.c | 78 +++-- - drivers/scsi/ses.c | 12 + drivers/scsi/ses.c | 28 - drivers/scsi/sg.c | 36 +- drivers/scsi/st.c | 71 ++--- include/linux/attribute_container.h | 28 - include/linux/bsg.h | 2 - include/linux/enclosure.h | 8 + include/linux/enclosure.h | 11 include/linux/libata.h | 2 include/linux/raid_class.h | 12 include/linux/transport_class.h | 6 @@ -70,7 +70,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> include/scsi/scsi_transport_fc.h | 14 include/scsi/scsi_transport_sas.h | 12 include/scsi/sd.h | 4 - 55 files changed, 1714 insertions(+), 1468 deletions(-) + 55 files changed, 1754 insertions(+), 1504 deletions(-) --- a/block/bsg.c +++ b/block/bsg.c @@ -1042,25 +1042,53 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +extern struct device_attribute *mptscsih_host_attrs[]; --- a/drivers/misc/enclosure.c +++ b/drivers/misc/enclosure.c -@@ -49,7 +49,7 @@ struct enclosure_device *enclosure_find( +@@ -40,16 +40,16 @@ static struct class enclosure_component_ + * Looks through the list of registered enclosures to see + * if it can find a match for a device. Returns NULL if no + * enclosure is found. Obtains a reference to the enclosure class +- * device which must be released with class_device_put(). ++ * device which must be released with device_put(). + */ + struct enclosure_device *enclosure_find(struct device *dev) + { +- struct enclosure_device *edev = NULL; ++ struct enclosure_device *edev; + mutex_lock(&container_list_lock); list_for_each_entry(edev, &container_list, node) { - if (edev->cdev.dev == dev) { +- if (edev->cdev.dev == dev) { - class_device_get(&edev->cdev); -+ device_get(&edev->cdev); ++ if (edev->edev.parent == dev) { ++ get_device(&edev->edev); mutex_unlock(&container_list_lock); return edev; } -@@ -121,7 +121,7 @@ enclosure_register(struct device *dev, c - edev->cdev.dev = get_device(dev); +@@ -117,11 +117,11 @@ enclosure_register(struct device *dev, c + + edev->components = components; + +- edev->cdev.class = &enclosure_class; +- edev->cdev.dev = get_device(dev); ++ edev->edev.class = &enclosure_class; ++ edev->edev.parent = get_device(dev); edev->cb = cb; - snprintf(edev->cdev.class_id, BUS_ID_SIZE, "%s", name); +- snprintf(edev->cdev.class_id, BUS_ID_SIZE, "%s", name); - err = class_device_register(&edev->cdev); -+ err = device_register(&edev->cdev); ++ snprintf(edev->edev.bus_id, BUS_ID_SIZE, "%s", name); ++ err = device_register(&edev->edev); if (err) goto err; -@@ -158,15 +158,15 @@ void enclosure_unregister(struct enclosu +@@ -135,7 +135,7 @@ enclosure_register(struct device *dev, c + return edev; + + err: +- put_device(edev->cdev.dev); ++ put_device(edev->edev.parent); + kfree(edev); + return ERR_PTR(err); + } +@@ -158,27 +158,28 @@ void enclosure_unregister(struct enclosu for (i = 0; i < edev->components; i++) if (edev->component[i].number != -1) @@ -1070,7 +1098,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> /* prevent any callbacks into service user */ edev->cb = &enclosure_null_callbacks; - class_device_unregister(&edev->cdev); -+ device_unregister(&edev->cdev); ++ device_unregister(&edev->edev); } EXPORT_SYMBOL_GPL(enclosure_unregister); @@ -1079,21 +1107,25 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { struct enclosure_device *edev = to_enclosure_device(cdev); -@@ -174,11 +174,11 @@ static void enclosure_release(struct cla +- put_device(cdev->dev); ++ put_device(cdev->parent); kfree(edev); } -static void enclosure_component_release(struct class_device *cdev) -+static void enclosure_component_release(struct device *cdev) ++static void enclosure_component_release(struct device *dev) { - if (cdev->dev) - put_device(cdev->dev); +- if (cdev->dev) +- put_device(cdev->dev); - class_device_put(cdev->parent); -+ device_put(cdev->parent); ++ struct enclosure_component *cdev = to_enclosure_component(dev); ++ ++ put_device(cdev->dev); ++ put_device(dev->parent); } /** -@@ -201,7 +201,7 @@ enclosure_component_register(struct encl +@@ -201,7 +202,7 @@ enclosure_component_register(struct encl const char *name) { struct enclosure_component *ecomp; @@ -1102,74 +1134,81 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int err; if (number >= edev->components) -@@ -215,14 +215,14 @@ enclosure_component_register(struct encl +@@ -215,14 +216,14 @@ enclosure_component_register(struct encl ecomp->type = type; ecomp->number = number; cdev = &ecomp->cdev; - cdev->parent = class_device_get(&edev->cdev); -+ cdev->parent = device_get(&edev->cdev); ++ cdev->parent = get_device(&edev->edev); cdev->class = &enclosure_component_class; if (name) - snprintf(cdev->class_id, BUS_ID_SIZE, "%s", name); +- snprintf(cdev->class_id, BUS_ID_SIZE, "%s", name); ++ snprintf(cdev->bus_id, BUS_ID_SIZE, "%s", name); else - snprintf(cdev->class_id, BUS_ID_SIZE, "%u", number); +- snprintf(cdev->class_id, BUS_ID_SIZE, "%u", number); ++ snprintf(cdev->bus_id, BUS_ID_SIZE, "%u", number); - err = class_device_register(cdev); + err = device_register(cdev); if (err) ERR_PTR(err); -@@ -247,18 +247,18 @@ EXPORT_SYMBOL_GPL(enclosure_component_re +@@ -247,18 +248,17 @@ EXPORT_SYMBOL_GPL(enclosure_component_re int enclosure_add_device(struct enclosure_device *edev, int component, struct device *dev) { - struct class_device *cdev; -+ struct device *cdev; ++ struct enclosure_component *cdev; if (!edev || component >= edev->components) return -EINVAL; - cdev = &edev->component[component].cdev; +- cdev = &edev->component[component].cdev; ++ cdev = &edev->component[component]; - class_device_del(cdev); -+ device_del(cdev); - if (cdev->dev) - put_device(cdev->dev); +- if (cdev->dev) +- put_device(cdev->dev); ++ device_del(&cdev->cdev); ++ put_device(cdev->dev); cdev->dev = get_device(dev); - return class_device_add(cdev); -+ return device_add(cdev); ++ return device_add(&cdev->cdev); } EXPORT_SYMBOL_GPL(enclosure_add_device); -@@ -272,18 +272,18 @@ EXPORT_SYMBOL_GPL(enclosure_add_device); +@@ -272,18 +272,17 @@ EXPORT_SYMBOL_GPL(enclosure_add_device); */ int enclosure_remove_device(struct enclosure_device *edev, int component) { - struct class_device *cdev; -+ struct device *cdev; ++ struct enclosure_component *cdev; if (!edev || component >= edev->components) return -EINVAL; - cdev = &edev->component[component].cdev; +- cdev = &edev->component[component].cdev; ++ cdev = &edev->component[component]; - class_device_del(cdev); -+ device_del(cdev); - if (cdev->dev) - put_device(cdev->dev); +- if (cdev->dev) +- put_device(cdev->dev); ++ device_del(&cdev->cdev); ++ put_device(cdev->dev); cdev->dev = NULL; - return class_device_add(cdev); -+ return device_add(cdev); ++ return device_add(&cdev->cdev); } EXPORT_SYMBOL_GPL(enclosure_remove_device); -@@ -291,14 +291,15 @@ EXPORT_SYMBOL_GPL(enclosure_remove_devic +@@ -291,14 +290,16 @@ EXPORT_SYMBOL_GPL(enclosure_remove_devic * sysfs pieces below */ -static ssize_t enclosure_show_components(struct class_device *cdev, char *buf) +static ssize_t enclosure_show_components(struct device *cdev, -+ struct attribute *attr, char *buf) ++ struct device_attribute *attr, ++ char *buf) { struct enclosure_device *edev = to_enclosure_device(cdev); @@ -1181,11 +1220,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> __ATTR(components, S_IRUGO, enclosure_show_components, NULL), __ATTR_NULL }; -@@ -307,7 +308,7 @@ static struct class enclosure_class = { +@@ -306,8 +307,8 @@ static struct class_device_attribute enc + static struct class enclosure_class = { .name = "enclosure", .owner = THIS_MODULE, - .release = enclosure_release, +- .release = enclosure_release, - .class_dev_attrs = enclosure_attrs, ++ .dev_release = enclosure_release, + .dev_attrs = enclosure_attrs, }; @@ -1196,97 +1237,99 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> -static ssize_t get_component_fault(struct class_device *cdev, char *buf) +static ssize_t get_component_fault(struct device *cdev, -+ struct attribute *attr, char *buf) ++ struct device_attribute *attr, char *buf) { struct enclosure_device *edev = to_enclosure_device(cdev->parent); struct enclosure_component *ecomp = to_enclosure_component(cdev); -@@ -336,8 +338,8 @@ static ssize_t get_component_fault(struc +@@ -336,8 +338,9 @@ static ssize_t get_component_fault(struc return snprintf(buf, 40, "%d\n", ecomp->fault); } -static ssize_t set_component_fault(struct class_device *cdev, const char *buf, - size_t count) -+static ssize_t set_component_fault(struct device *cdev, struct attribute *attr, ++static ssize_t set_component_fault(struct device *cdev, ++ struct device_attribute *attr, + const char *buf, size_t count) { struct enclosure_device *edev = to_enclosure_device(cdev->parent); struct enclosure_component *ecomp = to_enclosure_component(cdev); -@@ -348,7 +350,8 @@ static ssize_t set_component_fault(struc +@@ -348,7 +351,8 @@ static ssize_t set_component_fault(struc return count; } -static ssize_t get_component_status(struct class_device *cdev, char *buf) +static ssize_t get_component_status(struct device *cdev, -+ struct attribute *attr,char *buf) ++ struct device_attribute *attr,char *buf) { struct enclosure_device *edev = to_enclosure_device(cdev->parent); struct enclosure_component *ecomp = to_enclosure_component(cdev); -@@ -358,8 +361,8 @@ static ssize_t get_component_status(stru +@@ -358,8 +362,9 @@ static ssize_t get_component_status(stru return snprintf(buf, 40, "%s\n", enclosure_status[ecomp->status]); } -static ssize_t set_component_status(struct class_device *cdev, const char *buf, - size_t count) -+static ssize_t set_component_status(struct device *cdev, struct attribute *attr, ++static ssize_t set_component_status(struct device *cdev, ++ struct device_attribute *attr, + const char *buf, size_t count) { struct enclosure_device *edev = to_enclosure_device(cdev->parent); struct enclosure_component *ecomp = to_enclosure_component(cdev); -@@ -380,7 +383,8 @@ static ssize_t set_component_status(stru +@@ -380,7 +385,8 @@ static ssize_t set_component_status(stru return -EINVAL; } -static ssize_t get_component_active(struct class_device *cdev, char *buf) +static ssize_t get_component_active(struct device *cdev, -+ struct attribute *attr, char *buf) ++ struct device_attribute *attr, char *buf) { struct enclosure_device *edev = to_enclosure_device(cdev->parent); struct enclosure_component *ecomp = to_enclosure_component(cdev); -@@ -390,8 +394,9 @@ static ssize_t get_component_active(stru +@@ -390,8 +396,9 @@ static ssize_t get_component_active(stru return snprintf(buf, 40, "%d\n", ecomp->active); } -static ssize_t set_component_active(struct class_device *cdev, const char *buf, - size_t count) +static ssize_t set_component_active(struct device *cdev, -+ struct attribute *attr, ++ struct device_attribute *attr, + const char *buf, size_t count) { struct enclosure_device *edev = to_enclosure_device(cdev->parent); struct enclosure_component *ecomp = to_enclosure_component(cdev); -@@ -402,7 +407,8 @@ static ssize_t set_component_active(stru +@@ -402,7 +409,8 @@ static ssize_t set_component_active(stru return count; } -static ssize_t get_component_locate(struct class_device *cdev, char *buf) +static ssize_t get_component_locate(struct device *cdev, -+ struct attribute *attr, char *buf) ++ struct device_attribute *attr, char *buf) { struct enclosure_device *edev = to_enclosure_device(cdev->parent); struct enclosure_component *ecomp = to_enclosure_component(cdev); -@@ -412,8 +418,9 @@ static ssize_t get_component_locate(stru +@@ -412,8 +420,9 @@ static ssize_t get_component_locate(stru return snprintf(buf, 40, "%d\n", ecomp->locate); } -static ssize_t set_component_locate(struct class_device *cdev, const char *buf, - size_t count) +static ssize_t set_component_locate(struct device *cdev, -+ struct attribute *attr, ++ struct device_attribute *attr, + const char *buf, size_t count) { struct enclosure_device *edev = to_enclosure_device(cdev->parent); struct enclosure_component *ecomp = to_enclosure_component(cdev); -@@ -424,7 +431,8 @@ static ssize_t set_component_locate(stru +@@ -424,7 +433,8 @@ static ssize_t set_component_locate(stru return count; } -static ssize_t get_component_type(struct class_device *cdev, char *buf) +static ssize_t get_component_type(struct device *cdev, -+ struct attribute *attr, char *buf) ++ struct device_attribute *attr, char *buf) { struct enclosure_component *ecomp = to_enclosure_component(cdev); -@@ -432,7 +440,7 @@ static ssize_t get_component_type(struct +@@ -432,7 +442,7 @@ static ssize_t get_component_type(struct } @@ -1295,15 +1338,17 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> __ATTR(fault, S_IRUGO | S_IWUSR, get_component_fault, set_component_fault), __ATTR(status, S_IRUGO | S_IWUSR, get_component_status, -@@ -448,7 +456,7 @@ static struct class_device_attribute enc +@@ -448,8 +458,8 @@ static struct class_device_attribute enc static struct class enclosure_component_class = { .name = "enclosure_component", .owner = THIS_MODULE, - .class_dev_attrs = enclosure_component_attrs, +- .release = enclosure_component_release, + .dev_attrs = enclosure_component_attrs, - .release = enclosure_component_release, ++ .dev_release = enclosure_component_release, }; + static int __init enclosure_init(void) --- a/drivers/scsi/3w-9xxx.c +++ b/drivers/scsi/3w-9xxx.c @@ -140,9 +140,10 @@ static void twa_unmap_scsi_data(TW_Devic @@ -1425,20 +1470,21 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int len; if (dev->supplement_adapter_info.AdapterTypeText[0]) { -@@ -793,10 +793,10 @@ static ssize_t aac_show_vendor(struct cl +@@ -793,10 +793,11 @@ static ssize_t aac_show_vendor(struct cl return len; } -static ssize_t aac_show_flags(struct class_device *class_dev, char *buf) -+static ssize_t aac_show_flags(struct device *dev, char *buf) ++static ssize_t aac_show_flags(struct device *cdev, ++ struct device_attribute *attr, char *buf) { int len = 0; - struct aac_dev *dev = (struct aac_dev*)class_to_shost(class_dev)->hostdata; -+ struct aac_dev *dev = (struct aac_dev*)class_to_shost(dev)->hostdata; ++ struct aac_dev *dev = (struct aac_dev*)class_to_shost(cdev)->hostdata; if (nblank(dprintk(x))) len = snprintf(buf, PAGE_SIZE, "dprintk\n"); -@@ -812,10 +812,11 @@ static ssize_t aac_show_flags(struct cla +@@ -812,10 +813,11 @@ static ssize_t aac_show_flags(struct cla return len; } @@ -1453,7 +1499,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int len, tmp; tmp = le32_to_cpu(dev->adapter_info.kernelrev); -@@ -825,10 +826,11 @@ static ssize_t aac_show_kernel_version(s +@@ -825,10 +827,11 @@ static ssize_t aac_show_kernel_version(s return len; } @@ -1468,7 +1514,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int len, tmp; tmp = le32_to_cpu(dev->adapter_info.monitorrev); -@@ -838,10 +840,11 @@ static ssize_t aac_show_monitor_version( +@@ -838,10 +841,11 @@ static ssize_t aac_show_monitor_version( return len; } @@ -1483,7 +1529,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int len, tmp; tmp = le32_to_cpu(dev->adapter_info.biosrev); -@@ -851,9 +854,10 @@ static ssize_t aac_show_bios_version(str +@@ -851,9 +855,10 @@ static ssize_t aac_show_bios_version(str return len; } @@ -1496,7 +1542,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int len = 0; if (le32_to_cpu(dev->adapter_info.serial[0]) != 0xBAD0) -@@ -869,35 +873,39 @@ ssize_t aac_show_serial_number(struct cl +@@ -869,35 +874,39 @@ ssize_t aac_show_serial_number(struct cl return len; } @@ -1546,7 +1592,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int len, tmp; tmp = aac_adapter_check_health(dev); -@@ -907,70 +915,70 @@ static ssize_t aac_show_reset_adapter(st +@@ -907,70 +916,70 @@ static ssize_t aac_show_reset_adapter(st return len; } @@ -1627,7 +1673,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> .attr = { .name = "reset_host", .mode = S_IWUSR|S_IRUGO, -@@ -979,7 +987,7 @@ static struct class_device_attribute aac +@@ -979,7 +988,7 @@ static struct class_device_attribute aac .show = aac_show_reset_adapter, }; @@ -1636,7 +1682,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> &aac_model, &aac_vendor, &aac_flags, -@@ -993,6 +1001,10 @@ static struct class_device_attribute *aa +@@ -993,6 +1002,10 @@ static struct class_device_attribute *aa NULL }; @@ -2339,6 +2385,15 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c +@@ -2431,7 +2431,7 @@ restart: + } + + spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); +- kobject_uevent(&ioa_cfg->host->shost_classdev.kobj, KOBJ_CHANGE); ++ kobject_uevent(&ioa_cfg->host->shost_dev.kobj, KOBJ_CHANGE); + LEAVE; + } + @@ -2451,8 +2451,8 @@ static ssize_t ipr_read_trace(struct kob struct bin_attribute *bin_attr, char *buf, loff_t off, size_t count) @@ -2390,7 +2445,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> -static ssize_t ipr_store_write_caching(struct class_device *class_dev, - const char *buf, size_t count) +static ssize_t ipr_store_write_caching(struct device *dev, -+ struct device_attribute *attr ++ struct device_attribute *attr, + const char *buf, size_t count) { - struct Scsi_Host *shost = class_to_shost(class_dev); @@ -2420,8 +2475,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> * number of bytes printed to buffer **/ -static ssize_t ipr_show_fw_version(struct class_device *class_dev, char *buf) -+static ssize_t ipr_show_fw_version(struct device *class_dev, -+ struct device_attribute *attr, char *buf) ++static ssize_t ipr_show_fw_version(struct device *dev, ++ struct device_attribute *attr, char *buf) { - struct Scsi_Host *shost = class_to_shost(class_dev); + struct Scsi_Host *shost = class_to_shost(dev); @@ -2437,7 +2492,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> .attr = { .name = "fw_version", .mode = S_IRUGO, -@@ -2613,13 +2616,14 @@ static struct class_device_attribute ipr +@@ -2613,15 +2616,16 @@ static struct class_device_attribute ipr /** * ipr_show_log_level - Show the adapter's error logging level @@ -2453,8 +2508,11 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +static ssize_t ipr_show_log_level(struct device *dev, + struct device_attribute *attr, char *buf) { - struct Scsi_Host *shost = class_to_shost(class_dev); +- struct Scsi_Host *shost = class_to_shost(class_dev); ++ struct Scsi_Host *shost = class_to_shost(dev); struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *)shost->hostdata; + unsigned long lock_flags = 0; + int len; @@ -2634,16 +2638,17 @@ static ssize_t ipr_show_log_level(struct /** @@ -2595,7 +2653,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> * count on success / other on failure **/ -static ssize_t ipr_store_reset_adapter(struct class_device *class_dev, -+static ssize_t ipr_store_reset_adapter(struct device *class_dev, ++static ssize_t ipr_store_reset_adapter(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) { @@ -2631,7 +2689,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> **/ -static ssize_t ipr_store_update_fw(struct class_device *class_dev, - const char *buf, size_t count) -+static ssize_t ipr_store_update_fw(struct device *class_dev, ++static ssize_t ipr_store_update_fw(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) { @@ -2676,6 +2734,41 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> struct Scsi_Host *shost = class_to_shost(cdev); struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *)shost->hostdata; int rc; +@@ -7697,9 +7707,9 @@ static void ipr_remove(struct pci_dev *p + + ENTER; + +- ipr_remove_trace_file(&ioa_cfg->host->shost_classdev.kobj, ++ ipr_remove_trace_file(&ioa_cfg->host->shost_dev.kobj, + &ipr_trace_attr); +- ipr_remove_dump_file(&ioa_cfg->host->shost_classdev.kobj, ++ ipr_remove_dump_file(&ioa_cfg->host->shost_dev.kobj, + &ipr_dump_attr); + scsi_remove_host(ioa_cfg->host); + +@@ -7740,7 +7750,7 @@ static int __devinit ipr_probe(struct pc + return rc; + } + +- rc = ipr_create_trace_file(&ioa_cfg->host->shost_classdev.kobj, ++ rc = ipr_create_trace_file(&ioa_cfg->host->shost_dev.kobj, + &ipr_trace_attr); + + if (rc) { +@@ -7749,11 +7759,11 @@ static int __devinit ipr_probe(struct pc + return rc; + } + +- rc = ipr_create_dump_file(&ioa_cfg->host->shost_classdev.kobj, ++ rc = ipr_create_dump_file(&ioa_cfg->host->shost_dev.kobj, + &ipr_dump_attr); + + if (rc) { +- ipr_remove_trace_file(&ioa_cfg->host->shost_classdev.kobj, ++ ipr_remove_trace_file(&ioa_cfg->host->shost_dev.kobj, + &ipr_trace_attr); + scsi_remove_host(ioa_cfg->host); + __ipr_remove(pdev); --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c @@ -66,23 +66,26 @@ lpfc_jedec_to_ascii(int incr, char hdw[] @@ -7293,7 +7386,38 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> spin_lock(&sd_index_lock); --- a/drivers/scsi/ses.c +++ b/drivers/scsi/ses.c -@@ -407,7 +407,7 @@ static void ses_match_to_enclosure(struc +@@ -107,7 +107,7 @@ static int ses_set_page2_descriptor(stru + unsigned char *desc) + { + int i, j, count = 0, descriptor = ecomp->number; +- struct scsi_device *sdev = to_scsi_device(edev->cdev.dev); ++ struct scsi_device *sdev = to_scsi_device(edev->edev.parent); + struct ses_device *ses_dev = edev->scratch; + unsigned char *type_ptr = ses_dev->page1 + 12 + ses_dev->page1[11]; + unsigned char *desc_ptr = ses_dev->page2 + 8; +@@ -137,7 +137,7 @@ static unsigned char *ses_get_page2_desc + struct enclosure_component *ecomp) + { + int i, j, count = 0, descriptor = ecomp->number; +- struct scsi_device *sdev = to_scsi_device(edev->cdev.dev); ++ struct scsi_device *sdev = to_scsi_device(edev->edev.parent); + struct ses_device *ses_dev = edev->scratch; + unsigned char *type_ptr = ses_dev->page1 + 12 + ses_dev->page1[11]; + unsigned char *desc_ptr = ses_dev->page2 + 8; +@@ -269,10 +269,10 @@ int ses_match_host(struct enclosure_devi + struct ses_host_edev *sed = data; + struct scsi_device *sdev; + +- if (!scsi_is_sdev_device(edev->cdev.dev)) ++ if (!scsi_is_sdev_device(edev->edev.parent)) + return 0; + +- sdev = to_scsi_device(edev->cdev.dev); ++ sdev = to_scsi_device(edev->edev.parent); + + if (sdev->host != sed->shost) + return 0; +@@ -407,10 +407,10 @@ static void ses_match_to_enclosure(struc #define INIT_ALLOC_SIZE 32 @@ -7301,17 +7425,30 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +static int ses_intf_add(struct device *cdev, struct class_interface *intf) { - struct scsi_device *sdev = to_scsi_device(cdev->dev); +- struct scsi_device *sdev = to_scsi_device(cdev->dev); ++ struct scsi_device *sdev = to_scsi_device(cdev->parent); + struct scsi_device *tmp_sdev; + unsigned char *buf = NULL, *hdr_buf, *type_ptr, *desc_ptr = NULL, + *addl_desc_ptr = NULL; @@ -426,7 +426,7 @@ static int ses_intf_add(struct class_dev edev = enclosure_find(&sdev->host->shost_gendev); if (edev) { ses_match_to_enclosure(edev, sdev); - class_device_put(&edev->cdev); -+ device_put(&edev->cdev); ++ put_device(&edev->edev); } return -ENODEV; } -@@ -625,7 +625,7 @@ static int ses_remove(struct device *dev +@@ -515,7 +515,7 @@ static int ses_intf_add(struct class_dev + if (!scomp) + goto err_free; + +- edev = enclosure_register(cdev->dev, sdev->sdev_gendev.bus_id, ++ edev = enclosure_register(cdev->parent, sdev->sdev_gendev.bus_id, + components, &ses_enclosure_callbacks); + if (IS_ERR(edev)) { + err = PTR_ERR(edev); +@@ -625,17 +625,17 @@ static int ses_remove(struct device *dev return 0; } @@ -7319,13 +7456,25 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +static void ses_intf_remove(struct device *cdev, struct class_interface *intf) { - struct scsi_device *sdev = to_scsi_device(cdev->dev); +- struct scsi_device *sdev = to_scsi_device(cdev->dev); ++ struct scsi_device *sdev = to_scsi_device(cdev->parent); + struct enclosure_device *edev; + struct ses_device *ses_dev; + + if (!scsi_device_enclosure(sdev)) + return; + +- edev = enclosure_find(cdev->dev); ++ edev = enclosure_find(cdev->parent); + if (!edev) + return; + @@ -649,13 +649,13 @@ static void ses_intf_remove(struct class kfree(edev->component[0].scratch); - class_device_put(&edev->cdev); -+ device_put(&edev->cdev); ++ put_device(&edev->edev); enclosure_unregister(edev); } @@ -7653,21 +7802,22 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> struct request_queue *queue; --- a/include/linux/enclosure.h +++ b/include/linux/enclosure.h -@@ -82,7 +82,7 @@ struct enclosure_component_callbacks { +@@ -82,7 +82,8 @@ struct enclosure_component_callbacks { struct enclosure_component { void *scratch; - struct class_device cdev; + struct device cdev; ++ struct device *dev; enum enclosure_component_type type; int number; int fault; -@@ -94,20 +94,20 @@ struct enclosure_component { +@@ -94,20 +95,20 @@ struct enclosure_component { struct enclosure_device { void *scratch; struct list_head node; - struct class_device cdev; -+ struct device cdev; ++ struct device edev; struct enclosure_component_callbacks *cb; int components; struct enclosure_component component[0]; @@ -7677,7 +7827,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> -to_enclosure_device(struct class_device *dev) +to_enclosure_device(struct device *dev) { - return container_of(dev, struct enclosure_device, cdev); +- return container_of(dev, struct enclosure_device, cdev); ++ return container_of(dev, struct enclosure_device, edev); } static inline struct enclosure_component * @@ -173,7 +173,5 @@ driver-core/video-add-the-go7007-driver.patch #pending/greg-debugobjects-add-timer-specific-object-debugging-code.patch - -foo firmware-add-kconfig-and-makefile-to-build-the-firmware-samples.patch f2.patch |
