Hi Andrew,
the following patch fixes the issues in
s390-introduce-struct-channel_subsystem.patch and
s390-convert-proc-cio_ignore.patch.
s390: Fix missing release function and cosmetic changes.
- Use kzalloc() in blacklist.c.
- Kill unwanted casts in blacklist.c.
- Provide release function for struct channel_subsystem.
Signed-off-by: Cornelia Huck <[email protected]>
CC: Martin Schwidefsky <[email protected]>
blacklist.c | 7 +++----
css.c | 10 ++++++++++
2 files changed, 13 insertions(+), 4 deletions(-)
diff -Naurp linux-2.6.15-rc5-mm2/drivers/s390/cio/blacklist.c linux-2.6.15-rc5-mm2+cio/drivers/s390/cio/blacklist.c
--- linux-2.6.15-rc5-mm2/drivers/s390/cio/blacklist.c 2005-12-12 13:20:53.000000000 +0100
+++ linux-2.6.15-rc5-mm2+cio/drivers/s390/cio/blacklist.c 2005-12-12 13:21:05.000000000 +0100
@@ -299,10 +299,9 @@ cio_ignore_proc_seq_start(struct seq_fil
if (*offset >= (__MAX_SUBCHANNEL + 1) * (__MAX_SSID + 1))
return NULL;
- iter = kmalloc(sizeof(struct ccwdev_iter), GFP_KERNEL);
+ iter = kzalloc(sizeof(struct ccwdev_iter), GFP_KERNEL);
if (!iter)
return ERR_PTR(-ENOMEM);
- memset(iter, 0, sizeof(struct ccwdev_iter));
iter->ssid = *offset / (__MAX_SUBCHANNEL + 1);
iter->devno = *offset % (__MAX_SUBCHANNEL + 1);
return iter;
@@ -322,7 +321,7 @@ cio_ignore_proc_seq_next(struct seq_file
if (*offset >= (__MAX_SUBCHANNEL + 1) * (__MAX_SSID + 1))
return NULL;
- iter = (struct ccwdev_iter *)it;
+ iter = it;
if (iter->devno == __MAX_SUBCHANNEL) {
iter->devno = 0;
iter->ssid++;
@@ -339,7 +338,7 @@ cio_ignore_proc_seq_show(struct seq_file
{
struct ccwdev_iter *iter;
- iter = (struct ccwdev_iter *)it;
+ iter = it;
if (!is_blacklisted(iter->ssid, iter->devno))
/* Not blacklisted, nothing to output. */
return 0;
diff -Naurp linux-2.6.15-rc5-mm2/drivers/s390/cio/css.c linux-2.6.15-rc5-mm2+cio/drivers/s390/cio/css.c
--- linux-2.6.15-rc5-mm2/drivers/s390/cio/css.c 2005-12-12 13:20:53.000000000 +0100
+++ linux-2.6.15-rc5-mm2+cio/drivers/s390/cio/css.c 2005-12-12 13:21:05.000000000 +0100
@@ -444,6 +444,15 @@ css_generate_pgid(struct channel_subsyst
}
+static void
+channel_subsystem_release(struct device *dev)
+{
+ struct channel_subsystem *css;
+
+ css = to_css(dev);
+ kfree(css);
+}
+
static inline void __init
setup_css(int nr)
{
@@ -453,6 +462,7 @@ setup_css(int nr)
css[nr]->valid = 1;
css[nr]->cssid = nr;
sprintf(css[nr]->device.bus_id, "css%x", nr);
+ css[nr]->device.release = channel_subsystem_release;
tod_high = (u32) (get_clock() >> 32);
css_generate_pgid(css[nr], tod_high);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]