| [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; |
| } |