aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-03-25 20:47:04 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-03-25 20:47:04 -0400
commit7c8d891c2c7714965db1685289787b0c526f9c42 (patch)
tree63f4bb25df1a3b9798d318e8c2c28b959709f182 /drivers/s390
parent62d00867514ae1c81ab5e809e189ca159536daee (diff)
parent54eaae3028e6b09de0bd2232a8176fc0d0a2397a (diff)
Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] cmpxchg: implement cmpxchg64() [S390] xchg/cmpxchg: move to own header file [S390] ccwgroup_driver: remove duplicate members [S390] ccw_bus_type: make it static [S390] ccw_driver: remove duplicate members [S390] qdio: prevent handling of buffers if count is zero [S390] setup: register bss section as resource [S390] setup: simplify setup_resources() [S390] wire up sys_syncfs [S390] wire up sys_clock_adjtime [S390] wire up sys_open_by_handle_at [S390] wire up sys_name_to_handle_at [S390] oprofile: disable hw sampling for CONFIG_32BIT [S390] early: limit savesys cmd string handling [S390] early: Fix possible overlapping data buffer
Diffstat (limited to 'drivers/s390')
-rw-r--r--drivers/s390/block/dasd_eckd.c6
-rw-r--r--drivers/s390/block/dasd_fba.c6
-rw-r--r--drivers/s390/char/con3215.c6
-rw-r--r--drivers/s390/char/raw3270.c6
-rw-r--r--drivers/s390/char/tape_34xx.c6
-rw-r--r--drivers/s390/char/tape_3590.c6
-rw-r--r--drivers/s390/char/vmur.c6
-rw-r--r--drivers/s390/cio/ccwgroup.c6
-rw-r--r--drivers/s390/cio/device.c11
-rw-r--r--drivers/s390/cio/device.h1
-rw-r--r--drivers/s390/cio/qdio_main.c3
-rw-r--r--drivers/s390/net/claw.c12
-rw-r--r--drivers/s390/net/ctcm_main.c12
-rw-r--r--drivers/s390/net/lcs.c12
-rw-r--r--drivers/s390/net/qeth_core_main.c10
-rw-r--r--drivers/s390/scsi/zfcp_ccw.c6
16 files changed, 71 insertions, 44 deletions
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index 379d8592bc6e..459f2cbe80fc 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -3982,8 +3982,10 @@ out_err:
3982} 3982}
3983 3983
3984static struct ccw_driver dasd_eckd_driver = { 3984static struct ccw_driver dasd_eckd_driver = {
3985 .name = "dasd-eckd", 3985 .driver = {
3986 .owner = THIS_MODULE, 3986 .name = "dasd-eckd",
3987 .owner = THIS_MODULE,
3988 },
3987 .ids = dasd_eckd_ids, 3989 .ids = dasd_eckd_ids,
3988 .probe = dasd_eckd_probe, 3990 .probe = dasd_eckd_probe,
3989 .remove = dasd_generic_remove, 3991 .remove = dasd_generic_remove,
diff --git a/drivers/s390/block/dasd_fba.c b/drivers/s390/block/dasd_fba.c
index be89b3a893da..4b71b1164868 100644
--- a/drivers/s390/block/dasd_fba.c
+++ b/drivers/s390/block/dasd_fba.c
@@ -65,8 +65,10 @@ dasd_fba_set_online(struct ccw_device *cdev)
65} 65}
66 66
67static struct ccw_driver dasd_fba_driver = { 67static struct ccw_driver dasd_fba_driver = {
68 .name = "dasd-fba", 68 .driver = {
69 .owner = THIS_MODULE, 69 .name = "dasd-fba",
70 .owner = THIS_MODULE,
71 },
70 .ids = dasd_fba_ids, 72 .ids = dasd_fba_ids,
71 .probe = dasd_fba_probe, 73 .probe = dasd_fba_probe,
72 .remove = dasd_generic_remove, 74 .remove = dasd_generic_remove,
diff --git a/drivers/s390/char/con3215.c b/drivers/s390/char/con3215.c
index 3fb4335d491d..694464c65fcd 100644
--- a/drivers/s390/char/con3215.c
+++ b/drivers/s390/char/con3215.c
@@ -764,8 +764,10 @@ static struct ccw_device_id raw3215_id[] = {
764}; 764};
765 765
766static struct ccw_driver raw3215_ccw_driver = { 766static struct ccw_driver raw3215_ccw_driver = {
767 .name = "3215", 767 .driver = {
768 .owner = THIS_MODULE, 768 .name = "3215",
769 .owner = THIS_MODULE,
770 },
769 .ids = raw3215_id, 771 .ids = raw3215_id,
770 .probe = &raw3215_probe, 772 .probe = &raw3215_probe,
771 .remove = &raw3215_remove, 773 .remove = &raw3215_remove,
diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c
index 96ba2fd1c8ad..4c023761946f 100644
--- a/drivers/s390/char/raw3270.c
+++ b/drivers/s390/char/raw3270.c
@@ -1388,8 +1388,10 @@ static struct ccw_device_id raw3270_id[] = {
1388}; 1388};
1389 1389
1390static struct ccw_driver raw3270_ccw_driver = { 1390static struct ccw_driver raw3270_ccw_driver = {
1391 .name = "3270", 1391 .driver = {
1392 .owner = THIS_MODULE, 1392 .name = "3270",
1393 .owner = THIS_MODULE,
1394 },
1393 .ids = raw3270_id, 1395 .ids = raw3270_id,
1394 .probe = &raw3270_probe, 1396 .probe = &raw3270_probe,
1395 .remove = &raw3270_remove, 1397 .remove = &raw3270_remove,
diff --git a/drivers/s390/char/tape_34xx.c b/drivers/s390/char/tape_34xx.c
index c26511171ffe..9eff2df70ddb 100644
--- a/drivers/s390/char/tape_34xx.c
+++ b/drivers/s390/char/tape_34xx.c
@@ -1320,8 +1320,10 @@ tape_34xx_online(struct ccw_device *cdev)
1320} 1320}
1321 1321
1322static struct ccw_driver tape_34xx_driver = { 1322static struct ccw_driver tape_34xx_driver = {
1323 .name = "tape_34xx", 1323 .driver = {
1324 .owner = THIS_MODULE, 1324 .name = "tape_34xx",
1325 .owner = THIS_MODULE,
1326 },
1325 .ids = tape_34xx_ids, 1327 .ids = tape_34xx_ids,
1326 .probe = tape_generic_probe, 1328 .probe = tape_generic_probe,
1327 .remove = tape_generic_remove, 1329 .remove = tape_generic_remove,
diff --git a/drivers/s390/char/tape_3590.c b/drivers/s390/char/tape_3590.c
index de2e99e0a71b..b98dcbd16711 100644
--- a/drivers/s390/char/tape_3590.c
+++ b/drivers/s390/char/tape_3590.c
@@ -1761,8 +1761,10 @@ tape_3590_online(struct ccw_device *cdev)
1761} 1761}
1762 1762
1763static struct ccw_driver tape_3590_driver = { 1763static struct ccw_driver tape_3590_driver = {
1764 .name = "tape_3590", 1764 .driver = {
1765 .owner = THIS_MODULE, 1765 .name = "tape_3590",
1766 .owner = THIS_MODULE,
1767 },
1766 .ids = tape_3590_ids, 1768 .ids = tape_3590_ids,
1767 .probe = tape_generic_probe, 1769 .probe = tape_generic_probe,
1768 .remove = tape_generic_remove, 1770 .remove = tape_generic_remove,
diff --git a/drivers/s390/char/vmur.c b/drivers/s390/char/vmur.c
index caef1757341d..f6b00c3df425 100644
--- a/drivers/s390/char/vmur.c
+++ b/drivers/s390/char/vmur.c
@@ -64,8 +64,10 @@ static int ur_set_offline(struct ccw_device *cdev);
64static int ur_pm_suspend(struct ccw_device *cdev); 64static int ur_pm_suspend(struct ccw_device *cdev);
65 65
66static struct ccw_driver ur_driver = { 66static struct ccw_driver ur_driver = {
67 .name = "vmur", 67 .driver = {
68 .owner = THIS_MODULE, 68 .name = "vmur",
69 .owner = THIS_MODULE,
70 },
69 .ids = ur_ids, 71 .ids = ur_ids,
70 .probe = ur_probe, 72 .probe = ur_probe,
71 .remove = ur_remove, 73 .remove = ur_remove,
diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c
index 2864581d8ecb..5c567414c4bb 100644
--- a/drivers/s390/cio/ccwgroup.c
+++ b/drivers/s390/cio/ccwgroup.c
@@ -428,7 +428,7 @@ ccwgroup_online_store (struct device *dev, struct device_attribute *attr, const
428 gdev = to_ccwgroupdev(dev); 428 gdev = to_ccwgroupdev(dev);
429 gdrv = to_ccwgroupdrv(dev->driver); 429 gdrv = to_ccwgroupdrv(dev->driver);
430 430
431 if (!try_module_get(gdrv->owner)) 431 if (!try_module_get(gdrv->driver.owner))
432 return -EINVAL; 432 return -EINVAL;
433 433
434 ret = strict_strtoul(buf, 0, &value); 434 ret = strict_strtoul(buf, 0, &value);
@@ -442,7 +442,7 @@ ccwgroup_online_store (struct device *dev, struct device_attribute *attr, const
442 else 442 else
443 ret = -EINVAL; 443 ret = -EINVAL;
444out: 444out:
445 module_put(gdrv->owner); 445 module_put(gdrv->driver.owner);
446 return (ret == 0) ? count : ret; 446 return (ret == 0) ? count : ret;
447} 447}
448 448
@@ -616,8 +616,6 @@ int ccwgroup_driver_register(struct ccwgroup_driver *cdriver)
616{ 616{
617 /* register our new driver with the core */ 617 /* register our new driver with the core */
618 cdriver->driver.bus = &ccwgroup_bus_type; 618 cdriver->driver.bus = &ccwgroup_bus_type;
619 cdriver->driver.name = cdriver->name;
620 cdriver->driver.owner = cdriver->owner;
621 619
622 return driver_register(&cdriver->driver); 620 return driver_register(&cdriver->driver);
623} 621}
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c
index e50b12163afe..df14c51f6532 100644
--- a/drivers/s390/cio/device.c
+++ b/drivers/s390/cio/device.c
@@ -127,7 +127,7 @@ static int ccw_uevent(struct device *dev, struct kobj_uevent_env *env)
127 return ret; 127 return ret;
128} 128}
129 129
130struct bus_type ccw_bus_type; 130static struct bus_type ccw_bus_type;
131 131
132static void io_subchannel_irq(struct subchannel *); 132static void io_subchannel_irq(struct subchannel *);
133static int io_subchannel_probe(struct subchannel *); 133static int io_subchannel_probe(struct subchannel *);
@@ -547,7 +547,7 @@ static ssize_t online_store (struct device *dev, struct device_attribute *attr,
547 if (atomic_cmpxchg(&cdev->private->onoff, 0, 1) != 0) 547 if (atomic_cmpxchg(&cdev->private->onoff, 0, 1) != 0)
548 return -EAGAIN; 548 return -EAGAIN;
549 549
550 if (cdev->drv && !try_module_get(cdev->drv->owner)) { 550 if (cdev->drv && !try_module_get(cdev->drv->driver.owner)) {
551 atomic_set(&cdev->private->onoff, 0); 551 atomic_set(&cdev->private->onoff, 0);
552 return -EINVAL; 552 return -EINVAL;
553 } 553 }
@@ -573,7 +573,7 @@ static ssize_t online_store (struct device *dev, struct device_attribute *attr,
573 } 573 }
574out: 574out:
575 if (cdev->drv) 575 if (cdev->drv)
576 module_put(cdev->drv->owner); 576 module_put(cdev->drv->driver.owner);
577 atomic_set(&cdev->private->onoff, 0); 577 atomic_set(&cdev->private->onoff, 0);
578 return (ret < 0) ? ret : count; 578 return (ret < 0) ? ret : count;
579} 579}
@@ -1970,7 +1970,7 @@ static const struct dev_pm_ops ccw_pm_ops = {
1970 .restore = ccw_device_pm_restore, 1970 .restore = ccw_device_pm_restore,
1971}; 1971};
1972 1972
1973struct bus_type ccw_bus_type = { 1973static struct bus_type ccw_bus_type = {
1974 .name = "ccw", 1974 .name = "ccw",
1975 .match = ccw_bus_match, 1975 .match = ccw_bus_match,
1976 .uevent = ccw_uevent, 1976 .uevent = ccw_uevent,
@@ -1993,8 +1993,6 @@ int ccw_driver_register(struct ccw_driver *cdriver)
1993 struct device_driver *drv = &cdriver->driver; 1993 struct device_driver *drv = &cdriver->driver;
1994 1994
1995 drv->bus = &ccw_bus_type; 1995 drv->bus = &ccw_bus_type;
1996 drv->name = cdriver->name;
1997 drv->owner = cdriver->owner;
1998 1996
1999 return driver_register(drv); 1997 return driver_register(drv);
2000} 1998}
@@ -2112,5 +2110,4 @@ EXPORT_SYMBOL(ccw_device_set_offline);
2112EXPORT_SYMBOL(ccw_driver_register); 2110EXPORT_SYMBOL(ccw_driver_register);
2113EXPORT_SYMBOL(ccw_driver_unregister); 2111EXPORT_SYMBOL(ccw_driver_unregister);
2114EXPORT_SYMBOL(get_ccwdev_by_busid); 2112EXPORT_SYMBOL(get_ccwdev_by_busid);
2115EXPORT_SYMBOL(ccw_bus_type);
2116EXPORT_SYMBOL_GPL(ccw_device_get_subchannel_id); 2113EXPORT_SYMBOL_GPL(ccw_device_get_subchannel_id);
diff --git a/drivers/s390/cio/device.h b/drivers/s390/cio/device.h
index 379de2d1ec49..7e297c7bb5ff 100644
--- a/drivers/s390/cio/device.h
+++ b/drivers/s390/cio/device.h
@@ -133,7 +133,6 @@ void ccw_device_set_notoper(struct ccw_device *cdev);
133/* qdio needs this. */ 133/* qdio needs this. */
134void ccw_device_set_timeout(struct ccw_device *, int); 134void ccw_device_set_timeout(struct ccw_device *, int);
135extern struct subchannel_id ccw_device_get_subchannel_id(struct ccw_device *); 135extern struct subchannel_id ccw_device_get_subchannel_id(struct ccw_device *);
136extern struct bus_type ccw_bus_type;
137 136
138/* Channel measurement facility related */ 137/* Channel measurement facility related */
139void retry_set_schib(struct ccw_device *cdev); 138void retry_set_schib(struct ccw_device *cdev);
diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c
index 5640c89cd9de..479c665e9e7c 100644
--- a/drivers/s390/cio/qdio_main.c
+++ b/drivers/s390/cio/qdio_main.c
@@ -1508,7 +1508,8 @@ int do_QDIO(struct ccw_device *cdev, unsigned int callflags,
1508 1508
1509 if (irq_ptr->state != QDIO_IRQ_STATE_ACTIVE) 1509 if (irq_ptr->state != QDIO_IRQ_STATE_ACTIVE)
1510 return -EBUSY; 1510 return -EBUSY;
1511 1511 if (!count)
1512 return 0;
1512 if (callflags & QDIO_FLAG_SYNC_INPUT) 1513 if (callflags & QDIO_FLAG_SYNC_INPUT)
1513 return handle_inbound(irq_ptr->input_qs[q_nr], 1514 return handle_inbound(irq_ptr->input_qs[q_nr],
1514 callflags, bufnr, count); 1515 callflags, bufnr, count);
diff --git a/drivers/s390/net/claw.c b/drivers/s390/net/claw.c
index ce3a5c13ce0b..9feb62febb3d 100644
--- a/drivers/s390/net/claw.c
+++ b/drivers/s390/net/claw.c
@@ -264,8 +264,10 @@ static struct device *claw_root_dev;
264/* ccwgroup table */ 264/* ccwgroup table */
265 265
266static struct ccwgroup_driver claw_group_driver = { 266static struct ccwgroup_driver claw_group_driver = {
267 .owner = THIS_MODULE, 267 .driver = {
268 .name = "claw", 268 .owner = THIS_MODULE,
269 .name = "claw",
270 },
269 .max_slaves = 2, 271 .max_slaves = 2,
270 .driver_id = 0xC3D3C1E6, 272 .driver_id = 0xC3D3C1E6,
271 .probe = claw_probe, 273 .probe = claw_probe,
@@ -282,8 +284,10 @@ static struct ccw_device_id claw_ids[] = {
282MODULE_DEVICE_TABLE(ccw, claw_ids); 284MODULE_DEVICE_TABLE(ccw, claw_ids);
283 285
284static struct ccw_driver claw_ccw_driver = { 286static struct ccw_driver claw_ccw_driver = {
285 .owner = THIS_MODULE, 287 .driver = {
286 .name = "claw", 288 .owner = THIS_MODULE,
289 .name = "claw",
290 },
287 .ids = claw_ids, 291 .ids = claw_ids,
288 .probe = ccwgroup_probe_ccwdev, 292 .probe = ccwgroup_probe_ccwdev,
289 .remove = ccwgroup_remove_ccwdev, 293 .remove = ccwgroup_remove_ccwdev,
diff --git a/drivers/s390/net/ctcm_main.c b/drivers/s390/net/ctcm_main.c
index 4c2845985927..c189296763a4 100644
--- a/drivers/s390/net/ctcm_main.c
+++ b/drivers/s390/net/ctcm_main.c
@@ -1764,16 +1764,20 @@ static struct ccw_device_id ctcm_ids[] = {
1764MODULE_DEVICE_TABLE(ccw, ctcm_ids); 1764MODULE_DEVICE_TABLE(ccw, ctcm_ids);
1765 1765
1766static struct ccw_driver ctcm_ccw_driver = { 1766static struct ccw_driver ctcm_ccw_driver = {
1767 .owner = THIS_MODULE, 1767 .driver = {
1768 .name = "ctcm", 1768 .owner = THIS_MODULE,
1769 .name = "ctcm",
1770 },
1769 .ids = ctcm_ids, 1771 .ids = ctcm_ids,
1770 .probe = ccwgroup_probe_ccwdev, 1772 .probe = ccwgroup_probe_ccwdev,
1771 .remove = ccwgroup_remove_ccwdev, 1773 .remove = ccwgroup_remove_ccwdev,
1772}; 1774};
1773 1775
1774static struct ccwgroup_driver ctcm_group_driver = { 1776static struct ccwgroup_driver ctcm_group_driver = {
1775 .owner = THIS_MODULE, 1777 .driver = {
1776 .name = CTC_DRIVER_NAME, 1778 .owner = THIS_MODULE,
1779 .name = CTC_DRIVER_NAME,
1780 },
1777 .max_slaves = 2, 1781 .max_slaves = 2,
1778 .driver_id = 0xC3E3C3D4, /* CTCM */ 1782 .driver_id = 0xC3E3C3D4, /* CTCM */
1779 .probe = ctcm_probe_device, 1783 .probe = ctcm_probe_device,
diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c
index 30b2a820e670..7fbc4adbb6d5 100644
--- a/drivers/s390/net/lcs.c
+++ b/drivers/s390/net/lcs.c
@@ -2396,8 +2396,10 @@ static struct ccw_device_id lcs_ids[] = {
2396MODULE_DEVICE_TABLE(ccw, lcs_ids); 2396MODULE_DEVICE_TABLE(ccw, lcs_ids);
2397 2397
2398static struct ccw_driver lcs_ccw_driver = { 2398static struct ccw_driver lcs_ccw_driver = {
2399 .owner = THIS_MODULE, 2399 .driver = {
2400 .name = "lcs", 2400 .owner = THIS_MODULE,
2401 .name = "lcs",
2402 },
2401 .ids = lcs_ids, 2403 .ids = lcs_ids,
2402 .probe = ccwgroup_probe_ccwdev, 2404 .probe = ccwgroup_probe_ccwdev,
2403 .remove = ccwgroup_remove_ccwdev, 2405 .remove = ccwgroup_remove_ccwdev,
@@ -2407,8 +2409,10 @@ static struct ccw_driver lcs_ccw_driver = {
2407 * LCS ccwgroup driver registration 2409 * LCS ccwgroup driver registration
2408 */ 2410 */
2409static struct ccwgroup_driver lcs_group_driver = { 2411static struct ccwgroup_driver lcs_group_driver = {
2410 .owner = THIS_MODULE, 2412 .driver = {
2411 .name = "lcs", 2413 .owner = THIS_MODULE,
2414 .name = "lcs",
2415 },
2412 .max_slaves = 2, 2416 .max_slaves = 2,
2413 .driver_id = 0xD3C3E2, 2417 .driver_id = 0xD3C3E2,
2414 .probe = lcs_probe_device, 2418 .probe = lcs_probe_device,
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
index 25eef304bd47..10a3a3b4dd3e 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -3902,7 +3902,9 @@ static struct ccw_device_id qeth_ids[] = {
3902MODULE_DEVICE_TABLE(ccw, qeth_ids); 3902MODULE_DEVICE_TABLE(ccw, qeth_ids);
3903 3903
3904static struct ccw_driver qeth_ccw_driver = { 3904static struct ccw_driver qeth_ccw_driver = {
3905 .name = "qeth", 3905 .driver = {
3906 .name = "qeth",
3907 },
3906 .ids = qeth_ids, 3908 .ids = qeth_ids,
3907 .probe = ccwgroup_probe_ccwdev, 3909 .probe = ccwgroup_probe_ccwdev,
3908 .remove = ccwgroup_remove_ccwdev, 3910 .remove = ccwgroup_remove_ccwdev,
@@ -4428,8 +4430,10 @@ static int qeth_core_restore(struct ccwgroup_device *gdev)
4428} 4430}
4429 4431
4430static struct ccwgroup_driver qeth_core_ccwgroup_driver = { 4432static struct ccwgroup_driver qeth_core_ccwgroup_driver = {
4431 .owner = THIS_MODULE, 4433 .driver = {
4432 .name = "qeth", 4434 .owner = THIS_MODULE,
4435 .name = "qeth",
4436 },
4433 .driver_id = 0xD8C5E3C8, 4437 .driver_id = 0xD8C5E3C8,
4434 .probe = qeth_core_probe_device, 4438 .probe = qeth_core_probe_device,
4435 .remove = qeth_core_remove_device, 4439 .remove = qeth_core_remove_device,
diff --git a/drivers/s390/scsi/zfcp_ccw.c b/drivers/s390/scsi/zfcp_ccw.c
index 4f7852dd30c7..e8b7cee62046 100644
--- a/drivers/s390/scsi/zfcp_ccw.c
+++ b/drivers/s390/scsi/zfcp_ccw.c
@@ -251,8 +251,10 @@ static void zfcp_ccw_shutdown(struct ccw_device *cdev)
251} 251}
252 252
253struct ccw_driver zfcp_ccw_driver = { 253struct ccw_driver zfcp_ccw_driver = {
254 .owner = THIS_MODULE, 254 .driver = {
255 .name = "zfcp", 255 .owner = THIS_MODULE,
256 .name = "zfcp",
257 },
256 .ids = zfcp_ccw_device_id, 258 .ids = zfcp_ccw_device_id,
257 .probe = zfcp_ccw_probe, 259 .probe = zfcp_ccw_probe,
258 .remove = zfcp_ccw_remove, 260 .remove = zfcp_ccw_remove,