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