summaryrefslogtreecommitdiffstats
path: root/include/linux/parport.h
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2007-05-08 00:27:35 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 11:15:05 -0700
commitc15a3837d2aa30e3ea41aed49d80abed355ab6bd (patch)
tree23da1c16c1e73ac5679f81c3264fc0faeb92fcf2 /include/linux/parport.h
parentd2d9433a4c84c9e7ed78d633fdbffb35d5afda17 (diff)
downloadlinux-c15a3837d2aa30e3ea41aed49d80abed355ab6bd.tar.gz
linux-c15a3837d2aa30e3ea41aed49d80abed355ab6bd.tar.bz2
linux-c15a3837d2aa30e3ea41aed49d80abed355ab6bd.zip
parport->dev driver model support
Currently a parport_driver can't get a handle on the device node for the underlying parport (PNPACPI, PCI, etc). That prevents correct placement of sysfs child nodes, which can affect things like power management. This patch adds a field to "struct parport" pointing to that device node, and updates non-legacy port drivers to initialize that device pointer. That field replaces the analagous PCI-only support in parport_pc. [akpm@linux-foundation.org: fix powerpc build] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/parport.h')
-rw-r--r--include/linux/parport.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/parport.h b/include/linux/parport.h
index 80682aaa8f18..9cdd6943e01b 100644
--- a/include/linux/parport.h
+++ b/include/linux/parport.h
@@ -279,6 +279,10 @@ struct parport {
int dma;
int muxport; /* which muxport (if any) this is */
int portnum; /* which physical parallel port (not mux) */
+ struct device *dev; /* Physical device associated with IO/DMA.
+ * This may unfortulately be null if the
+ * port has a legacy driver.
+ */
struct parport *physport;
/* If this is a non-default mux
@@ -289,7 +293,7 @@ struct parport {
following structure members are
meaningless: devices, cad, muxsel,
waithead, waittail, flags, pdir,
- ieee1284, *_lock.
+ dev, ieee1284, *_lock.
It this is a default mux parport, or
there is no mux involved, this points to
@@ -302,7 +306,7 @@ struct parport {
struct pardevice *waithead;
struct pardevice *waittail;
-
+
struct list_head list;
unsigned int flags;