[S390] 3270 console: convert from bootmem to slab
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 22 Jun 2009 10:08:05 +0000 (12:08 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 22 Jun 2009 10:08:17 +0000 (12:08 +0200)
The slab allocator is earlier available so convert the
bootmem allocations to slab/gfp allocations.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/char/con3270.c
drivers/s390/char/raw3270.c

index 44d02e371c04b89f1d089ecc1b0e3f2881610919..bb838bdf829d16ade4c5281a8a3c0f20e2d43516 100644 (file)
@@ -7,7 +7,6 @@
  *     Copyright IBM Corp. 2003, 2009
  */
 
-#include <linux/bootmem.h>
 #include <linux/console.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
@@ -600,16 +599,14 @@ con3270_init(void)
        if (IS_ERR(rp))
                return PTR_ERR(rp);
 
-       condev = (struct con3270 *) alloc_bootmem_low(sizeof(struct con3270));
-       memset(condev, 0, sizeof(struct con3270));
+       condev = kzalloc(sizeof(struct con3270), GFP_KERNEL | GFP_DMA);
        condev->view.dev = rp;
 
-       condev->read = raw3270_request_alloc_bootmem(0);
+       condev->read = raw3270_request_alloc(0);
        condev->read->callback = con3270_read_callback;
        condev->read->callback_data = condev;
-       condev->write = 
-               raw3270_request_alloc_bootmem(CON3270_OUTPUT_BUFFER_SIZE);
-       condev->kreset = raw3270_request_alloc_bootmem(1);
+       condev->write = raw3270_request_alloc(CON3270_OUTPUT_BUFFER_SIZE);
+       condev->kreset = raw3270_request_alloc(1);
 
        INIT_LIST_HEAD(&condev->lines);
        INIT_LIST_HEAD(&condev->update);
@@ -623,7 +620,7 @@ con3270_init(void)
 
        INIT_LIST_HEAD(&condev->freemem);
        for (i = 0; i < CON3270_STRING_PAGES; i++) {
-               cbuf = (void *) alloc_bootmem_low_pages(PAGE_SIZE);
+               cbuf = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA);
                add_string_memory(&condev->freemem, cbuf, PAGE_SIZE);
        }
        condev->cline = alloc_string(&condev->freemem, condev->view.cols);
index acab7b2dfe8ab2a23174487dda6658a1c7d2ac5d..9047b62294d04e723f4a267249f097f88e1fe952 100644 (file)
@@ -7,7 +7,6 @@
  *     Copyright IBM Corp. 2003, 2009
  */
 
-#include <linux/bootmem.h>
 #include <linux/module.h>
 #include <linux/err.h>
 #include <linux/init.h>
@@ -143,33 +142,6 @@ raw3270_request_alloc(size_t size)
        return rq;
 }
 
-#ifdef CONFIG_TN3270_CONSOLE
-/*
- * Allocate a new 3270 ccw request from bootmem. Only works very
- * early in the boot process. Only con3270.c should be using this.
- */
-struct raw3270_request __init *raw3270_request_alloc_bootmem(size_t size)
-{
-       struct raw3270_request *rq;
-
-       rq = alloc_bootmem_low(sizeof(struct raw3270));
-
-       /* alloc output buffer. */
-       if (size > 0)
-               rq->buffer = alloc_bootmem_low(size);
-       rq->size = size;
-       INIT_LIST_HEAD(&rq->list);
-
-       /*
-        * Setup ccw.
-        */
-       rq->ccw.cda = __pa(rq->buffer);
-       rq->ccw.flags = CCW_FLAG_SLI;
-
-       return rq;
-}
-#endif
-
 /*
  * Free 3270 ccw request
  */
@@ -846,8 +818,8 @@ struct raw3270 __init *raw3270_setup_console(struct ccw_device *cdev)
        char *ascebc;
        int rc;
 
-       rp = (struct raw3270 *) alloc_bootmem_low(sizeof(struct raw3270));
-       ascebc = (char *) alloc_bootmem(256);
+       rp = kzalloc(sizeof(struct raw3270), GFP_KERNEL | GFP_DMA);
+       ascebc = kzalloc(256, GFP_KERNEL);
        rc = raw3270_setup_device(cdev, rp, ascebc);
        if (rc)
                return ERR_PTR(rc);