From: Albert H. <he...@us...> - 2008-04-12 17:22:25
|
Update of /cvsroot/gc-linux/linux/include/asm-powerpc In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv14323/include/asm-powerpc Modified Files: starlet.h Log Message: Made function starlet_ios_ioctl_complete non-static. Added support for rebooting IOS (needed by new keyboard support). Added function starlet_ios_ioctlv_and_reboot. Changed IPC allocations to GFP_NOIO, as IPC requests are used for IO. Renamed retval to error where applicable. Activated DEBUG and reduced debug noise. Error results are displayed now in case of errors during IPC calls. Fixed off-by-one buffer length error that prevented the dvd stop motor to work properly (thanks to mth). Index: starlet.h =================================================================== RCS file: /cvsroot/gc-linux/linux/include/asm-powerpc/starlet.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- starlet.h 4 Apr 2008 19:19:55 -0000 1.3 +++ starlet.h 12 Apr 2008 17:22:29 -0000 1.4 @@ -25,6 +25,8 @@ #define STARLET_IPC_DMA_ALIGN 0x1f /* 32 bytes */ +struct starlet_ipc_request; + struct starlet_ipc_device { unsigned long flags; @@ -39,8 +41,9 @@ struct list_head pending_list; unsigned long nr_pending; - struct device *dev; + struct starlet_ipc_request *req; /* for requests causing a ios reboot */ + struct device *dev; }; struct starlet_iovec { @@ -48,7 +51,6 @@ u32 dma_len; }; -struct starlet_ipc_request; typedef int (*starlet_ipc_callback_t)(struct starlet_ipc_request *req); struct starlet_ipc_request { @@ -123,6 +125,7 @@ void *obuf, size_t olen, starlet_ipc_callback_t callback, void *arg); +extern void starlet_ios_ioctl_complete(struct starlet_ipc_request *req); extern int starlet_ios_ioctlv(int fd, int request, unsigned int nents_in, @@ -136,6 +139,11 @@ struct scatterlist *sgl_out, starlet_ipc_callback_t callback, void *arg); +extern int starlet_ios_ioctlv_and_reboot(int fd, int request, + unsigned int nents_in, + struct scatterlist *sgl_in, + unsigned int nents_out, + struct scatterlist *sgl_out); extern void starlet_ios_ioctlv_complete(struct starlet_ipc_request *req); /* from starlet-stm.c */ |