summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authornsouch <nsouch@FreeBSD.org>2000-01-14 08:03:15 +0000
committernsouch <nsouch@FreeBSD.org>2000-01-14 08:03:15 +0000
commitcafa4ad045e9a9718cecb3e3fbcf9f9ede6a9128 (patch)
treec0c15f42b8495355bc2acd4b0b135f869d227dc3 /sys
parente64b0936669b3bf0aec407f8786d3bd095f941ff (diff)
downloadFreeBSD-src-cafa4ad045e9a9718cecb3e3fbcf9f9ede6a9128.zip
FreeBSD-src-cafa4ad045e9a9718cecb3e3fbcf9f9ede6a9128.tar.gz
ppi needs to use a bus method to get this rather than peering inside the
1284 stuff. Submitted by: Peter Wemm <peter@netplex.com.au>
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ppbus/ppb_1284.c4
-rw-r--r--sys/dev/ppbus/ppb_1284.h2
-rw-r--r--sys/dev/ppbus/ppi.c4
3 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/ppbus/ppb_1284.c b/sys/dev/ppbus/ppb_1284.c
index 2040874..47ee046 100644
--- a/sys/dev/ppbus/ppb_1284.c
+++ b/sys/dev/ppbus/ppb_1284.c
@@ -88,7 +88,7 @@ ppb_1284_reset_error(device_t bus, int state)
*
* Get IEEE1284 state
*/
-static int
+int
ppb_1284_get_state(device_t bus)
{
return (DEVTOSOFTC(bus)->state);
@@ -99,7 +99,7 @@ ppb_1284_get_state(device_t bus)
*
* Change IEEE1284 state if no error occured
*/
-static int
+int
ppb_1284_set_state(device_t bus, int state)
{
struct ppb_data *ppb = DEVTOSOFTC(bus);
diff --git a/sys/dev/ppbus/ppb_1284.h b/sys/dev/ppbus/ppb_1284.h
index de1f270..5c4010f 100644
--- a/sys/dev/ppbus/ppb_1284.h
+++ b/sys/dev/ppbus/ppb_1284.h
@@ -116,6 +116,8 @@ extern int ppb_1284_negociate(device_t, int, int);
extern int ppb_1284_terminate(device_t);
extern int ppb_1284_read_id(device_t, int, char *, int, int *);
extern int ppb_1284_read(device_t, int, char *, int, int *);
+extern int ppb_1284_get_state(device_t bus);
+extern int ppb_1284_set_state(device_t bus, int state);
extern int ppb_peripheral_terminate(device_t, int);
extern int ppb_peripheral_negociate(device_t, int, int);
diff --git a/sys/dev/ppbus/ppi.c b/sys/dev/ppbus/ppi.c
index bd0a638..0143654 100644
--- a/sys/dev/ppbus/ppi.c
+++ b/sys/dev/ppbus/ppi.c
@@ -464,10 +464,10 @@ ppiwrite(dev_t dev, struct uio *uio, int ioflag)
/* we have to be peripheral to be able to send data, so
* wait for the appropriate state
*/
- if (ppb->state < PPB_PERIPHERAL_NEGOCIATION)
+ if (ppb_1284_get_state(ppbus) < PPB_PERIPHERAL_NEGOCIATION)
ppb_1284_terminate(ppbus);
- while (ppb->state != PPB_PERIPHERAL_IDLE) {
+ while (ppb_1284_get_state(ppbus) != PPB_PERIPHERAL_IDLE) {
/* XXX should check a variable before sleeping */
#ifdef DEBUG_1284
printf("s");
OpenPOWER on IntegriCloud