hc
2023-12-04 f33f61bdb7ca6d5ebe7a78f9d8694b91360279ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
[PATCH] backend/qcam.c: fix build on !x86
 
inb/outb/ioperm are x86 specific interfaces, so replace with noops on
!x86.
 
Inspired by similar patch in openwrt:
https://dev.openwrt.org/ticket/5689
 
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 backend/qcam.c |   14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
 
Index: sane-backends-1.0.22/backend/qcam.c
===================================================================
--- sane-backends-1.0.22.orig/backend/qcam.c
+++ sane-backends-1.0.22/backend/qcam.c
@@ -205,12 +205,20 @@
 
 #endif /* <sys/io.h> || <asm/io.h> || <sys/hw.h> */
 
+/* inb / outb only exist on x86 */
+#if defined(__i386__) || defined(__x86_64__)
 #define read_lpdata(d)        inb ((d)->port)
 #define read_lpstatus(d)    inb ((d)->port + 1)
 #define read_lpcontrol(d)    inb ((d)->port + 2)
 #define write_lpdata(d,v)    outb ((v), (d)->port)
 #define write_lpcontrol(d,v)    outb ((v), (d)->port + 2)
-
+#else
+#define read_lpdata(d)        0
+#define read_lpstatus(d)    0
+#define read_lpcontrol(d)    0
+#define write_lpdata(d,v)
+#define write_lpcontrol(d,v)
+#endif
 
 static SANE_Status
 enable_ports (QC_Device * q)
@@ -219,8 +227,10 @@
   if (q->port < 0x278 || q->port > 0x3bc)
     return SANE_STATUS_INVAL;
 
+#if defined(__i386__) || defined(__x86_64__)
   if (ioperm (q->port, 3, 1) < 0)
     return SANE_STATUS_INVAL;
+#endif
 
   return SANE_STATUS_GOOD;
 }
@@ -228,8 +238,10 @@
 static SANE_Status
 disable_ports (QC_Device * q)
 {
+#if defined(__i386__) || defined(__x86_64__)
   if (ioperm (q->port, 3, 0) < 0)
     return SANE_STATUS_INVAL;
+#endif
 
   return SANE_STATUS_GOOD;
 }