staging: rts5208: Remove hidden flow control macros
cover staging: rts5208: Remove hidden flow control macros
Macros with hidden flow control are poor form.
Joe Perches (2):
staging: rts5208: Remove TRACE_RET and TRACE_GOTO macros
staging: rts5208: Remove RTSX_READ_REG and RTSX_WRITE_REG macros
drivers/staging/rts5208/Makefile | 2 +- drivers/staging/rts5208/ms.c | 1654 +++++++++++++++++--------- drivers/staging/rts5208/rtsx.c | 6 - drivers/staging/rts5208/rtsx.h | 13 +- drivers/staging/rts5208/rtsx_card.c | 181 ++- drivers/staging/rts5208/rtsx_card.h | 8 +- drivers/staging/rts5208/rtsx_chip.c | 902 ++++++++++---- drivers/staging/rts5208/rtsx_chip.h | 16 - drivers/staging/rts5208/rtsx_scsi.c | 539 ++++++--- drivers/staging/rts5208/rtsx_transport.c | 7 +- drivers/staging/rts5208/sd.c | 1883 +++++++++++++++++++++--------- drivers/staging/rts5208/spi.c | 372 ++++-- drivers/staging/rts5208/trace.c | 26 + drivers/staging/rts5208/trace.h | 61 +- drivers/staging/rts5208/xd.c | 607 +++++++--- 15 files changed, 4382 insertions(+), 1895 deletions(-) create mode 100644 drivers/staging/rts5208/trace.c
Signature · 1 line
2.1.2
PATCH 1/2 staging: rts5208: Remove TRACE_RET and TRACE_GOTO macros
Remove these flow hiding macros.
Miscellanea:
o Add a macro and function to replace a large inline
o Simplify #includes
o Add trace.c and update Makefile
o Remove static inline filename function and use kbasename instead
This reduces object size quite a lot: ~350KB (x86-64 allyesconfig)
$ size drivers/staging/rts5208/built-in.o* text data bss dec hex filename 248385 36728 77888 363001 589f9 drivers/staging/rts5208/built-in.o.new 506691 83352 115896 705939 ac593 drivers/staging/rts5208/built-in.o.old
Done via coccinelle script and some typing.
@@
expression chip;
expression ret;
@@
- TRACE_RET(chip, ret);
+ rtsx_trace(chip);
+ return ret;
@@
expression chip;
identifier label;
@@
- TRACE_GOTO(chip, label);
+ rtsx_trace(chip);
+ goto label;
--- drivers/staging/rts5208/Makefile | 2 +- drivers/staging/rts5208/ms.c | 1404 ++++++++++++++++++++---------- drivers/staging/rts5208/rtsx.c | 6 - drivers/staging/rts5208/rtsx.h | 13 +- drivers/staging/rts5208/rtsx_card.c | 85 +- drivers/staging/rts5208/rtsx_chip.c | 295 ++++--- drivers/staging/rts5208/rtsx_chip.h | 26 +- drivers/staging/rts5208/rtsx_scsi.c | 539 ++++++++---- drivers/staging/rts5208/rtsx_transport.c | 7 +- drivers/staging/rts5208/sd.c | 1389 +++++++++++++++++++---------- drivers/staging/rts5208/spi.c | 255 ++++-- drivers/staging/rts5208/trace.c | 26 + drivers/staging/rts5208/trace.h | 61 +- drivers/staging/rts5208/xd.c | 453 ++++++---- 14 files changed, 2986 insertions(+), 1575 deletions(-) create mode 100644 drivers/staging/rts5208/trace.c
drivers/staging/rts5208/Makefile +1 -1
@@ -3,4 +3,4 @@ obj-$(CONFIG_RTS5208) := rts5208.o ccflags-y := -Idrivers/scsi rts5208-y := rtsx.o rtsx_chip.o rtsx_transport.o rtsx_scsi.o \ - rtsx_card.o general.o sd.o xd.o ms.o spi.o + rtsx_card.o general.o sd.o xd.o ms.o spi.o trace.o
drivers/staging/rts5208/ms.c +932 -472
2,868 lines not on this page · raw message
drivers/staging/rts5208/rtsx.c +0 -6
@@ -26,12 +26,6 @@#include <linux/workqueue.h> #include "rtsx.h" -#include "rtsx_chip.h" -#include "rtsx_transport.h" -#include "rtsx_scsi.h" -#include "rtsx_card.h" -#include "general.h" -#include "ms.h" #include "sd.h" #include "xd.h"
drivers/staging/rts5208/rtsx.h +10 -3
@@ -46,9 +46,6 @@#include <scsi/scsi_eh.h> #include <scsi/scsi_host.h> -#include "trace.h" -#include "general.h" -#define CR_DRIVER_NAME "rts5208"#define pci_get_bus_and_slot (bus, devfn) \
@@ -181,4 +178,14 @@ enum xfer_buf_dir {TO_XFER_BUF, FROM_XFER_BUF};int rtsx_read_pci_cfg_byte (u8 bus,u8 dev,u8 func,u8 offset,u8 *val); +#define _MSG_TRACE + +#include "trace.h" +#include "rtsx_chip.h" +#include "rtsx_transport.h" +#include "rtsx_scsi.h" +#include "rtsx_card.h" +#include "rtsx_sys.h" +#include "general.h" +#endif /* __REALTEK_RTSX_H */
drivers/staging/rts5208/rtsx_card.c +52 -33
92 lines not on this page · raw message
drivers/staging/rts5208/rtsx_chip.c +192 -103
295 lines not on this page · raw message
drivers/staging/rts5208/rtsx_scsi.c +356 -183
539 lines not on this page · raw message
drivers/staging/rts5208/rtsx_transport.c +2 -5
Lines of this file are not shown. View the raw message.
drivers/staging/rts5208/sd.c +924 -465
1,389 lines not on this page · raw message
drivers/staging/rts5208/spi.c +168 -87
255 lines not on this page · raw message
drivers/staging/rts5208/trace.c new file +26 -0
Lines of this file are not shown. View the raw message.
drivers/staging/rts5208/trace.h +7 -54
61 lines not on this page · raw message
drivers/staging/rts5208/xd.c +302 -151
453 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.1.2
Part of the diff is not shown here. View the raw message.
PATCH 2/2 staging: rts5208: Remove RTSX_READ_REG and RTSX_WRITE_REG macros
In reply to Joe PerchesMacros with hidden flow control are bad form as the code path taken can be unexpected for the reader.
Expand these in-place and remove the macros.
Done with coccinelle script:
@@
expression chip;
expression arg1;
expression arg2;
expression arg3;
@@
- RTSX_WRITE_REG(chip, arg1, arg2, arg3);
+ retval = rtsx_write_register(chip, arg1, arg2, arg3);
+ if (retval) {
+ rtsx_trace(chip);
+ return retval;
+ }
@@
expression chip;
expression arg1;
expression arg2;
@@
- RTSX_READ_REG(chip, arg1, arg2);
+ retval = rtsx_read_register(chip, arg1, arg2);
+ if (retval) {
+ rtsx_trace(chip);
+ return retval;
+ }
--- drivers/staging/rts5208/ms.c | 250 ++++++++++++--- drivers/staging/rts5208/rtsx_card.c | 96 +++++- drivers/staging/rts5208/rtsx_card.h | 8 +- drivers/staging/rts5208/rtsx_chip.c | 607 +++++++++++++++++++++++++++++------- drivers/staging/rts5208/rtsx_chip.h | 18 -- drivers/staging/rts5208/sd.c | 494 +++++++++++++++++++++++------ drivers/staging/rts5208/spi.c | 117 +++++-- drivers/staging/rts5208/xd.c | 154 +++++++-- 8 files changed, 1410 insertions(+), 334 deletions(-)
drivers/staging/rts5208/ms.c +199 -51
@@ -169,7 +169,11 @@ static int ms_transfer_data(struct rtsx_chip *chip, u8 trans_mode,return retval; } -RTSX_READ_REG (chip,MS_TRANS_CFG , &val); + retval =rtsx_read_register (chip,MS_TRANS_CFG , &val); +if (retval) { +rtsx_trace (chip); +return retval; + }if (val & (MS_INT_CMDNK |MS_INT_ERR |MS_CRC16_ERR |MS_RDY_TIMEOUT )) {rtsx_trace (chip);return STATUS_FAIL ;
@@ -424,25 +428,71 @@ static int ms_switch_clock(struct rtsx_chip *chip)static int ms_pull_ctl_disable (struct rtsx_chip *chip) { +int retval; +if (CHECK_PID (chip,0x5208 )) { -RTSX_WRITE_REG (chip,CARD_PULL_CTL1 ,0xFF , -MS_D1_PD |MS_D2_PD |MS_CLK_PD |MS_D6_PD ); -RTSX_WRITE_REG (chip,CARD_PULL_CTL2 ,0xFF , -MS_D3_PD |MS_D0_PD |MS_BS_PD |XD_D4_PD ); -RTSX_WRITE_REG (chip,CARD_PULL_CTL3 ,0xFF , -MS_D7_PD |XD_CE_PD |XD_CLE_PD |XD_CD_PU ); -RTSX_WRITE_REG (chip,CARD_PULL_CTL4 ,0xFF , -XD_RDY_PD |SD_D3_PD |SD_D2_PD |XD_ALE_PD ); -RTSX_WRITE_REG (chip,CARD_PULL_CTL5 ,0xFF , -MS_INS_PU |SD_WP_PD |SD_CD_PU |SD_CMD_PD ); -RTSX_WRITE_REG (chip,CARD_PULL_CTL6 ,0xFF , -MS_D5_PD |MS_D4_PD ); + retval =rtsx_write_register (chip,CARD_PULL_CTL1 ,0xFF , +MS_D1_PD |MS_D2_PD |MS_CLK_PD |MS_D6_PD ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,CARD_PULL_CTL2 ,0xFF , +MS_D3_PD |MS_D0_PD |MS_BS_PD |XD_D4_PD ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,CARD_PULL_CTL3 ,0xFF , +MS_D7_PD |XD_CE_PD |XD_CLE_PD |XD_CD_PU ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,CARD_PULL_CTL4 ,0xFF , +XD_RDY_PD |SD_D3_PD |SD_D2_PD |XD_ALE_PD ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,CARD_PULL_CTL5 ,0xFF , +MS_INS_PU |SD_WP_PD |SD_CD_PU |SD_CMD_PD ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,CARD_PULL_CTL6 ,0xFF , +MS_D5_PD |MS_D4_PD ); +if (retval) { +rtsx_trace (chip); +return retval; + } }else if (CHECK_PID (chip,0x5288 )) {if (CHECK_BARO_PKG (chip,QFN )) { -RTSX_WRITE_REG (chip,CARD_PULL_CTL1 ,0xFF ,0x55 ); -RTSX_WRITE_REG (chip,CARD_PULL_CTL2 ,0xFF ,0x55 ); -RTSX_WRITE_REG (chip,CARD_PULL_CTL3 ,0xFF ,0x4B ); -RTSX_WRITE_REG (chip,CARD_PULL_CTL4 ,0xFF ,0x69 ); + retval =rtsx_write_register (chip,CARD_PULL_CTL1 , +0xFF ,0x55 ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,CARD_PULL_CTL2 , +0xFF ,0x55 ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,CARD_PULL_CTL3 , +0xFF ,0x4B ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,CARD_PULL_CTL4 , +0xFF ,0x69 ); +if (retval) { +rtsx_trace (chip); +return retval; + } } }
@@ -525,8 +575,12 @@ static int ms_prepare_reset(struct rtsx_chip *chip)return STATUS_FAIL ; } }else { -RTSX_WRITE_REG (chip,FPGA_PULL_CTL , -FPGA_MS_PULL_CTL_BIT |0x20 ,0 ); + retval =rtsx_write_register (chip,FPGA_PULL_CTL , +FPGA_MS_PULL_CTL_BIT |0x20 ,0 ); +if (retval) { +rtsx_trace (chip); +return retval; + } }if (!chip->ft2_fast_mode) {
@@ -553,21 +607,40 @@ static int ms_prepare_reset(struct rtsx_chip *chip)#endif } -RTSX_WRITE_REG (chip,CARD_OE ,MS_OUTPUT_EN ,MS_OUTPUT_EN ); + retval =rtsx_write_register (chip,CARD_OE ,MS_OUTPUT_EN , +MS_OUTPUT_EN ); +if (retval) { +rtsx_trace (chip); +return retval; + }if (chip->asic_code) { -RTSX_WRITE_REG (chip,MS_CFG ,0xFF , -SAMPLE_TIME_RISING |PUSH_TIME_DEFAULT | -NO_EXTEND_TOGGLE |MS_BUS_WIDTH_1 ); + retval =rtsx_write_register (chip,MS_CFG ,0xFF , +SAMPLE_TIME_RISING |PUSH_TIME_DEFAULT |NO_EXTEND_TOGGLE |MS_BUS_WIDTH_1 ); +if (retval) { +rtsx_trace (chip); +return retval; + } }else { -RTSX_WRITE_REG (chip,MS_CFG ,0xFF , -SAMPLE_TIME_FALLING |PUSH_TIME_DEFAULT | -NO_EXTEND_TOGGLE |MS_BUS_WIDTH_1 ); + retval =rtsx_write_register (chip,MS_CFG ,0xFF , +SAMPLE_TIME_FALLING |PUSH_TIME_DEFAULT |NO_EXTEND_TOGGLE |MS_BUS_WIDTH_1 ); +if (retval) { +rtsx_trace (chip); +return retval; + } + } + retval =rtsx_write_register (chip,MS_TRANS_CFG ,0xFF , +NO_WAIT_INT |NO_AUTO_READ_INT_REG ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,CARD_STOP ,MS_STOP |MS_CLR_ERR , +MS_STOP |MS_CLR_ERR ); +if (retval) { +rtsx_trace (chip); +return retval; } -RTSX_WRITE_REG (chip,MS_TRANS_CFG , -0xFF ,NO_WAIT_INT |NO_AUTO_READ_INT_REG ); -RTSX_WRITE_REG (chip,CARD_STOP , -MS_STOP |MS_CLR_ERR ,MS_STOP |MS_CLR_ERR ); retval =ms_set_init_para (chip);if (retval !=STATUS_SUCCESS ) {
@@ -601,7 +674,11 @@ static int ms_identify_media_type(struct rtsx_chip *chip, int switch_8bit_bus)return STATUS_FAIL ; } -RTSX_READ_REG (chip,PPBUF_BASE2 +2 , &val); + retval =rtsx_read_register (chip,PPBUF_BASE2 +2 , &val); +if (retval) { +rtsx_trace (chip); +return retval; + }dev_dbg (rtsx_dev (chip),"Type register: 0x%x\n" , val);if (val !=0x01 ) {if (val !=0x02 )
@@ -611,7 +688,11 @@ static int ms_identify_media_type(struct rtsx_chip *chip, int switch_8bit_bus)return STATUS_FAIL ; } -RTSX_READ_REG (chip,PPBUF_BASE2 +4 , &val); + retval =rtsx_read_register (chip,PPBUF_BASE2 +4 , &val); +if (retval) { +rtsx_trace (chip); +return retval; + }dev_dbg (rtsx_dev (chip),"Category register: 0x%x\n" , val);if (val !=0 ) { ms_card->check_ms_flow =1 ;
@@ -619,10 +700,18 @@ static int ms_identify_media_type(struct rtsx_chip *chip, int switch_8bit_bus)return STATUS_FAIL ; } -RTSX_READ_REG (chip,PPBUF_BASE2 +5 , &val); + retval =rtsx_read_register (chip,PPBUF_BASE2 +5 , &val); +if (retval) { +rtsx_trace (chip); +return retval; + }dev_dbg (rtsx_dev (chip),"Class register: 0x%x\n" , val);if (val ==0 ) { -RTSX_READ_REG (chip,PPBUF_BASE2 , &val); + retval =rtsx_read_register (chip,PPBUF_BASE2 , &val); +if (retval) { +rtsx_trace (chip); +return retval; + }if (val &WRT_PRTCT ) chip->card_wp |=MS_CARD ;else
@@ -638,7 +727,11 @@ static int ms_identify_media_type(struct rtsx_chip *chip, int switch_8bit_bus) ms_card->ms_type |=TYPE_MSPRO ; -RTSX_READ_REG (chip,PPBUF_BASE2 +3 , &val); + retval =rtsx_read_register (chip,PPBUF_BASE2 +3 , &val); +if (retval) { +rtsx_trace (chip); +return retval; + }dev_dbg (rtsx_dev (chip),"IF Mode register: 0x%x\n" , val);if (val ==0 ) { ms_card->ms_type &=0x0F ;
@@ -753,8 +846,12 @@ static int ms_switch_8bit_bus(struct rtsx_chip *chip)return STATUS_FAIL ; } -RTSX_WRITE_REG (chip,MS_CFG ,0x98 , -MS_BUS_WIDTH_8 |SAMPLE_TIME_FALLING ); + retval =rtsx_write_register (chip,MS_CFG ,0x98 , +MS_BUS_WIDTH_8 |SAMPLE_TIME_FALLING ); +if (retval) { +rtsx_trace (chip); +return retval; + } ms_card->ms_type |=MS_8BIT ; retval =ms_set_init_para (chip);if (retval !=STATUS_SUCCESS ) {
@@ -817,8 +914,17 @@ static int ms_pro_reset_flow(struct rtsx_chip *chip, int switch_8bit_bus) }/* Switch MS-PRO into Parallel mode */ -RTSX_WRITE_REG (chip,MS_CFG ,0x18 ,MS_BUS_WIDTH_4 ); -RTSX_WRITE_REG (chip,MS_CFG ,PUSH_TIME_ODD ,PUSH_TIME_ODD ); + retval =rtsx_write_register (chip,MS_CFG ,0x18 ,MS_BUS_WIDTH_4 ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,MS_CFG ,PUSH_TIME_ODD , +PUSH_TIME_ODD ); +if (retval) { +rtsx_trace (chip); +return retval; + } retval =ms_set_init_para (chip);if (retval !=STATUS_SUCCESS ) {
@@ -872,7 +978,11 @@ static int msxc_change_power(struct rtsx_chip *chip, u8 mode)return STATUS_FAIL ; } -RTSX_READ_REG (chip,MS_TRANS_CFG , buf); + retval =rtsx_read_register (chip,MS_TRANS_CFG , buf); +if (retval) { +rtsx_trace (chip); +return retval; + }if (buf[0 ] & (MS_INT_CMDNK |MS_INT_ERR )) {rtsx_trace (chip);return STATUS_FAIL ;
@@ -1775,7 +1885,11 @@ static int ms_copy_page(struct rtsx_chip *chip, u16 old_blk, u16 new_blk,return STATUS_FAIL ; } -RTSX_READ_REG (chip,PPBUF_BASE2 , &val); + retval =rtsx_read_register (chip,PPBUF_BASE2 , &val); +if (retval) { +rtsx_trace (chip); +return retval; + }if (val &BUF_FULL ) { retval =ms_send_cmd (chip,CLEAR_BUF ,WAIT_INT );
@@ -2070,7 +2184,11 @@ static int reset_ms(struct rtsx_chip *chip)return STATUS_FAIL ; } -RTSX_READ_REG (chip,PPBUF_BASE2 , &val); + retval =rtsx_read_register (chip,PPBUF_BASE2 , &val); +if (retval) { +rtsx_trace (chip); +return retval; + }if (val &WRT_PRTCT ) chip->card_wp |=MS_CARD ;else
@@ -2238,8 +2356,16 @@ RE_SEARCH:return STATUS_FAIL ; } -RTSX_WRITE_REG (chip,PPBUF_BASE2 ,0xFF ,0x88 ); -RTSX_WRITE_REG (chip,PPBUF_BASE2 +1 ,0xFF ,0 ); + retval =rtsx_write_register (chip,PPBUF_BASE2 ,0xFF ,0x88 ); +if (retval) { +rtsx_trace (chip); +return retval; + } + retval =rtsx_write_register (chip,PPBUF_BASE2 +1 ,0xFF ,0 ); +if (retval) { +rtsx_trace (chip); +return retval; + } retval =ms_transfer_tpc (chip,MS_TM_WRITE_BYTES ,WRITE_REG ,1 ,NO_WAIT_INT );
@@ -2248,8 +2374,13 @@ RE_SEARCH:return STATUS_FAIL ; } -RTSX_WRITE_REG (chip,MS_CFG ,0x58 |MS_NO_CHECK_INT , -MS_BUS_WIDTH_4 |PUSH_TIME_ODD |MS_NO_CHECK_INT ); + retval =rtsx_write_register (chip,MS_CFG , +0x58 |MS_NO_CHECK_INT , +MS_BUS_WIDTH_4 |PUSH_TIME_ODD |MS_NO_CHECK_INT ); +if (retval) { +rtsx_trace (chip); +return retval; + } ms_card->ms_type |=MS_4BIT ; }
@@ -2869,7 +3000,11 @@ static int mspro_rw_multi_sector(struct scsi_cmnd *srb,else trans_mode =MS_TM_AUTO_WRITE ; -RTSX_READ_REG (chip,MS_TRANS_CFG , &val); + retval =rtsx_read_register (chip,MS_TRANS_CFG , &val); +if (retval) { +rtsx_trace (chip); +return retval; + }if (ms_card->seq_mode) { if ((ms_card->pre_dir != srb->sc_data_direction)
@@ -3154,7 +3289,11 @@ int mspro_format(struct scsi_cmnd *srb, struct rtsx_chip *chip,return STATUS_FAIL ; } -RTSX_READ_REG (chip,MS_TRANS_CFG , &tmp); + retval =rtsx_read_register (chip,MS_TRANS_CFG , &tmp); +if (retval) { +rtsx_trace (chip); +return retval; + }if (tmp & (MS_INT_CMDNK |MS_INT_ERR )) {rtsx_trace (chip);
@@ -4616,10 +4755,19 @@ int ms_power_off_card3v3(struct rtsx_chip *chip)return STATUS_FAIL ; } }else { -RTSX_WRITE_REG (chip,FPGA_PULL_CTL , -FPGA_MS_PULL_CTL_BIT |0x20 ,FPGA_MS_PULL_CTL_BIT ); + retval =rtsx_write_register (chip,FPGA_PULL_CTL , +FPGA_MS_PULL_CTL_BIT |0x20 , +FPGA_MS_PULL_CTL_BIT ); +if (retval) { +rtsx_trace (chip); +return retval; + } + } + retval =rtsx_write_register (chip,CARD_OE ,MS_OUTPUT_EN ,0 ); +if (retval) { +rtsx_trace (chip); +return retval; } -RTSX_WRITE_REG (chip,CARD_OE ,MS_OUTPUT_EN ,0 );if (!chip->ft2_fast_mode) { retval =card_power_off (chip,MS_CARD );if (retval !=STATUS_SUCCESS ) {
drivers/staging/rts5208/rtsx_card.c +80 -16
175 lines not on this page · raw message
drivers/staging/rts5208/rtsx_card.h +7 -1
@@ -1061,7 +1061,13 @@ int card_power_off(struct rtsx_chip *chip, u8 card);static inline int card_power_off_all (struct rtsx_chip *chip) { -RTSX_WRITE_REG (chip,CARD_PWR_CTL ,0x0F ,0x0F ); +int retval; + + retval =rtsx_write_register (chip,CARD_PWR_CTL ,0x0F ,0x0F ); +if (retval) { +rtsx_trace (chip); +return retval; + }return STATUS_SUCCESS ; }
drivers/staging/rts5208/rtsx_chip.c +498 -109
905 lines not on this page · raw message
drivers/staging/rts5208/rtsx_chip.h +0 -18
@@ -988,22 +988,4 @@ int rtsx_read_ppbuf(struct rtsx_chip *chip, u8 *buf, int buf_len);int rtsx_write_ppbuf (struct rtsx_chip *chip,u8 *buf,int buf_len);int rtsx_check_chip_exist (struct rtsx_chip *chip); -#define RTSX_WRITE_REG (chip, addr, mask, data) \ -do { \ - int retval = rtsx_write_register(chip, addr, mask, data); \ - if (retval != STATUS_SUCCESS) { \ - rtsx_trace(chip); \ - return retval; \ - } \ -} while (0) - -#define RTSX_READ_REG (chip, addr, data) \ -do { \ - int retval = rtsx_read_register(chip, addr, data); \ - if (retval != STATUS_SUCCESS) { \ - rtsx_trace(chip); \ - return retval; \ - } \ -} while (0) -#endif /* __REALTEK_RTSX_CHIP_H */
drivers/staging/rts5208/sd.c +402 -92
747 lines not on this page · raw message
drivers/staging/rts5208/spi.c +97 -20
178 lines not on this page · raw message
drivers/staging/rts5208/xd.c +127 -27
221 lines not on this page · raw message
Signature · 1 line
2.1.2