diff options
Diffstat (limited to 'drivers/staging/bcm/Ioctl.h')
-rw-r--r-- | drivers/staging/bcm/Ioctl.h | 482 |
1 files changed, 174 insertions, 308 deletions
diff --git a/drivers/staging/bcm/Ioctl.h b/drivers/staging/bcm/Ioctl.h index f859cf1..8c70af9 100644 --- a/drivers/staging/bcm/Ioctl.h +++ b/drivers/staging/bcm/Ioctl.h @@ -1,247 +1,136 @@ #ifndef _IOCTL_H_ #define _IOCTL_H_ -typedef struct rdmbuffer -{ - ULONG Register; - ULONG Length; -}__attribute__((packed)) RDM_BUFFER, *PRDM_BUFFER; - - -typedef struct wrmbuffer -{ - ULONG Register; - ULONG Length; - UCHAR Data[4]; -}__attribute__((packed)) WRM_BUFFER, *PWRM_BUFFER; - - -typedef struct ioctlbuffer -{ +struct bcm_rdm_buffer { + unsigned long Register; + unsigned long Length; +} __packed; + +struct bcm_wrm_buffer { + unsigned long Register; + unsigned long Length; + unsigned char Data[4]; +} __packed; + +struct bcm_ioctl_buffer { void __user *InputBuffer; - ULONG InputLength; + unsigned long InputLength; void __user *OutputBuffer; - ULONG OutputLength; -}__attribute__((packed)) IOCTL_BUFFER, *PIOCTL_BUFFER; - -typedef struct stGPIOInfo -{ - UINT uiGpioNumber ; /* valid numbers 0-15 */ - UINT uiGpioValue; /* 1 set ; 0 not set */ -}__attribute__((packed))GPIO_INFO,*PGPIO_INFO; -typedef struct stUserThreadReq -{ - //0->Inactivate LED thread. - //1->Activate the LED thread - UINT ThreadState; -}__attribute__((packed))USER_THREAD_REQ,*PUSER_THREAD_REQ; -#define LED_THREAD_ACTIVATION_REQ 1 - - -////********** ioctl codes ***********//// - -#define BCM_IOCTL 'k' - -//1.Control code for CONTROL MESSAGES - -#define IOCTL_SEND_CONTROL_MESSAGE _IOW(BCM_IOCTL, 0x801,int) - -//2.Control code to write a particular value to a particular register -#define IOCTL_BCM_REGISTER_WRITE _IOW(BCM_IOCTL, 0x802, int) // - -//3. -#define IOCTL_BCM_REGISTER_READ _IOR(BCM_IOCTL, 0x803, int) // + unsigned long OutputLength; +} __packed; -//4.Control code to write x number of bytes to common memory -//starting from address y -#define IOCTL_BCM_COMMON_MEMORY_WRITE _IOW(BCM_IOCTL, 0x804, int)// +struct bcm_gpio_info { + unsigned int uiGpioNumber; /* valid numbers 0-15 */ + unsigned int uiGpioValue; /* 1 set ; 0 not set */ +} __packed; -//5.Control code to write x number of bytes to common memory -//starting from address y -#define IOCTL_BCM_COMMON_MEMORY_READ _IOR(BCM_IOCTL, 0x805, int)// - -//6.Control code for CONTROL MESSAGES -#define IOCTL_GET_CONTROL_MESSAGE _IOR(BCM_IOCTL, 0x806, int)// - -//7.Control code for FIRMWARE DOWNLOAD -#define IOCTL_BCM_FIRMWARE_DOWNLOAD _IOW(BCM_IOCTL, 0x807, int)// - -#define IOCTL_BCM_SET_SEND_VCID _IOW(BCM_IOCTL, 0x808, int) - -//9.Control code for TRANSFER MODE SWITCHING -#define IOCTL_BCM_SWITCH_TRANSFER_MODE _IOW(BCM_IOCTL, 0x809, int) -//10.Control code for LINK UP -#define IOCTL_LINK_REQ _IOW(BCM_IOCTL, 0x80A, int) - -//11.Control code for RSSI Level Request -#define IOCTL_RSSI_LEVEL_REQ _IOW(BCM_IOCTL, 0x80B, int) -//12.Control code for IDLE MODE CONTROL -#define IOCTL_IDLE_REQ _IOW(BCM_IOCTL, 0x80C, int) -//13.Control code for SS/BS info -#define IOCTL_SS_INFO_REQ _IOW(BCM_IOCTL, 0x80D, int) +struct bcm_user_thread_req { + /* 0->Inactivate LED thread. */ + /* 1->Activate the LED thread */ + unsigned int ThreadState; +} __packed; +#define LED_THREAD_ACTIVATION_REQ 1 +#define BCM_IOCTL 'k' +#define IOCTL_SEND_CONTROL_MESSAGE _IOW(BCM_IOCTL, 0x801, int) +#define IOCTL_BCM_REGISTER_WRITE _IOW(BCM_IOCTL, 0x802, int) +#define IOCTL_BCM_REGISTER_READ _IOR(BCM_IOCTL, 0x803, int) +#define IOCTL_BCM_COMMON_MEMORY_WRITE _IOW(BCM_IOCTL, 0x804, int) +#define IOCTL_BCM_COMMON_MEMORY_READ _IOR(BCM_IOCTL, 0x805, int) +#define IOCTL_GET_CONTROL_MESSAGE _IOR(BCM_IOCTL, 0x806, int) +#define IOCTL_BCM_FIRMWARE_DOWNLOAD _IOW(BCM_IOCTL, 0x807, int) +#define IOCTL_BCM_SET_SEND_VCID _IOW(BCM_IOCTL, 0x808, int) +#define IOCTL_BCM_SWITCH_TRANSFER_MODE _IOW(BCM_IOCTL, 0x809, int) +#define IOCTL_LINK_REQ _IOW(BCM_IOCTL, 0x80A, int) +#define IOCTL_RSSI_LEVEL_REQ _IOW(BCM_IOCTL, 0x80B, int) +#define IOCTL_IDLE_REQ _IOW(BCM_IOCTL, 0x80C, int) +#define IOCTL_SS_INFO_REQ _IOW(BCM_IOCTL, 0x80D, int) #define IOCTL_GET_STATISTICS_POINTER _IOW(BCM_IOCTL, 0x80E, int) - -#define IOCTL_CM_REQUEST _IOW(BCM_IOCTL, 0x80F, int) - -#define IOCTL_INIT_PARAM_REQ _IOW(BCM_IOCTL, 0x810, int) - -#define IOCTL_MAC_ADDR_REQ _IOW(BCM_IOCTL, 0x811, int) - -#define IOCTL_MAC_ADDR_RESP _IOWR(BCM_IOCTL, 0x812, int) - -#define IOCTL_CLASSIFICATION_RULE _IOW(BCM_IOCTL, 0x813, char) - +#define IOCTL_CM_REQUEST _IOW(BCM_IOCTL, 0x80F, int) +#define IOCTL_INIT_PARAM_REQ _IOW(BCM_IOCTL, 0x810, int) +#define IOCTL_MAC_ADDR_REQ _IOW(BCM_IOCTL, 0x811, int) +#define IOCTL_MAC_ADDR_RESP _IOWR(BCM_IOCTL, 0x812, int) +#define IOCTL_CLASSIFICATION_RULE _IOW(BCM_IOCTL, 0x813, char) #define IOCTL_CLOSE_NOTIFICATION _IO(BCM_IOCTL, 0x814) - -#define IOCTL_LINK_UP _IO(BCM_IOCTL, 0x815) - -#define IOCTL_LINK_DOWN _IO(BCM_IOCTL, 0x816, IOCTL_BUFFER) - -#define IOCTL_CHIP_RESET _IO(BCM_IOCTL, 0x816) - +#define IOCTL_LINK_UP _IO(BCM_IOCTL, 0x815) +#define IOCTL_LINK_DOWN _IO(BCM_IOCTL, 0x816, struct bcm_ioctl_buffer) +#define IOCTL_CHIP_RESET _IO(BCM_IOCTL, 0x816) #define IOCTL_CINR_LEVEL_REQ _IOW(BCM_IOCTL, 0x817, char) - -#define IOCTL_WTM_CONTROL_REQ _IOW(BCM_IOCTL, 0x817,char) - +#define IOCTL_WTM_CONTROL_REQ _IOW(BCM_IOCTL, 0x817, char) #define IOCTL_BE_BUCKET_SIZE _IOW(BCM_IOCTL, 0x818, unsigned long) - #define IOCTL_RTPS_BUCKET_SIZE _IOW(BCM_IOCTL, 0x819, unsigned long) - -#define IOCTL_QOS_THRESHOLD _IOW(BCM_IOCTL, 0x820, unsigned long) - -#define IOCTL_DUMP_PACKET_INFO _IO(BCM_IOCTL, 0x821) - -#define IOCTL_GET_PACK_INFO _IOR(BCM_IOCTL, 0x823, int) - +#define IOCTL_QOS_THRESHOLD _IOW(BCM_IOCTL, 0x820, unsigned long) +#define IOCTL_DUMP_PACKET_INFO _IO(BCM_IOCTL, 0x821) +#define IOCTL_GET_PACK_INFO _IOR(BCM_IOCTL, 0x823, int) #define IOCTL_BCM_GET_DRIVER_VERSION _IOR(BCM_IOCTL, 0x829, int) - -#define IOCTL_BCM_GET_CURRENT_STATUS _IOW(BCM_IOCTL, 0x828, int) - -#define IOCTL_BCM_GPIO_SET_REQUEST _IOW(BCM_IOCTL, 0x82A, int) - -#define IOCTL_BCM_GPIO_STATUS_REQUEST _IOW(BCM_IOCTL, 0x82b, int) - -#define IOCTL_BCM_GET_DSX_INDICATION _IOR(BCM_IOCTL, 0x854, int) - -#define IOCTL_BCM_BUFFER_DOWNLOAD_START _IOW(BCM_IOCTL, 0x855, int) - -#define IOCTL_BCM_BUFFER_DOWNLOAD _IOW(BCM_IOCTL, 0x856, int) - -#define IOCTL_BCM_BUFFER_DOWNLOAD_STOP _IOW(BCM_IOCTL, 0x857, int) - -#define IOCTL_BCM_REGISTER_WRITE_PRIVATE _IOW(BCM_IOCTL, 0x826, char) - +#define IOCTL_BCM_GET_CURRENT_STATUS _IOW(BCM_IOCTL, 0x828, int) +#define IOCTL_BCM_GPIO_SET_REQUEST _IOW(BCM_IOCTL, 0x82A, int) +#define IOCTL_BCM_GPIO_STATUS_REQUEST _IOW(BCM_IOCTL, 0x82b, int) +#define IOCTL_BCM_GET_DSX_INDICATION _IOR(BCM_IOCTL, 0x854, int) +#define IOCTL_BCM_BUFFER_DOWNLOAD_START _IOW(BCM_IOCTL, 0x855, int) +#define IOCTL_BCM_BUFFER_DOWNLOAD _IOW(BCM_IOCTL, 0x856, int) +#define IOCTL_BCM_BUFFER_DOWNLOAD_STOP _IOW(BCM_IOCTL, 0x857, int) +#define IOCTL_BCM_REGISTER_WRITE_PRIVATE _IOW(BCM_IOCTL, 0x826, char) #define IOCTL_BCM_REGISTER_READ_PRIVATE _IOW(BCM_IOCTL, 0x827, char) - -#define IOCTL_BCM_SET_DEBUG _IOW(BCM_IOCTL, 0x824, IOCTL_BUFFER) - -#define IOCTL_BCM_EEPROM_REGISTER_WRITE _IOW(BCM_IOCTL, 0x858, int) - -#define IOCTL_BCM_EEPROM_REGISTER_READ _IOR(BCM_IOCTL, 0x859, int) - +#define IOCTL_BCM_SET_DEBUG _IOW(BCM_IOCTL, 0x824, struct bcm_ioctl_buffer) +#define IOCTL_BCM_EEPROM_REGISTER_WRITE _IOW(BCM_IOCTL, 0x858, int) +#define IOCTL_BCM_EEPROM_REGISTER_READ _IOR(BCM_IOCTL, 0x859, int) #define IOCTL_BCM_WAKE_UP_DEVICE_FROM_IDLE _IOR(BCM_IOCTL, 0x860, int) - -#define IOCTL_BCM_SET_MAC_TRACING _IOW(BCM_IOCTL, 0x82c, int) - -#define IOCTL_BCM_GET_HOST_MIBS _IOW(BCM_IOCTL, 0x853, int) - -#define IOCTL_BCM_NVM_READ _IOR(BCM_IOCTL, 0x861, int) - -#define IOCTL_BCM_NVM_WRITE _IOW(BCM_IOCTL, 0x862, int) - -#define IOCTL_BCM_GET_NVM_SIZE _IOR(BCM_IOCTL, 0x863, int) - -#define IOCTL_BCM_CAL_INIT _IOR(BCM_IOCTL, 0x864, int) - -#define IOCTL_BCM_BULK_WRM _IOW(BCM_IOCTL, 0x90B, int) - -#define IOCTL_BCM_FLASH2X_SECTION_READ _IOR(BCM_IOCTL, 0x865, int) - +#define IOCTL_BCM_SET_MAC_TRACING _IOW(BCM_IOCTL, 0x82c, int) +#define IOCTL_BCM_GET_HOST_MIBS _IOW(BCM_IOCTL, 0x853, int) +#define IOCTL_BCM_NVM_READ _IOR(BCM_IOCTL, 0x861, int) +#define IOCTL_BCM_NVM_WRITE _IOW(BCM_IOCTL, 0x862, int) +#define IOCTL_BCM_GET_NVM_SIZE _IOR(BCM_IOCTL, 0x863, int) +#define IOCTL_BCM_CAL_INIT _IOR(BCM_IOCTL, 0x864, int) +#define IOCTL_BCM_BULK_WRM _IOW(BCM_IOCTL, 0x90B, int) +#define IOCTL_BCM_FLASH2X_SECTION_READ _IOR(BCM_IOCTL, 0x865, int) #define IOCTL_BCM_FLASH2X_SECTION_WRITE _IOW(BCM_IOCTL, 0x866, int) +#define IOCTL_BCM_GET_FLASH2X_SECTION_BITMAP _IOR(BCM_IOCTL, 0x867, int) +#define IOCTL_BCM_SET_ACTIVE_SECTION _IOW(BCM_IOCTL, 0x868, int) +#define IOCTL_BCM_IDENTIFY_ACTIVE_SECTION _IO(BCM_IOCTL, 0x869) +#define IOCTL_BCM_COPY_SECTION _IOW(BCM_IOCTL, 0x870, int) +#define IOCTL_BCM_GET_FLASH_CS_INFO _IOR(BCM_IOCTL, 0x871, int) +#define IOCTL_BCM_SELECT_DSD _IOW(BCM_IOCTL, 0x872, int) +#define IOCTL_BCM_NVM_RAW_READ _IOR(BCM_IOCTL, 0x875, int) +#define IOCTL_BCM_CNTRLMSG_MASK _IOW(BCM_IOCTL, 0x874, int) +#define IOCTL_BCM_GET_DEVICE_DRIVER_INFO _IOR(BCM_IOCTL, 0x877, int) +#define IOCTL_BCM_TIME_SINCE_NET_ENTRY _IOR(BCM_IOCTL, 0x876, int) +#define BCM_LED_THREAD_STATE_CHANGE_REQ _IOW(BCM_IOCTL, 0x878, int) +#define IOCTL_BCM_GPIO_MULTI_REQUEST _IOW(BCM_IOCTL, 0x82D, struct bcm_ioctl_buffer) +#define IOCTL_BCM_GPIO_MODE_REQUEST _IOW(BCM_IOCTL, 0x82E, struct bcm_ioctl_buffer) + +enum bcm_interface_type { + BCM_MII, + BCM_CARDBUS, + BCM_USB, + BCM_SDIO, + BCM_PCMCIA +}; -#define IOCTL_BCM_GET_FLASH2X_SECTION_BITMAP _IOR(BCM_IOCTL,0x867, int) - -#define IOCTL_BCM_SET_ACTIVE_SECTION _IOW(BCM_IOCTL,0x868, int) - -#define IOCTL_BCM_IDENTIFY_ACTIVE_SECTION _IO(BCM_IOCTL,0x869) - -#define IOCTL_BCM_COPY_SECTION _IOW(BCM_IOCTL, 0x870,int) - -#define IOCTL_BCM_GET_FLASH_CS_INFO _IOR(BCM_IOCTL, 0x871, int) - -#define IOCTL_BCM_SELECT_DSD _IOW(BCM_IOCTL, 0x872, int) - -#define IOCTL_BCM_NVM_RAW_READ _IOR(BCM_IOCTL, 0x875, int) - -#define IOCTL_BCM_CNTRLMSG_MASK _IOW(BCM_IOCTL, 0x874, int) - -#define IOCTL_BCM_GET_DEVICE_DRIVER_INFO _IOR(BCM_IOCTL, 0x877, int) - -#define IOCTL_BCM_TIME_SINCE_NET_ENTRY _IOR(BCM_IOCTL, 0x876, int) - -#define BCM_LED_THREAD_STATE_CHANGE_REQ _IOW(BCM_IOCTL, 0x878, int) - -#define IOCTL_BCM_GPIO_MULTI_REQUEST _IOW(BCM_IOCTL, 0x82D, IOCTL_BUFFER) -#define IOCTL_BCM_GPIO_MODE_REQUEST _IOW(BCM_IOCTL, 0x82E, IOCTL_BUFFER) - - - -typedef enum _BCM_INTERFACE_TYPE -{ - BCM_MII, - BCM_CARDBUS, - BCM_USB, - BCM_SDIO, - BCM_PCMCIA -}BCM_INTERFACE_TYPE; - -typedef struct _DEVICE_DRIVER_INFO -{ - NVM_TYPE u32NVMType; - UINT MaxRDMBufferSize; - BCM_INTERFACE_TYPE u32InterfaceType; - UINT u32DSDStartOffset; - UINT u32RxAlignmentCorrection; - UINT u32Reserved[10]; -} DEVICE_DRIVER_INFO; - -typedef struct _NVM_READWRITE -{ +struct bcm_driver_info { + NVM_TYPE u32NVMType; + unsigned int MaxRDMBufferSize; + enum bcm_interface_type u32InterfaceType; + unsigned int u32DSDStartOffset; + unsigned int u32RxAlignmentCorrection; + unsigned int u32Reserved[10]; +}; +struct bcm_nvm_readwrite { void __user *pBuffer; -// Data to be written from|read to. Memory should be allocated by the caller. - uint32_t uiOffset; -// offset at which data should be written to or read from. - - uint32_t uiNumBytes; -// No. of bytes to be written or read. - - bool bVerify; -// Applicable only for write. If set verification of written data will be done. - -} NVM_READWRITE,*PNVM_READWRITE; -typedef struct bulkwrmbuffer -{ - ULONG Register; - ULONG SwapEndian; - ULONG Values[1]; - -}BULKWRM_BUFFER,*PBULKWRM_BUFFER; - - -/***********Structure used for FlashMap2.x *******************************/ + uint32_t uiNumBytes; + bool bVerify; +}; -/* -* These are Sction present inside the Flash. -* There is sectional RD/WR for flash Map 2.x. -* hence these section will be used in read/write API. -*/ +struct bcm_bulk_wrm_buffer { + unsigned long Register; + unsigned long SwapEndian; + unsigned long Values[1]; +}; -typedef enum _FLASH2X_SECTION_VAL -{ - NO_SECTION_VAL = 0, //no section is chosen when absolute offset is given for RD/WR +enum bcm_flash2x_section_val { + NO_SECTION_VAL = 0, /* no section is chosen when absolute offset is given for RD/WR */ ISO_IMAGE1, ISO_IMAGE2, DSD0, @@ -257,104 +146,81 @@ typedef enum _FLASH2X_SECTION_VAL ISO_IMAGE2_PART2, ISO_IMAGE2_PART3, TOTAL_SECTIONS -}FLASH2X_SECTION_VAL; +}; /* -* Structure used for READ/WRITE Flash Map2.x -*/ -typedef struct _FLASH2X_READWRITE -{ - - FLASH2X_SECTION_VAL Section; //which section has to be read/written - B_UINT32 offset; //Offset within Section. - B_UINT32 numOfBytes; //NOB from the offset - B_UINT32 bVerify; - void __user *pDataBuff; //Buffer for reading/writing + * Structure used for READ/WRITE Flash Map2.x + */ +struct bcm_flash2x_readwrite { + enum bcm_flash2x_section_val Section; /* which section has to be read/written */ + u32 offset; /* Offset within Section. */ + u32 numOfBytes; /* NOB from the offset */ + u32 bVerify; + void __user *pDataBuff; /* Buffer for reading/writing */ +}; -}FLASH2X_READWRITE, *PFLASH2X_READWRITE; /* -* This structure is used for coping one section to other. -* there are two ways to copy one section to other. -* it NOB =0, complete section will be copied on to other. -* if NOB !=0, only NOB will be copied from the given offset. -*/ - -typedef struct _FLASH2X_COPY_SECTION -{ - //Src Section from which Data has to be copied to DstSection - FLASH2X_SECTION_VAL SrcSection; - - //Destination Section from where Data has to be coppied. - FLASH2X_SECTION_VAL DstSection; - - //Offset within Section. if NOB =0 it will be ignored and data will be coped from offset 0. - B_UINT32 offset; - - //NOB from the offset. if NOB = 0 complete src section will be copied to Destination section. - B_UINT32 numOfBytes; -} FLASH2X_COPY_SECTION, *PFLASH2X_COPY_SECTION; - - -typedef enum _SECTION_TYPE -{ - ISO = 0, - VSA = 1, - DSD = 2 -} SECTION_TYPE, *PSECTION_TYPE; + * This structure is used for coping one section to other. + * there are two ways to copy one section to other. + * it NOB =0, complete section will be copied on to other. + * if NOB !=0, only NOB will be copied from the given offset. + */ + +struct bcm_flash2x_copy_section { + enum bcm_flash2x_section_val SrcSection; + enum bcm_flash2x_section_val DstSection; + u32 offset; + u32 numOfBytes; +}; /* -* This section provide the complete bitmap of the Flash. -* using this map lib/APP will isssue read/write command. - Fields are defined as : - Bit [0] = section is present //1:present, 0: Not present -* Bit [1] = section is valid //1: valid, 0: not valid -* Bit [2] = Section is R/W //0: RW, 1: RO -* Bit [3] = Section is Active or not 1 means Active, 0->inactive -* Bit [7...3] = Reserved -*/ - -typedef struct _FLASH2X_BITMAP -{ - UCHAR ISO_IMAGE1; - UCHAR ISO_IMAGE2; - UCHAR DSD0; - UCHAR DSD1; - UCHAR DSD2; - UCHAR VSA0; - UCHAR VSA1; - UCHAR VSA2; - UCHAR SCSI; - UCHAR CONTROL_SECTION; - //Reserved for future use - UCHAR Reserved0; - UCHAR Reserved1; - UCHAR Reserved2; -}FLASH2X_BITMAP, *PFLASH2X_BITMAP; + * This section provide the complete bitmap of the Flash. + * using this map lib/APP will isssue read/write command. + * Fields are defined as : + * Bit [0] = section is present //1:present, 0: Not present + * Bit [1] = section is valid //1: valid, 0: not valid + * Bit [2] = Section is R/W //0: RW, 1: RO + * Bit [3] = Section is Active or not 1 means Active, 0->inactive + * Bit [7...3] = Reserved + */ + +struct bcm_flash2x_bitmap { + unsigned char ISO_IMAGE1; + unsigned char ISO_IMAGE2; + unsigned char DSD0; + unsigned char DSD1; + unsigned char DSD2; + unsigned char VSA0; + unsigned char VSA1; + unsigned char VSA2; + unsigned char SCSI; + unsigned char CONTROL_SECTION; + /* Reserved for future use */ + unsigned char Reserved0; + unsigned char Reserved1; + unsigned char Reserved2; +}; -//for net entry time check -typedef struct _ST_TIME_ELAPSED_ -{ - ULONG64 ul64TimeElapsedSinceNetEntry; - UINT32 uiReserved[4]; //By chance if required for future proofing -}ST_TIME_ELAPSED,*PST_TIME_ELAPSED; +struct bcm_time_elapsed { + unsigned long long ul64TimeElapsedSinceNetEntry; + u32 uiReserved[4]; +}; enum { - WIMAX_IDX=0, /*To access WiMAX chip GPIO's for GPIO_MULTI_INFO or GPIO_MULTI_MODE*/ - HOST_IDX, /*To access Host chip GPIO's for GPIO_MULTI_INFO or GPIO_MULTI_MODE*/ - MAX_IDX + WIMAX_IDX = 0, /* To access WiMAX chip GPIO's for GPIO_MULTI_INFO or GPIO_MULTI_MODE */ + HOST_IDX, /* To access Host chip GPIO's for GPIO_MULTI_INFO or GPIO_MULTI_MODE */ + MAX_IDX }; -typedef struct stGPIOMultiInfo -{ - UINT uiGPIOCommand; /* 1 for set and 0 for get*/ - UINT uiGPIOMask; /* set the correspondig bit to 1 to access GPIO*/ - UINT uiGPIOValue; /* 0 or 1; value to be set when command is 1.*/ -}__attribute__((packed))GPIO_MULTI_INFO , *PGPIO_MULTI_INFO; -typedef struct stGPIOMultiMode -{ - UINT uiGPIOMode; /* 1 for OUT mode, 0 for IN mode*/ - UINT uiGPIOMask; /* GPIO mask to set mode*/ -}__attribute__((packed))GPIO_MULTI_MODE, *PGPIO_MULTI_MODE; +struct bcm_gpio_multi_info { + unsigned int uiGPIOCommand; /* 1 for set and 0 for get */ + unsigned int uiGPIOMask; /* set the correspondig bit to 1 to access GPIO */ + unsigned int uiGPIOValue; /* 0 or 1; value to be set when command is 1. */ +} __packed; +struct bcm_gpio_multi_mode { + unsigned int uiGPIOMode; /* 1 for OUT mode, 0 for IN mode */ + unsigned int uiGPIOMask; /* GPIO mask to set mode */ +} __packed; #endif |