DragonFly BSD bits in serial port and pif stuff
These bits should work the same as on FreeBSD. Signed-off-by: Tamas TEVESZ <ice@extreme.hu>
This commit is contained in:
parent
cc4a35bb12
commit
6501828e2d
|
@ -25,7 +25,8 @@
|
||||||
#include "jtdev.h"
|
#include "jtdev.h"
|
||||||
#include "output.h"
|
#include "output.h"
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__FreeBSD__)
|
#if defined(__linux__) || \
|
||||||
|
( defined(__FreeBSD__) || defined(__DragonFly__) )
|
||||||
/*===== includes =============================================================*/
|
/*===== includes =============================================================*/
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
@ -41,7 +42,7 @@
|
||||||
#define par_release(fd) ioctl(fd, PPRELEASE, NULL)
|
#define par_release(fd) ioctl(fd, PPRELEASE, NULL)
|
||||||
#define par_read_status(fd, ptr) ioctl(fd, PPRSTATUS, ptr)
|
#define par_read_status(fd, ptr) ioctl(fd, PPRSTATUS, ptr)
|
||||||
|
|
||||||
#elif defined(__FreeBSD__)
|
#elif defined(__FreeBSD__) || defined(__DragonFly__)
|
||||||
|
|
||||||
#include <dev/ppbus/ppi.h>
|
#include <dev/ppbus/ppi.h>
|
||||||
#include <dev/ppbus/ppbconf.h>
|
#include <dev/ppbus/ppbconf.h>
|
||||||
|
@ -52,7 +53,7 @@
|
||||||
#define par_release(fd) (0)
|
#define par_release(fd) (0)
|
||||||
#define par_read_status(fd, ptr) ioctl(fd, PPIGSTATUS, ptr)
|
#define par_read_status(fd, ptr) ioctl(fd, PPIGSTATUS, ptr)
|
||||||
|
|
||||||
#endif /* __linux__ || __FreeBSD__ */
|
#endif /* __linux__ || (__FreeBSD__ || __DragonFly__) */
|
||||||
|
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
|
@ -112,7 +113,7 @@
|
||||||
static void do_ppwdata(struct jtdev *p)
|
static void do_ppwdata(struct jtdev *p)
|
||||||
{
|
{
|
||||||
if (par_write_data(p->port, &p->data_register) < 0) {
|
if (par_write_data(p->port, &p->data_register) < 0) {
|
||||||
pr_error("ioctl: PPWDATA");
|
pr_error("jtdev: par_write_data");
|
||||||
p->failed = 1;
|
p->failed = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -120,7 +121,7 @@ static void do_ppwdata(struct jtdev *p)
|
||||||
static void do_ppwcontrol(struct jtdev *p)
|
static void do_ppwcontrol(struct jtdev *p)
|
||||||
{
|
{
|
||||||
if (par_write_control(p->port, &p->control_register) < 0) {
|
if (par_write_control(p->port, &p->control_register) < 0) {
|
||||||
pr_error("ioctl: PPWCONTROL");
|
pr_error("jtdev: par_write_control");
|
||||||
p->failed = 1;
|
p->failed = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,7 +136,7 @@ int jtdev_open(struct jtdev *p, const char *device)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (par_claim(p->port) < 0) {
|
if (par_claim(p->port) < 0) {
|
||||||
printc_err("jtdev: PPCLAIM: %s: %s\n",
|
printc_err("jtdev: par_claim: %s: %s\n",
|
||||||
device, last_error());
|
device, last_error());
|
||||||
close(p->port);
|
close(p->port);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -246,7 +247,7 @@ int jtdev_tdo_get(struct jtdev *p)
|
||||||
uint8_t input;
|
uint8_t input;
|
||||||
|
|
||||||
if (par_read_status(p->port, &input) < 0) {
|
if (par_read_status(p->port, &input) < 0) {
|
||||||
pr_error("ioctl: PPRSTATUS");
|
pr_error("jtdev: par_read_status:");
|
||||||
p->failed = 1;
|
p->failed = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -304,7 +305,7 @@ void jtdev_led_red(struct jtdev *p, int out)
|
||||||
#else /* __linux__ */
|
#else /* __linux__ */
|
||||||
int jtdev_open(struct jtdev *p, const char *device)
|
int jtdev_open(struct jtdev *p, const char *device)
|
||||||
{
|
{
|
||||||
printc_err("jtdev: driver is only supported for Linux\n");
|
printc_err("jtdev: driver is not supported on this platform\n");
|
||||||
p->failed = 1;
|
p->failed = 1;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -190,8 +190,9 @@ reset, but register access and breakpoints aren't supported.
|
||||||
.IP "\fBpif\fR"
|
.IP "\fBpif\fR"
|
||||||
Connect to a parallel-port JTAG controller. JTAG mode must be used, and
|
Connect to a parallel-port JTAG controller. JTAG mode must be used, and
|
||||||
only tty access is supported. Currently, this driver is only supported
|
only tty access is supported. Currently, this driver is only supported
|
||||||
on Linux and FreeBSD. A parallel port device (ppdev on Linux, ppi on
|
on Linux, FreeBSD and DragonFly BSD. A parallel port device (ppdev on
|
||||||
FreeBSD) must be specified via the \fB-d\fR option.
|
Linux, ppi on FreeBSD and DragonFly BSD) must be specified via the
|
||||||
|
\fB-d\fR option.
|
||||||
.IP "\fBload-bsl\fR"
|
.IP "\fBload-bsl\fR"
|
||||||
Connect to a USB bootloader. The stub bootloader will be used to load a
|
Connect to a USB bootloader. The stub bootloader will be used to load a
|
||||||
fuller-featured bootloader into RAM for execution.
|
fuller-featured bootloader into RAM for execution.
|
||||||
|
|
|
@ -94,7 +94,8 @@ static int set_nonstandard_rate(int fd, struct termios *attr, int rate)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)
|
#elif defined(__OpenBSD__) || defined(__FreeBSD__) || \
|
||||||
|
defined(__NetBSD__) || defined(__DragonFly__)
|
||||||
static int set_nonstandard_rate(int fd, struct termios *attr, int rate)
|
static int set_nonstandard_rate(int fd, struct termios *attr, int rate)
|
||||||
{
|
{
|
||||||
cfsetispeed(attr, rate);
|
cfsetispeed(attr, rate);
|
||||||
|
|
Loading…
Reference in New Issue