lkml.org 
[lkml]   [2008]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 08/49] Staging: w35und: reg queue struct typedef removal
    Date
    From: Pekka Enberg <penberg@cs.helsinki.fi>

    This patch removes the struct typedefs for reg queues.

    Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
    Acked-by: Pavel Machek <pavel@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    drivers/staging/winbond/linux/wb35reg.c | 190 ++++++++++++++--------------
    drivers/staging/winbond/linux/wb35reg_s.h | 30 ++---
    2 files changed, 108 insertions(+), 112 deletions(-)

    diff --git a/drivers/staging/winbond/linux/wb35reg.c b/drivers/staging/winbond/linux/wb35reg.c
    index b7560b5..9ff086e 100644
    --- a/drivers/staging/winbond/linux/wb35reg.c
    +++ b/drivers/staging/winbond/linux/wb35reg.c
    @@ -14,7 +14,7 @@ Wb35Reg_BurstWrite(phw_data_t pHwData, u16 RegisterNo, u32 * pRegisterData, u8 N
    {
    PWB35REG pWb35Reg = &pHwData->Wb35Reg;
    struct urb *urb = NULL;
    - PREG_QUEUE pRegQueue = NULL;
    + struct wb35_reg_queue *reg_queue = NULL;
    u16 UrbSize;
    struct usb_ctrlrequest *dr;
    u16 i, DataSize = NumberOfData*4;
    @@ -24,34 +24,34 @@ Wb35Reg_BurstWrite(phw_data_t pHwData, u16 RegisterNo, u32 * pRegisterData, u8 N
    return FALSE;

    // Trying to use burst write function if use new hardware
    - UrbSize = sizeof(REG_QUEUE) + DataSize + sizeof(struct usb_ctrlrequest);
    - OS_MEMORY_ALLOC( (void* *)&pRegQueue, UrbSize );
    + UrbSize = sizeof(struct wb35_reg_queue) + DataSize + sizeof(struct usb_ctrlrequest);
    + OS_MEMORY_ALLOC( (void* *)&reg_queue, UrbSize );
    urb = wb_usb_alloc_urb(0);
    - if( urb && pRegQueue ) {
    - pRegQueue->DIRECT = 2;// burst write register
    - pRegQueue->INDEX = RegisterNo;
    - pRegQueue->pBuffer = (u32 *)((u8 *)pRegQueue + sizeof(REG_QUEUE));
    - memcpy( pRegQueue->pBuffer, pRegisterData, DataSize );
    + if( urb && reg_queue ) {
    + reg_queue->DIRECT = 2;// burst write register
    + reg_queue->INDEX = RegisterNo;
    + reg_queue->pBuffer = (u32 *)((u8 *)reg_queue + sizeof(struct wb35_reg_queue));
    + memcpy( reg_queue->pBuffer, pRegisterData, DataSize );
    //the function for reversing register data from little endian to big endian
    for( i=0; i<NumberOfData ; i++ )
    - pRegQueue->pBuffer[i] = cpu_to_le32( pRegQueue->pBuffer[i] );
    + reg_queue->pBuffer[i] = cpu_to_le32( reg_queue->pBuffer[i] );

    - dr = (struct usb_ctrlrequest *)((u8 *)pRegQueue + sizeof(REG_QUEUE) + DataSize);
    + dr = (struct usb_ctrlrequest *)((u8 *)reg_queue + sizeof(struct wb35_reg_queue) + DataSize);
    dr->bRequestType = USB_TYPE_VENDOR | USB_DIR_OUT | USB_RECIP_DEVICE;
    dr->bRequest = 0x04; // USB or vendor-defined request code, burst mode
    dr->wValue = cpu_to_le16( Flag ); // 0: Register number auto-increment, 1: No auto increment
    dr->wIndex = cpu_to_le16( RegisterNo );
    dr->wLength = cpu_to_le16( DataSize );
    - pRegQueue->Next = NULL;
    - pRegQueue->pUsbReq = dr;
    - pRegQueue->urb = urb;
    + reg_queue->Next = NULL;
    + reg_queue->pUsbReq = dr;
    + reg_queue->urb = urb;

    spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
    - if (pWb35Reg->pRegFirst == NULL)
    - pWb35Reg->pRegFirst = pRegQueue;
    + if (pWb35Reg->reg_first == NULL)
    + pWb35Reg->reg_first = reg_queue;
    else
    - pWb35Reg->pRegLast->Next = pRegQueue;
    - pWb35Reg->pRegLast = pRegQueue;
    + pWb35Reg->reg_last->Next = reg_queue;
    + pWb35Reg->reg_last = reg_queue;

    spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );

    @@ -62,8 +62,8 @@ Wb35Reg_BurstWrite(phw_data_t pHwData, u16 RegisterNo, u32 * pRegisterData, u8 N
    } else {
    if (urb)
    usb_free_urb(urb);
    - if (pRegQueue)
    - kfree(pRegQueue);
    + if (reg_queue)
    + kfree(reg_queue);
    return FALSE;
    }
    return FALSE;
    @@ -164,7 +164,7 @@ Wb35Reg_Write( phw_data_t pHwData, u16 RegisterNo, u32 RegisterValue )
    PWB35REG pWb35Reg = &pHwData->Wb35Reg;
    struct usb_ctrlrequest *dr;
    struct urb *urb = NULL;
    - PREG_QUEUE pRegQueue = NULL;
    + struct wb35_reg_queue *reg_queue = NULL;
    u16 UrbSize;


    @@ -173,15 +173,15 @@ Wb35Reg_Write( phw_data_t pHwData, u16 RegisterNo, u32 RegisterValue )
    return FALSE;

    // update the register by send urb request------------------------------------
    - UrbSize = sizeof(REG_QUEUE) + sizeof(struct usb_ctrlrequest);
    - OS_MEMORY_ALLOC( (void* *)&pRegQueue, UrbSize );
    + UrbSize = sizeof(struct wb35_reg_queue) + sizeof(struct usb_ctrlrequest);
    + OS_MEMORY_ALLOC( (void* *)&reg_queue, UrbSize );
    urb = wb_usb_alloc_urb(0);
    - if (urb && pRegQueue) {
    - pRegQueue->DIRECT = 1;// burst write register
    - pRegQueue->INDEX = RegisterNo;
    - pRegQueue->VALUE = cpu_to_le32(RegisterValue);
    - pRegQueue->RESERVED_VALID = FALSE;
    - dr = (struct usb_ctrlrequest *)((u8 *)pRegQueue + sizeof(REG_QUEUE));
    + if (urb && reg_queue) {
    + reg_queue->DIRECT = 1;// burst write register
    + reg_queue->INDEX = RegisterNo;
    + reg_queue->VALUE = cpu_to_le32(RegisterValue);
    + reg_queue->RESERVED_VALID = FALSE;
    + dr = (struct usb_ctrlrequest *)((u8 *)reg_queue + sizeof(struct wb35_reg_queue));
    dr->bRequestType = USB_TYPE_VENDOR|USB_DIR_OUT |USB_RECIP_DEVICE;
    dr->bRequest = 0x03; // USB or vendor-defined request code, burst mode
    dr->wValue = cpu_to_le16(0x0);
    @@ -189,16 +189,16 @@ Wb35Reg_Write( phw_data_t pHwData, u16 RegisterNo, u32 RegisterValue )
    dr->wLength = cpu_to_le16(4);

    // Enter the sending queue
    - pRegQueue->Next = NULL;
    - pRegQueue->pUsbReq = dr;
    - pRegQueue->urb = urb;
    + reg_queue->Next = NULL;
    + reg_queue->pUsbReq = dr;
    + reg_queue->urb = urb;

    spin_lock_irq(&pWb35Reg->EP0VM_spin_lock );
    - if (pWb35Reg->pRegFirst == NULL)
    - pWb35Reg->pRegFirst = pRegQueue;
    + if (pWb35Reg->reg_first == NULL)
    + pWb35Reg->reg_first = reg_queue;
    else
    - pWb35Reg->pRegLast->Next = pRegQueue;
    - pWb35Reg->pRegLast = pRegQueue;
    + pWb35Reg->reg_last->Next = reg_queue;
    + pWb35Reg->reg_last = reg_queue;

    spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );

    @@ -209,7 +209,7 @@ Wb35Reg_Write( phw_data_t pHwData, u16 RegisterNo, u32 RegisterValue )
    } else {
    if (urb)
    usb_free_urb(urb);
    - kfree(pRegQueue);
    + kfree(reg_queue);
    return FALSE;
    }
    }
    @@ -225,7 +225,7 @@ Wb35Reg_WriteWithCallbackValue( phw_data_t pHwData, u16 RegisterNo, u32 Register
    PWB35REG pWb35Reg = &pHwData->Wb35Reg;
    struct usb_ctrlrequest *dr;
    struct urb *urb = NULL;
    - PREG_QUEUE pRegQueue = NULL;
    + struct wb35_reg_queue *reg_queue = NULL;
    u16 UrbSize;

    // Module shutdown
    @@ -233,17 +233,17 @@ Wb35Reg_WriteWithCallbackValue( phw_data_t pHwData, u16 RegisterNo, u32 Register
    return FALSE;

    // update the register by send urb request------------------------------------
    - UrbSize = sizeof(REG_QUEUE) + sizeof(struct usb_ctrlrequest);
    - OS_MEMORY_ALLOC((void* *) &pRegQueue, UrbSize );
    + UrbSize = sizeof(struct wb35_reg_queue) + sizeof(struct usb_ctrlrequest);
    + OS_MEMORY_ALLOC((void* *) &reg_queue, UrbSize );
    urb = wb_usb_alloc_urb(0);
    - if (urb && pRegQueue) {
    - pRegQueue->DIRECT = 1;// burst write register
    - pRegQueue->INDEX = RegisterNo;
    - pRegQueue->VALUE = cpu_to_le32(RegisterValue);
    + if (urb && reg_queue) {
    + reg_queue->DIRECT = 1;// burst write register
    + reg_queue->INDEX = RegisterNo;
    + reg_queue->VALUE = cpu_to_le32(RegisterValue);
    //NOTE : Users must guarantee the size of value will not exceed the buffer size.
    - memcpy(pRegQueue->RESERVED, pValue, Len);
    - pRegQueue->RESERVED_VALID = TRUE;
    - dr = (struct usb_ctrlrequest *)((u8 *)pRegQueue + sizeof(REG_QUEUE));
    + memcpy(reg_queue->RESERVED, pValue, Len);
    + reg_queue->RESERVED_VALID = TRUE;
    + dr = (struct usb_ctrlrequest *)((u8 *)reg_queue + sizeof(struct wb35_reg_queue));
    dr->bRequestType = USB_TYPE_VENDOR|USB_DIR_OUT |USB_RECIP_DEVICE;
    dr->bRequest = 0x03; // USB or vendor-defined request code, burst mode
    dr->wValue = cpu_to_le16(0x0);
    @@ -251,15 +251,15 @@ Wb35Reg_WriteWithCallbackValue( phw_data_t pHwData, u16 RegisterNo, u32 Register
    dr->wLength = cpu_to_le16(4);

    // Enter the sending queue
    - pRegQueue->Next = NULL;
    - pRegQueue->pUsbReq = dr;
    - pRegQueue->urb = urb;
    + reg_queue->Next = NULL;
    + reg_queue->pUsbReq = dr;
    + reg_queue->urb = urb;
    spin_lock_irq (&pWb35Reg->EP0VM_spin_lock );
    - if( pWb35Reg->pRegFirst == NULL )
    - pWb35Reg->pRegFirst = pRegQueue;
    + if( pWb35Reg->reg_first == NULL )
    + pWb35Reg->reg_first = reg_queue;
    else
    - pWb35Reg->pRegLast->Next = pRegQueue;
    - pWb35Reg->pRegLast = pRegQueue;
    + pWb35Reg->reg_last->Next = reg_queue;
    + pWb35Reg->reg_last = reg_queue;

    spin_unlock_irq ( &pWb35Reg->EP0VM_spin_lock );

    @@ -269,7 +269,7 @@ Wb35Reg_WriteWithCallbackValue( phw_data_t pHwData, u16 RegisterNo, u32 Register
    } else {
    if (urb)
    usb_free_urb(urb);
    - kfree(pRegQueue);
    + kfree(reg_queue);
    return FALSE;
    }
    }
    @@ -332,7 +332,7 @@ Wb35Reg_Read(phw_data_t pHwData, u16 RegisterNo, u32 * pRegisterValue )
    PWB35REG pWb35Reg = &pHwData->Wb35Reg;
    struct usb_ctrlrequest * dr;
    struct urb *urb;
    - PREG_QUEUE pRegQueue;
    + struct wb35_reg_queue *reg_queue;
    u16 UrbSize;

    // Module shutdown
    @@ -340,15 +340,15 @@ Wb35Reg_Read(phw_data_t pHwData, u16 RegisterNo, u32 * pRegisterValue )
    return FALSE;

    // update the variable by send Urb to read register ------------------------------------
    - UrbSize = sizeof(REG_QUEUE) + sizeof(struct usb_ctrlrequest);
    - OS_MEMORY_ALLOC( (void* *)&pRegQueue, UrbSize );
    + UrbSize = sizeof(struct wb35_reg_queue) + sizeof(struct usb_ctrlrequest);
    + OS_MEMORY_ALLOC( (void* *)&reg_queue, UrbSize );
    urb = wb_usb_alloc_urb(0);
    - if( urb && pRegQueue )
    + if( urb && reg_queue )
    {
    - pRegQueue->DIRECT = 0;// read register
    - pRegQueue->INDEX = RegisterNo;
    - pRegQueue->pBuffer = pRegisterValue;
    - dr = (struct usb_ctrlrequest *)((u8 *)pRegQueue + sizeof(REG_QUEUE));
    + reg_queue->DIRECT = 0;// read register
    + reg_queue->INDEX = RegisterNo;
    + reg_queue->pBuffer = pRegisterValue;
    + dr = (struct usb_ctrlrequest *)((u8 *)reg_queue + sizeof(struct wb35_reg_queue));
    dr->bRequestType = USB_TYPE_VENDOR|USB_RECIP_DEVICE|USB_DIR_IN;
    dr->bRequest = 0x01; // USB or vendor-defined request code, burst mode
    dr->wValue = cpu_to_le16(0x0);
    @@ -356,15 +356,15 @@ Wb35Reg_Read(phw_data_t pHwData, u16 RegisterNo, u32 * pRegisterValue )
    dr->wLength = cpu_to_le16 (4);

    // Enter the sending queue
    - pRegQueue->Next = NULL;
    - pRegQueue->pUsbReq = dr;
    - pRegQueue->urb = urb;
    + reg_queue->Next = NULL;
    + reg_queue->pUsbReq = dr;
    + reg_queue->urb = urb;
    spin_lock_irq ( &pWb35Reg->EP0VM_spin_lock );
    - if( pWb35Reg->pRegFirst == NULL )
    - pWb35Reg->pRegFirst = pRegQueue;
    + if( pWb35Reg->reg_first == NULL )
    + pWb35Reg->reg_first = reg_queue;
    else
    - pWb35Reg->pRegLast->Next = pRegQueue;
    - pWb35Reg->pRegLast = pRegQueue;
    + pWb35Reg->reg_last->Next = reg_queue;
    + pWb35Reg->reg_last = reg_queue;

    spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );

    @@ -375,7 +375,7 @@ Wb35Reg_Read(phw_data_t pHwData, u16 RegisterNo, u32 * pRegisterValue )
    } else {
    if (urb)
    usb_free_urb( urb );
    - kfree(pRegQueue);
    + kfree(reg_queue);
    return FALSE;
    }
    }
    @@ -401,7 +401,7 @@ Wb35Reg_EP0VM(phw_data_t pHwData )
    struct usb_ctrlrequest *dr;
    u32 * pBuffer;
    int ret = -1;
    - PREG_QUEUE pRegQueue;
    + struct wb35_reg_queue *reg_queue;


    if (pWb35Reg->SyncIoPause)
    @@ -412,23 +412,23 @@ Wb35Reg_EP0VM(phw_data_t pHwData )

    // Get the register data and send to USB through Irp
    spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
    - pRegQueue = pWb35Reg->pRegFirst;
    + reg_queue = pWb35Reg->reg_first;
    spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );

    - if (!pRegQueue)
    + if (!reg_queue)
    goto cleanup;

    // Get an Urb, send it
    - urb = (struct urb *)pRegQueue->urb;
    + urb = (struct urb *)reg_queue->urb;

    - dr = pRegQueue->pUsbReq;
    - urb = pRegQueue->urb;
    - pBuffer = pRegQueue->pBuffer;
    - if (pRegQueue->DIRECT == 1) // output
    - pBuffer = &pRegQueue->VALUE;
    + dr = reg_queue->pUsbReq;
    + urb = reg_queue->urb;
    + pBuffer = reg_queue->pBuffer;
    + if (reg_queue->DIRECT == 1) // output
    + pBuffer = &reg_queue->VALUE;

    usb_fill_control_urb( urb, pHwData->WbUsb.udev,
    - REG_DIRECTION(pHwData->WbUsb.udev,pRegQueue),
    + REG_DIRECTION(pHwData->WbUsb.udev,reg_queue),
    (u8 *)dr,pBuffer,cpu_to_le16(dr->wLength),
    Wb35Reg_EP0VM_complete, (void*)pHwData);

    @@ -456,7 +456,7 @@ Wb35Reg_EP0VM_complete(struct urb *urb)
    {
    phw_data_t pHwData = (phw_data_t)urb->context;
    PWB35REG pWb35Reg = &pHwData->Wb35Reg;
    - PREG_QUEUE pRegQueue;
    + struct wb35_reg_queue *reg_queue;


    // Variable setting
    @@ -469,10 +469,10 @@ Wb35Reg_EP0VM_complete(struct urb *urb)
    } else {
    // Complete to send, remove the URB from the first
    spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
    - pRegQueue = pWb35Reg->pRegFirst;
    - if (pRegQueue == pWb35Reg->pRegLast)
    - pWb35Reg->pRegLast = NULL;
    - pWb35Reg->pRegFirst = pWb35Reg->pRegFirst->Next;
    + reg_queue = pWb35Reg->reg_first;
    + if (reg_queue == pWb35Reg->reg_last)
    + pWb35Reg->reg_last = NULL;
    + pWb35Reg->reg_first = pWb35Reg->reg_first->Next;
    spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );

    if (pWb35Reg->EP0VM_status) {
    @@ -489,7 +489,7 @@ Wb35Reg_EP0VM_complete(struct urb *urb)
    Wb35Reg_EP0VM(pHwData);
    }

    - kfree(pRegQueue);
    + kfree(reg_queue);
    }

    usb_free_urb(urb);
    @@ -501,7 +501,7 @@ Wb35Reg_destroy(phw_data_t pHwData)
    {
    PWB35REG pWb35Reg = &pHwData->Wb35Reg;
    struct urb *urb;
    - PREG_QUEUE pRegQueue;
    + struct wb35_reg_queue *reg_queue;


    Uxx_power_off_procedure(pHwData);
    @@ -514,17 +514,17 @@ Wb35Reg_destroy(phw_data_t pHwData)

    // Release all the data in RegQueue
    spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
    - pRegQueue = pWb35Reg->pRegFirst;
    - while (pRegQueue) {
    - if (pRegQueue == pWb35Reg->pRegLast)
    - pWb35Reg->pRegLast = NULL;
    - pWb35Reg->pRegFirst = pWb35Reg->pRegFirst->Next;
    + reg_queue = pWb35Reg->reg_first;
    + while (reg_queue) {
    + if (reg_queue == pWb35Reg->reg_last)
    + pWb35Reg->reg_last = NULL;
    + pWb35Reg->reg_first = pWb35Reg->reg_first->Next;

    - urb = pRegQueue->urb;
    + urb = reg_queue->urb;
    spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
    if (urb) {
    usb_free_urb(urb);
    - kfree(pRegQueue);
    + kfree(reg_queue);
    } else {
    #ifdef _PE_REG_DUMP_
    WBDEBUG(("EP0 queue release error\n"));
    @@ -532,7 +532,7 @@ Wb35Reg_destroy(phw_data_t pHwData)
    }
    spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );

    - pRegQueue = pWb35Reg->pRegFirst;
    + reg_queue = pWb35Reg->reg_first;
    }
    spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
    }
    diff --git a/drivers/staging/winbond/linux/wb35reg_s.h b/drivers/staging/winbond/linux/wb35reg_s.h
    index c633b92..54b0340 100644
    --- a/drivers/staging/winbond/linux/wb35reg_s.h
    +++ b/drivers/staging/winbond/linux/wb35reg_s.h
    @@ -67,23 +67,19 @@
    #define DEFAULT_DTIM_ALERT_TIME 0


    -typedef struct _REG_QUEUE
    -{
    - struct urb *urb;
    - void* pUsbReq;
    - void* Next;
    - union
    - {
    +struct wb35_reg_queue {
    + struct urb *urb;
    + void *pUsbReq;
    + void *Next;
    + union {
    u32 VALUE;
    - u32 * pBuffer;
    + u32 *pBuffer;
    };
    - u8 RESERVED[4];// space reserved for communication
    -
    - u16 INDEX; // For storing the register index
    - u8 RESERVED_VALID; //Indicate whether the RESERVED space is valid at this command.
    - u8 DIRECT; // 0:In 1:Out
    -
    -} REG_QUEUE, *PREG_QUEUE;
    + u8 RESERVED[4]; // space reserved for communication
    + u16 INDEX; // For storing the register index
    + u8 RESERVED_VALID; // Indicate whether the RESERVED space is valid at this command.
    + u8 DIRECT; // 0:In 1:Out
    +};

    //====================================
    // Internal variable for module
    @@ -145,8 +141,8 @@ typedef struct _WB35REG
    //-------------------
    spinlock_t EP0VM_spin_lock; // 4B
    u32 EP0VM_status;//$$
    - PREG_QUEUE pRegFirst;
    - PREG_QUEUE pRegLast;
    + struct wb35_reg_queue *reg_first;
    + struct wb35_reg_queue *reg_last;
    OS_ATOMIC RegFireCount;

    // Hardware status
    --
    1.6.0.2


    \
     
     \ /
      Last update: 2008-10-29 23:49    [W:0.053 / U:119.444 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site