patch-2.4.19 linux-2.4.19/drivers/parport/daisy.c
Next file: linux-2.4.19/drivers/parport/parport_mfc3.c
Previous file: linux-2.4.19/drivers/parport/ChangeLog
Back to the patch index
Back to the overall index
- Lines: 36
- Date:
Fri Aug 2 17:39:44 2002
- Orig file:
linux-2.4.18/drivers/parport/daisy.c
- Orig date:
Fri Dec 21 09:41:55 2001
diff -urN linux-2.4.18/drivers/parport/daisy.c linux-2.4.19/drivers/parport/daisy.c
@@ -406,8 +406,33 @@
int parport_daisy_select (struct parport *port, int daisy, int mode)
{
- /* mode is currently ignored. FIXME? */
- return cpp_daisy (port, 0xe0 + daisy) & PARPORT_STATUS_ERROR;
+ switch (mode)
+ {
+ // For these modes we should switch to EPP mode:
+ case IEEE1284_MODE_EPP:
+ case IEEE1284_MODE_EPPSL:
+ case IEEE1284_MODE_EPPSWE:
+ return (cpp_daisy (port, 0x20 + daisy) &
+ PARPORT_STATUS_ERROR);
+
+ // For these modes we should switch to ECP mode:
+ case IEEE1284_MODE_ECP:
+ case IEEE1284_MODE_ECPRLE:
+ case IEEE1284_MODE_ECPSWE:
+ return (cpp_daisy (port, 0xd0 + daisy) &
+ PARPORT_STATUS_ERROR);
+
+ // Nothing was told for BECP in Daisy chain specification.
+ // May be it's wise to use ECP?
+ case IEEE1284_MODE_BECP:
+ // Others use compat mode
+ case IEEE1284_MODE_NIBBLE:
+ case IEEE1284_MODE_BYTE:
+ case IEEE1284_MODE_COMPAT:
+ default:
+ return (cpp_daisy (port, 0xe0 + daisy) &
+ PARPORT_STATUS_ERROR);
+ }
}
static int mux_present (struct parport *port)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)