mirror of
https://github.com/sjlongland/adv950.git
synced 2025-09-13 18:53:15 +10:00
Blow away 2.4/2.6 drivers.
If someone wants a driver for something that old, ask Advantech.
This commit is contained in:
parent
3dd7257b72
commit
453a134106
80
2.4/Makefile
80
2.4/Makefile
@ -1,80 +0,0 @@
|
|||||||
#
|
|
||||||
# Makefile for the PCI-954/16C950 serial drivers
|
|
||||||
#
|
|
||||||
# Advantech eAutomation Division
|
|
||||||
#
|
|
||||||
|
|
||||||
ADVMOD := adv950
|
|
||||||
UNAME := $(shell uname -r)
|
|
||||||
ifeq "$(UNAME)""2.4.27-2-386"
|
|
||||||
LINUX_SRC= /usr/src/kernel-headers-2.4.27-2-386
|
|
||||||
else
|
|
||||||
LINUX_SRC= /usr/src/linux-2.4
|
|
||||||
endif
|
|
||||||
|
|
||||||
CONFIG_PATH = config-$(shell uname -r)
|
|
||||||
RESULT = $(shell grep CONFIG_DEVFS_FS=y /boot/$(CONFIG_PATH))
|
|
||||||
|
|
||||||
ifeq ($(RESULT),CONFIG_DEVFS_FS=y)
|
|
||||||
SERIAL_NAME = ttap
|
|
||||||
SERIAL_FOLDER = ttap/%d
|
|
||||||
CALLOUT_NAME= ttac
|
|
||||||
CALLOUT_FOLDER = ttac/%d
|
|
||||||
TEST_NAME = ttap/
|
|
||||||
else
|
|
||||||
SERIAL_NAME = ttyAP
|
|
||||||
SERIAL_FOLDER = ttyAP
|
|
||||||
CALLOUT_NAME= ttyAC
|
|
||||||
CALLOUT_FOLDER = ttyAC
|
|
||||||
TEST_NAME = ttyAP
|
|
||||||
endif
|
|
||||||
|
|
||||||
MAX_TTY= 16
|
|
||||||
MAX_TTY= 16
|
|
||||||
ADV_TTY_MAJOR= 30
|
|
||||||
ADV_TTY_CUMAJOR= 35
|
|
||||||
|
|
||||||
ARCH_FLAGS= $(I386_FLAGS)
|
|
||||||
INCL_FLAGS= -I. -I$(LINUX_SRC)/include -I$(LINUX_SRC)/drivers/char
|
|
||||||
DEF_FLAGS= -D__KERNEL__ -DLINUX \
|
|
||||||
-DCONFIG_PCI -DCONFIG_SERIAL_MULTIPORT \
|
|
||||||
-DEXPORT_SYMTAB
|
|
||||||
I386_FLAGS= -march=i686 -O2 -Wall
|
|
||||||
SERIAL_FLAGS= -DSERIAL_NAME=\"$(SERIAL_NAME)\" \
|
|
||||||
-DCALLOUT_NAME=\"$(CALLOUT_NAME)\" \
|
|
||||||
-DADV_TTY_MAJOR=$(ADV_TTY_MAJOR) \
|
|
||||||
-DADV_TTY_CUMAJOR=$(ADV_TTY_CUMAJOR)
|
|
||||||
CFLAGS= $(ARCH_FLAGS) $(INCL_FLAGS) $(DEF_FLAGS) $(SERIAL_FLAGS) -DMODULE
|
|
||||||
CC= gcc
|
|
||||||
|
|
||||||
default: $(ADVMOD).o
|
|
||||||
|
|
||||||
$(ADVMOD).o: serial.c
|
|
||||||
$(CC) $(CFLAGS) -c serial.c -o $(ADVMOD).o
|
|
||||||
|
|
||||||
install: default
|
|
||||||
$(shell if grep $(ADVMOD) /proc/modules > /dev/null ; then \
|
|
||||||
rmmod $(ADVMOD) ; fi)
|
|
||||||
@insmod $(ADVMOD).o
|
|
||||||
|
|
||||||
node: default install
|
|
||||||
@echo "Creating serial device nodes $(SERIAL_NAME) ..."
|
|
||||||
@echo "The Result is $(RESULT)"
|
|
||||||
@../advmknod $(SERIAL_NAME) \
|
|
||||||
$$(awk '$$2=="$(SERIAL_FOLDER)" {print $$1}' /proc/devices) $(MAX_TTY)
|
|
||||||
@echo "Creating callout device nodes $(CALLOUT_NAME) ..."
|
|
||||||
@../advmknod $(CALLOUT_NAME) \
|
|
||||||
$$(awk '$$2=="$(CALLOUT_FOLDER)" {print $$1}' /proc/devices) $(MAX_TTY)
|
|
||||||
@echo "Done"
|
|
||||||
|
|
||||||
uninstall:
|
|
||||||
$(shell if grep $(ADVMOD) /proc/modules > /dev/null ; then \
|
|
||||||
rmmod $(ADVMOD) ; fi)
|
|
||||||
|
|
||||||
test:
|
|
||||||
@cd ../getconfig; make; ./getconfig $(TEST_NAME) $(MAX_TTY)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@rm -f $(ADVMOD).o
|
|
||||||
@rm -f *~
|
|
||||||
@cd ../getconfig; make clean
|
|
6105
2.4/serial.c
6105
2.4/serial.c
File diff suppressed because it is too large
Load Diff
3178
2.6/8250.c
3178
2.6/8250.c
File diff suppressed because it is too large
Load Diff
122
2.6/8250.h
122
2.6/8250.h
@ -1,122 +0,0 @@
|
|||||||
/*
|
|
||||||
* linux/drivers/char/8250.h
|
|
||||||
*
|
|
||||||
* Driver for 8250/16550-type serial ports
|
|
||||||
*
|
|
||||||
* Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2001 Russell King.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* $Id: 8250.h,v 1.8 2002/07/21 21:32:30 rmk Exp $
|
|
||||||
*/
|
|
||||||
|
|
||||||
//lipeng add at 2006/06/08
|
|
||||||
#include <linux/version.h>
|
|
||||||
|
|
||||||
#ifndef KERNEL_VERSION
|
|
||||||
#define KERNEL_VERSION(a,b,c) ((a)*65536+(b)*256+(c))
|
|
||||||
#endif
|
|
||||||
//lipeng add end
|
|
||||||
|
|
||||||
//lipeng modify at 2007/09/07
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18)
|
|
||||||
#include <linux/config.h>
|
|
||||||
#endif
|
|
||||||
//lipeng modify end
|
|
||||||
|
|
||||||
//jinxin added to support DMA
|
|
||||||
#include <linux/pci.h>
|
|
||||||
#define TX_BUF_TOT_LEN 128
|
|
||||||
#define RX_BUF_TOT_LEN 128
|
|
||||||
|
|
||||||
#ifndef MIN
|
|
||||||
#define MIN(a,b) ((a) < (b) ? (a) : (b))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//DMA registers
|
|
||||||
#define DMAADL (0x100 + 0x00) //DMA Address Low
|
|
||||||
#define DMAADH (0x100 + 0x04) //DMA Address High
|
|
||||||
#define DMATL (0x100 + 0x08) //DMA Transfer Length
|
|
||||||
#define DMASTA (0x100 + 0x0c) //DMA Status
|
|
||||||
|
|
||||||
//DMA Status
|
|
||||||
#define DMAREAD (1UL << 31)
|
|
||||||
#define DMAACT (1UL << 0)
|
|
||||||
#define DMAERR (1UL << 1)
|
|
||||||
#define DMADONE (1UL << 2)
|
|
||||||
//jinxin added to support dtrdsr flow control
|
|
||||||
#ifndef CDTRDSR
|
|
||||||
#define CDTRDSR 004000000000 /* DTR/DSR flow control */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//jinxin added end
|
|
||||||
void adv_serial8250_get_irq_map(unsigned int *map);
|
|
||||||
void adv_serial8250_suspend_port(int line);
|
|
||||||
void adv_serial8250_resume_port(int line);
|
|
||||||
|
|
||||||
struct uart_8250_port {
|
|
||||||
struct uart_port port;
|
|
||||||
struct timer_list timer; /* "no irq" timer */
|
|
||||||
struct list_head list; /* ports on this IRQ */
|
|
||||||
unsigned int capabilities; /* port capabilities */
|
|
||||||
unsigned short rev;
|
|
||||||
unsigned char acr;
|
|
||||||
unsigned char ier;
|
|
||||||
unsigned char lcr;
|
|
||||||
unsigned char mcr;
|
|
||||||
unsigned char mcr_mask; /* mask of user bits */
|
|
||||||
unsigned char mcr_force; /* mask of forced bits */
|
|
||||||
unsigned char lsr_break_flag;
|
|
||||||
//jinxin added to support DMA
|
|
||||||
dma_addr_t rx_ring_dma;
|
|
||||||
dma_addr_t tx_ring_dma;
|
|
||||||
unsigned char *rx_ring;
|
|
||||||
unsigned char *tx_ring;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* We provide a per-port pm hook.
|
|
||||||
*/
|
|
||||||
void (*pm)(struct uart_port *port,
|
|
||||||
unsigned int state, unsigned int old);
|
|
||||||
};
|
|
||||||
|
|
||||||
struct old_serial_port {
|
|
||||||
unsigned int uart;
|
|
||||||
unsigned int baud_base;
|
|
||||||
unsigned int port;
|
|
||||||
unsigned int irq;
|
|
||||||
unsigned int flags;
|
|
||||||
unsigned char hub6;
|
|
||||||
unsigned char io_type;
|
|
||||||
unsigned char *iomem_base;
|
|
||||||
unsigned short iomem_reg_shift;
|
|
||||||
};
|
|
||||||
|
|
||||||
#undef SERIAL_DEBUG_PCI
|
|
||||||
|
|
||||||
#if defined(__i386__) && (defined(CONFIG_M386) || defined(CONFIG_M486))
|
|
||||||
#define SERIAL_INLINE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef SERIAL_INLINE
|
|
||||||
#define _INLINE_ inline
|
|
||||||
#else
|
|
||||||
#define _INLINE_
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define PROBE_RSA (1 << 0)
|
|
||||||
#define PROBE_ANY (~0)
|
|
||||||
|
|
||||||
#define HIGH_BITS_OFFSET ((sizeof(long)-sizeof(int))*8)
|
|
||||||
|
|
||||||
#ifdef CONFIG_SERIAL_8250_SHARE_IRQ
|
|
||||||
#define SERIAL8250_SHARE_IRQS 1
|
|
||||||
#else
|
|
||||||
#define SERIAL8250_SHARE_IRQS 0
|
|
||||||
#endif
|
|
1802
2.6/8250_pci.c
1802
2.6/8250_pci.c
File diff suppressed because it is too large
Load Diff
74
2.6/Makefile
74
2.6/Makefile
@ -1,74 +0,0 @@
|
|||||||
#
|
|
||||||
# Makefile for the kernel serial device drivers.
|
|
||||||
#
|
|
||||||
# Advantech eAutomation Division
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
UNAME := $(shell uname -r)
|
|
||||||
PWD := $(shell pwd)
|
|
||||||
ADVMOD := adv950
|
|
||||||
|
|
||||||
|
|
||||||
SERIAL_NAME= ttyAP
|
|
||||||
MAX_TTY= 64
|
|
||||||
ADV_TTY_MAJOR= 30
|
|
||||||
|
|
||||||
SERIAL_FLAGS= -DSERIAL_NAME=\"$(SERIAL_NAME)\" \
|
|
||||||
-DADV_TTY_MAJOR=$(ADV_TTY_MAJOR) \
|
|
||||||
-DADV_TTY_CUMAJOR=$(ADV_TTY_CUMAJOR)
|
|
||||||
|
|
||||||
|
|
||||||
ifeq "$(UNAME)""2.6.15-26-386"
|
|
||||||
SERIAL_FLAGS:= $(SERIAL_FLAGS) -DUBUNTU_2_6_15=1
|
|
||||||
else
|
|
||||||
ifeq "$(UNAME)""2.6.9-34.EL"
|
|
||||||
SERIAL_FLAGS:= $(SERIAL_FLAGS) -DRHE4SMP=0
|
|
||||||
else
|
|
||||||
ifeq "$(UNAME)""2.6.9-34.ELsmp"
|
|
||||||
SERIAL_FLAGS:= $(SERIAL_FLAGS) -DRHE4SMP=1
|
|
||||||
else
|
|
||||||
SERIAL_FLAGS:= $(SERIAL_FLAGS) -DUBUNTU_2_6_15=0
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(KERNELRELEASE),)
|
|
||||||
EXTRA_CFLAGS = $(SERIAL_FLAGS)
|
|
||||||
obj-m := adv950.o
|
|
||||||
adv950-objs := 8250.o 8250_pci.o serial_core.o
|
|
||||||
else
|
|
||||||
KDIR := /lib/modules/$(shell uname -r)/build/
|
|
||||||
PWD := $(shell pwd)
|
|
||||||
all:
|
|
||||||
$(MAKE) -w -C $(KDIR) SUBDIRS=$(PWD) modules
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
install:
|
|
||||||
$(shell if grep $(ADVMOD) /proc/modules > /dev/null ; then \
|
|
||||||
rmmod $(ADVMOD) ; fi)
|
|
||||||
@insmod $(ADVMOD).ko
|
|
||||||
|
|
||||||
node: default install
|
|
||||||
@echo "Creating serial device nodes $(SERIAL_NAME) ..."
|
|
||||||
@chmod 777 ../advmknod
|
|
||||||
@../advmknod $(SERIAL_NAME) \
|
|
||||||
$$(awk '$$2=="$(SERIAL_NAME)" {print $$1}' /proc/devices) $(MAX_TTY)
|
|
||||||
@echo "Done"
|
|
||||||
|
|
||||||
uninstall:
|
|
||||||
$(shell if grep $(ADVMOD) /proc/modules > /dev/null ; then \
|
|
||||||
rmmod $(ADVMOD) ; fi)
|
|
||||||
|
|
||||||
test:
|
|
||||||
@cd ../getconfig; make; ./getconfig $(SERIAL_NAME) $(MAX_TTY)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@rm -f *.o
|
|
||||||
@rm -f *.ko
|
|
||||||
@rm -f *.mod.c modules.order Module.symvers Module.markers
|
|
||||||
@rm -f .*.cmd
|
|
||||||
@rm -rf .tmp_versions
|
|
||||||
@rm -rf *~
|
|
||||||
@cd ../getconfig; make clean
|
|
5120
2.6/serial_core.c
5120
2.6/serial_core.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user