Commit ec76cb1a authored by Tom Rini's avatar Tom Rini Committed by Linus Torvalds

[PATCH] ppc32: Fix arch/ppc/boot/common/ns16550.c

When <linux/timex.h> started including <asm/io.h> this exposed one of the
fragilities of the code in arch/ppc/boot/, namely that it is tied to the
kernel headers for some information, yet not really the kernel.  The
following starts us in the direction of being less tied to the kernel by
providing our own serial_state definition (all we care about is the ability
to grab information from SERIAL_PORT_DFNS).
Signed-off-by: default avatarTom Rini <trini@kernel.crashing.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent c68f9a4d
...@@ -5,14 +5,14 @@ ...@@ -5,14 +5,14 @@
#include <linux/config.h> #include <linux/config.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/serial.h> #include <linux/serial.h>
#include <linux/serialP.h>
#include <linux/serial_reg.h> #include <linux/serial_reg.h>
#include <asm/serial.h> #include <asm/serial.h>
#include "nonstdio.h"
#include "serial.h"
#define SERIAL_BAUD 9600 #define SERIAL_BAUD 9600
extern void outb(int port, unsigned char val);
extern unsigned char inb(int port);
extern unsigned long ISA_io; extern unsigned long ISA_io;
static struct serial_state rs_table[RS_TABLE_SIZE] = { static struct serial_state rs_table[RS_TABLE_SIZE] = {
......
/*
* A really private header file for the (dumb) serial driver in arch/ppc/boot
*
* Shamelessly taken from include/linux/serialP.h:
*
* Copyright (C) 1997 by Theodore Ts'o.
*
* Redistribution of this file is permitted under the terms of the GNU
* Public License (GPL)
*/
#ifndef _PPC_BOOT_SERIALP_H
#define _PPC_BOOT_SERIALP_H
/*
* This is our internal structure for each serial port's state.
*
* Many fields are paralleled by the structure used by the serial_struct
* structure.
*
* Given that this is how SERIAL_PORT_DFNS are done, and that we need
* to use a few of their fields, we need to have our own copy of it.
*/
struct serial_state {
int magic;
int baud_base;
unsigned long port;
int irq;
int flags;
int hub6;
int type;
int line;
int revision; /* Chip revision (950) */
int xmit_fifo_size;
int custom_divisor;
int count;
u8 *iomem_base;
u16 iomem_reg_shift;
unsigned short close_delay;
unsigned short closing_wait; /* time to wait before closing */
unsigned long icount;
int io_type;
void *info;
void *dev;
};
#endif /* _PPC_BOOT_SERIAL_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment