Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1691 → Rev 1692

/drivers/audio/a5536/driver.lds
0,0 → 1,56
 
 
OUTPUT_FORMAT(pei-i386)
 
ENTRY("_drvEntry")
 
SECTIONS
{
. = SIZEOF_HEADERS;
. = ALIGN(__section_alignment__);
 
.text __image_base__ + ( __section_alignment__ < 0x1000 ? . : __section_alignment__ ) :
 
{
*(.text) *(.rdata)
}
 
.data ALIGN(__section_alignment__) :
{
*(.data)
}
 
.bss ALIGN(__section_alignment__):
{
*(.bss)
*(COMMON)
}
 
/DISCARD/ :
{
*(.debug$S)
*(.debug$T)
*(.debug$F)
*(.drectve)
*(.edata)
}
 
.idata ALIGN(__section_alignment__):
{
SORT(*)(.idata$2)
SORT(*)(.idata$3)
/* These zeroes mark the end of the import list. */
LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
SORT(*)(.idata$4)
SORT(*)(.idata$5)
SORT(*)(.idata$6)
SORT(*)(.idata$7)
}
 
.reloc ALIGN(__section_alignment__) :
{
*(.reloc)
}
 
}
 
/drivers/audio/a5536/geode.c
2,20 → 2,13
 
#define FORCED_PIO
 
#include "types.h"
 
#include <ddk.h>
#include "pci.h"
#include "syscall.h"
#include <syscall.h>
 
#include "geode.h"
 
#define DEBUG
 
#ifdef DEBUG
#define DBG(format,...) dbgprintf(format,##__VA_ARGS__)
#else
#define DBG(format,...)
#endif
 
#define BM0_IRQ 0x04
#define BM1_IRQ 0x08
470,7 → 463,7
};
 
 
u32_t __stdcall drvEntry(int action)
u32_t drvEntry(int action, char *cmdline)
{
u32_t retval;
 
479,17 → 472,15
if(action != 1)
return 0;
 
#ifdef DEBUG
if(!dbg_open("/rd/1/drivers/geode.log"))
{
printf("Can't open /rd/1/drivers/geode.log\nExit\n");
return 0;
}
#endif
 
if( FindPciDevice() == FALSE)
{
DBG("Device not found\n");
dbgprintf("Device not found\n");
return 0;
};
 
516,8 → 507,8
#define DEV_SET_MASTERVOL 6
#define DEV_GET_MASTERVOL 7
#define DEV_GET_INFO 8
#define DEV_GET_POS 9
 
 
int __stdcall srv_sound(ioctl_t *io)
{
u32_t *inp;
551,6 → 542,14
}
break;
 
case DEV_GET_POS:
if(io->out_size==4)
{
*outp = ctrl_read_32(0x60)>>2;
return 0;
}
break;
 
default:
return ERR_PARAM;
};
/drivers/audio/a5536/makefile
2,15 → 2,24
CC = gcc
FASM = e:/fasm/fasm.exe
CFLAGS = -c -O2 -fomit-frame-pointer -fno-builtin-printf
LDRHD = -shared -T ld.x -s --file-alignment 32
LDFLAGS = -nostdlib -shared -s -Map usb.map --image-base 0\
--file-alignment 512 --section-alignment 4096
 
INCLUDES = -I ../../include
DEFINES = -D__KERNEL__ -DCONFIG_X86_32
 
HFILES:= ../../include/types.h \
../../include/syscall.h \
../../include/pci.h \
geode.h
DRV_TOPDIR = $(CURDIR)/../..
 
DRV_INCLUDES = $(DRV_TOPDIR)/include
 
INCLUDES = -I$(DRV_INCLUDES) \
-I$(DRV_INCLUDES)/linux
 
LIBPATH = $(DRV_TOPDIR)/ddk
 
LIBS:= -lddk -lcore
 
HFILES:= geode.h
 
SRC_DEP:=
GEODE_SRC:= amd_geode.h
 
20,11 → 29,11
all: $(GEODE)
 
$(GEODE): geode.obj $(SRC_DEP) $(HFILES) Makefile
wlink name $(GEODE) SYS nt_dll lib libdrv op offset=0 op nod op maxe=25 op el op STUB=stub.exe op START=_drvEntry @$(NAME).lk
ld $(LDFLAGS) -L$(LIBPATH) -T driver.lds -o $@ geode.obj $(LIBS)
kpack.exe geode.dll geode.drv
 
geode.obj : geode.c $(SRC_DEP) $(HFILES) Makefile
$(CC) $(INCLUDES) $(CFLAGS) -o geode.obj geode.c
$(CC) $(DEFINES) $(INCLUDES) $(CFLAGS) -o geode.obj geode.c
 
 
 
/drivers/audio/a5536/pci.h
1,5 → 1,9
 
typedef int Bool;
 
#define TRUE 1
#define FALSE 0
 
#pragma pack(push, 1)
typedef struct
{