[S390] 3270 console: convert from bootmem to slab

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>
This commit is contained in:
Heiko Carstens 2009-06-22 12:08:05 +02:00 committed by Martin Schwidefsky
parent 6d56eee2c0
commit 33403dcfcd
2 changed files with 7 additions and 38 deletions

View File

@ -7,7 +7,6 @@
* Copyright IBM Corp. 2003, 2009 * Copyright IBM Corp. 2003, 2009
*/ */
#include <linux/bootmem.h>
#include <linux/console.h> #include <linux/console.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
@ -600,16 +599,14 @@ con3270_init(void)
if (IS_ERR(rp)) if (IS_ERR(rp))
return PTR_ERR(rp); return PTR_ERR(rp);
condev = (struct con3270 *) alloc_bootmem_low(sizeof(struct con3270)); condev = kzalloc(sizeof(struct con3270), GFP_KERNEL | GFP_DMA);
memset(condev, 0, sizeof(struct con3270));
condev->view.dev = rp; 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 = con3270_read_callback;
condev->read->callback_data = condev; condev->read->callback_data = condev;
condev->write = condev->write = raw3270_request_alloc(CON3270_OUTPUT_BUFFER_SIZE);
raw3270_request_alloc_bootmem(CON3270_OUTPUT_BUFFER_SIZE); condev->kreset = raw3270_request_alloc(1);
condev->kreset = raw3270_request_alloc_bootmem(1);
INIT_LIST_HEAD(&condev->lines); INIT_LIST_HEAD(&condev->lines);
INIT_LIST_HEAD(&condev->update); INIT_LIST_HEAD(&condev->update);
@ -623,7 +620,7 @@ con3270_init(void)
INIT_LIST_HEAD(&condev->freemem); INIT_LIST_HEAD(&condev->freemem);
for (i = 0; i < CON3270_STRING_PAGES; i++) { 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); add_string_memory(&condev->freemem, cbuf, PAGE_SIZE);
} }
condev->cline = alloc_string(&condev->freemem, condev->view.cols); condev->cline = alloc_string(&condev->freemem, condev->view.cols);

View File

@ -7,7 +7,6 @@
* Copyright IBM Corp. 2003, 2009 * Copyright IBM Corp. 2003, 2009
*/ */
#include <linux/bootmem.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/init.h> #include <linux/init.h>
@ -143,33 +142,6 @@ raw3270_request_alloc(size_t size)
return rq; 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 * Free 3270 ccw request
*/ */
@ -846,8 +818,8 @@ struct raw3270 __init *raw3270_setup_console(struct ccw_device *cdev)
char *ascebc; char *ascebc;
int rc; int rc;
rp = (struct raw3270 *) alloc_bootmem_low(sizeof(struct raw3270)); rp = kzalloc(sizeof(struct raw3270), GFP_KERNEL | GFP_DMA);
ascebc = (char *) alloc_bootmem(256); ascebc = kzalloc(256, GFP_KERNEL);
rc = raw3270_setup_device(cdev, rp, ascebc); rc = raw3270_setup_device(cdev, rp, ascebc);
if (rc) if (rc)
return ERR_PTR(rc); return ERR_PTR(rc);