Re: [PATCH v3 1/2] mfd: rtsx: reduce code duplication in rtl8411

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/17/2013 03:28 PM, Dan Carpenter wrote:
On Tue, Dec 17, 2013 at 10:36:58AM +0800, micky_ching@xxxxxxxxxxxxxx wrote:
diff --git a/drivers/mfd/rtsx_pcr.h b/drivers/mfd/rtsx_pcr.h
index 947e79b..26b52ec 100644
--- a/drivers/mfd/rtsx_pcr.h
+++ b/drivers/mfd/rtsx_pcr.h
@@ -63,4 +63,12 @@ static inline u8 map_sd_drive(int idx)
  #define rtl8411_reg_to_sd30_drive_sel_3v3(reg)	(((reg) >> 5) & 0x07)
  #define rtl8411b_reg_to_sd30_drive_sel_3v3(reg)	((reg) & 0x03)
+#define set_pull_ctrl_tables(__device) \
+do {								\
+	pcr->sd_pull_ctl_enable_tbl  = __device##_sd_pull_ctl_enable_tbl;  \
+	pcr->sd_pull_ctl_disable_tbl = __device##_sd_pull_ctl_disable_tbl; \
+	pcr->ms_pull_ctl_enable_tbl  = __device##_ms_pull_ctl_enable_tbl;  \
+	pcr->ms_pull_ctl_disable_tbl = __device##_ms_pull_ctl_disable_tbl; \
+} while (0)
+
  #endif
This is nasty...  With readable code, you should understand just from
looking at it what the code is doing but this obscures it completely.
It shouldn't reference the "pcr" variable without passing it in as an
argument but even with that cleanup I don't really like it.

To be honest, I don't see the problem with the original code.


Using macro can reduce some code, and define as set_pull_ctl_tables(pcr, dev)
is much better for understand
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux