Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37379553
en ru br
Репозитории ALT
S:2.0.8-alt5
5.1: 2.0.8-alt1
4.1: 2.0.8-alt1
4.0: 2.0.8-alt1
3.0: 2.0.8-alt1
www.altlinux.org/Changes

Группа :: Звук
Пакет: fmio

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: fmio-2.0.8-nodirectio.patch
Скачать


diff -up fmio-2.0.8/Makefile.nodirectio fmio-2.0.8/Makefile
--- fmio-2.0.8/Makefile.nodirectio	2007-11-12 01:10:10.000000000 +0200
+++ fmio-2.0.8/Makefile	2007-11-12 01:29:13.000000000 +0200
@@ -1,4 +1,7 @@
-SUBDIRS = src utils xsrc
+SUBDIRS = src xsrc
+ifeq ($(WITH_DIRECT_IO),y)
+SUBDIRS += utils
+endif
 
 all:
 	for i in $(SUBDIRS); do \
diff -up fmio-2.0.8/src/radio.c.nodirectio fmio-2.0.8/src/radio.c
--- fmio-2.0.8/src/radio.c.nodirectio	2007-11-12 01:10:10.000000000 +0200
+++ fmio-2.0.8/src/radio.c	2007-11-12 01:10:10.000000000 +0200
@@ -46,6 +46,7 @@
 #define MMAX(a,b)	((a) >= (b) ? (a) : (b))
 
 EXPORT_FUNC export_db[] = {
+#ifdef USE_DIRECT_IO
 	export_aztech,		/* Aztech/PackardBell */
 #ifdef USE_BKTR
 	export_bktr,		/* Brooktree BT848/BT878 or Video4Linux */
@@ -76,6 +77,9 @@ EXPORT_FUNC export_db[] = {
 	export_xtreme,		/* AIMS Lab Highway Xtreme */
 #endif /* BSDBKTR */
 	export_zx		/* Zoltrix RadioPlus */
+#else
+	export_bktr
+#endif /* USE_DIRECT_IO */
 };
 
 struct tuner_drv_t **drv_db;
diff -up fmio-2.0.8/src/Makefile.nodirectio fmio-2.0.8/src/Makefile
--- fmio-2.0.8/src/Makefile.nodirectio	2007-11-12 01:10:10.000000000 +0200
+++ fmio-2.0.8/src/Makefile	2007-11-12 01:10:10.000000000 +0200
@@ -23,17 +23,23 @@ HDRS= bu2614.h lm700x.h pt2254a.h radio.
 ALLHDRS= $(HDRS) export.h mixer.h ostypes.h pci.h
 OBJS= access.o bu2614.o lm700x.o mixer.o pci.o pt2254a.o radio.o tc921x.o \
 	tea5757.o
-DRVS= aztech.o bktr.o bmc-hma.o bsdradio.o ecoradio.o \
+DRVS= bktr.o
+
+ifeq ($(WITH_DIRECT_IO),y)
+DIRECT_IO_DRVS= aztech.o bmc-hma.o bsdradio.o ecoradio.o \
 	gemtek-isa.o gemtek-pci.o radiotrack.o radiotrackII.o \
 	sf16fmd2.o sf16fmr.o sf16fmr2.o sf64pce2.o sf64pcr.o sf256pcpr.o \
 	sf256pcsr.o spase.o terratec-isa.o trust.o xtreme.o zoltrix.o
 
+CFLAGS += -DUSE_DIRECT_IO
+endif
+
 FMIOOBJ= fmio.o
 FMIO= fmio
 MANPAGE= fmio.1
 CATPAGE= fmio.0
 
-REMOVABLE= $(FMIOOBJ) $(FMIO) $(OBJS) $(DRVS) libradio.so *core
+REMOVABLE= $(FMIOOBJ) $(FMIO) $(OBJS) $(DIRECT_IO_DRVS) $(DRVS) libradio.so *core
 
 PREFIX?= $(DESTDIR)$(prefix)
 LIBDIR?= $(DESTDIR)$(libdir)
@@ -89,9 +95,9 @@ clean:
 distclean:
 	rm -f $(REMOVABLE) $(CATPAGE)
 
-libradio.so: $(ALLHDRS) $(OBJS) $(DRVS)
+libradio.so: $(ALLHDRS) $(OBJS) $(DIRECT_IO_DRVS) $(DRVS)
 	rm -f $@
-	$(CC) -o $@ -shared $(CFLAGS) $(LDFLAGS) $(OBJS) $(DRVS)
+	$(CC) -o $@ -shared $(CFLAGS) $(LDFLAGS) $(OBJS) $(DIRECT_IO_DRVS) $(DRVS)
 
 fmio.0: $(MANPAGE)
 	@echo "groff -Tascii -mandoc $(MANPAGE) > $@"
diff -up fmio-2.0.8/src/radio_drv.h.nodirectio fmio-2.0.8/src/radio_drv.h
--- fmio-2.0.8/src/radio_drv.h.nodirectio	2003-05-13 18:08:44.000000000 +0300
+++ fmio-2.0.8/src/radio_drv.h	2007-11-12 01:10:10.000000000 +0200
@@ -32,7 +32,16 @@
 #include <sys/ioctl.h>
 
 #ifdef linux
+#ifdef USE_DIRECT_IO
 #include <sys/io.h>
+#else
+#define inl(a)		0x00
+#define inw(a)		0x00
+#define inb(a)		0x00
+#define outl(a, b)
+#define outw(a, b)
+#define outb(a, b)
+#endif
 #include <libv4l1-videodev.h>
 #elif defined __FreeBSD__
 #include <machine/ioctl_bt848.h>
diff -up fmio-2.0.8/src/access.c.nodirectio fmio-2.0.8/src/access.c
--- fmio-2.0.8/src/access.c.nodirectio	2003-05-13 18:08:44.000000000 +0300
+++ fmio-2.0.8/src/access.c	2007-11-12 01:10:10.000000000 +0200
@@ -52,7 +52,7 @@ const char *radio_device_1 = "/dev/radio
 const char *radio_device_2 = "/dev/radio0";
 #endif /* linux */
 
-#ifdef __FreeBSD__
+#if defined __FreeBSD__ && defined USE_DIRECT_IO
 const char *devio = "/dev/io";
 static int fd = -1;
 
@@ -75,13 +75,13 @@ fbsd_release_ioperms(void) {
 
 	return 0;
 }
-#elif defined __QNXNTO__
+#elif defined __QNXNTO__ && defined USE_DIRECT_IO
 int
 qnx_iopl_acquire() {
 	ThreadCtl(_NTO_TCTL_IO, 0);
 	return 0;
 }
-#elif defined linux
+#elif defined linux && defined USE_DIRECT_IO
 int
 os_iopl(int v) {
 	if (iopl(v) < 0) {
@@ -100,7 +100,7 @@ os_ioperms(u_int32_t port, int no, int v
 
 	return 0;
 }
-#elif defined __OpenBSD__ || defined __NetBSD__
+#elif (defined __OpenBSD__ || defined __NetBSD__) && defined USE_DIRECT_IO
 int
 os_iopl(int v) {
 	struct i386_iopl_args iopls;
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin