lkml.org 
[lkml]   [2007]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] bw-qcam: use data_reverse instead of manually poking the control register
    On 9/26/07, Ray Lee <ray-lk@madrabbit.org> wrote:

    > Just as an aside, if you've tested this and it works, then there's no
    > point to keep the write_lpcontrol even as a comment. Kill those four
    > lines, and if someone's interested in what happened they'll just look
    > at the file history.

    Point taken, thanks for the feedback.

    ---

    diff --git a/drivers/media/video/bw-qcam.c b/drivers/media/video/bw-qcam.c
    index 7d47cbe..0ba92e3 100644
    --- a/drivers/media/video/bw-qcam.c
    +++ b/drivers/media/video/bw-qcam.c
    @@ -107,6 +107,11 @@ static inline void write_lpcontrol(struct
    qcam_device *q, int d)
    parport_write_control(q->pport, d);
    }

    +static inline void reverse_port(struct qcam_device *q)
    +{
    + parport_data_reverse(q->pport);
    +}
    +
    static int qc_waithand(struct qcam_device *q, int val);
    static int qc_command(struct qcam_device *q, int command);
    static int qc_readparam(struct qcam_device *q);
    @@ -369,7 +374,7 @@ static void qc_reset(struct qcam_device *q)
    break;

    case QC_ANY:
    - write_lpcontrol(q, 0x20);
    + reverse_port(q);
    write_lpdata(q, 0x75);

    if (read_lpdata(q) != 0x75) {
    @@ -512,10 +517,12 @@ static inline int qc_readbytes(struct
    qcam_device *q, char buffer[])
    switch (q->port_mode & QC_MODE_MASK)
    {
    case QC_BIDIR: /* Bi-directional Port */
    - write_lpcontrol(q, 0x26);
    + reverse_port(q);
    + write_lpcontrol(q, 0x6);
    lo = (qc_waithand2(q, 1) >> 1);
    hi = (read_lpstatus(q) >> 3) & 0x1f;
    - write_lpcontrol(q, 0x2e);
    + reverse_port(q);
    + write_lpcontrol(q, 0xe);
    lo2 = (qc_waithand2(q, 0) >> 1);
    hi2 = (read_lpstatus(q) >> 3) & 0x1f;
    switch (q->bpp)
    @@ -613,10 +620,13 @@ static long qc_capture(struct qcam_device * q,
    char __user *buf, unsigned long l

    if ((q->port_mode & QC_MODE_MASK) == QC_BIDIR)
    {
    - write_lpcontrol(q, 0x2e); /* turn port around */
    - write_lpcontrol(q, 0x26);
    + reverse_port(q); /* turn port around */
    + write_lpcontrol(q, 0xe);
    + reverse_port(q);
    + write_lpcontrol(q, 0x6);
    (void) qc_waithand(q, 1);
    - write_lpcontrol(q, 0x2e);
    + reverse_port(q);
    + write_lpcontrol(q, 0xe);
    (void) qc_waithand(q, 0);
    }



    --
    Brett Warden
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-09-26 22:09    [W:0.048 / U:59.596 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site