Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33403dcf authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky
Browse files

[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: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 6d56eee2
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -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);
+2 −30
Original line number Diff line number Diff line
@@ -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);