Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755798AbbHNQ4q (ORCPT ); Fri, 14 Aug 2015 12:56:46 -0400 Received: from mail-pa0-f66.google.com ([209.85.220.66]:34203 "EHLO mail-pa0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755588AbbHNQzh (ORCPT ); Fri, 14 Aug 2015 12:55:37 -0400 From: Hongtao Wu X-Google-Original-From: Hongtao Wu To: ulf.hansson@linaro.org, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, devicetree@vger.kernel.org, catalin.marinas@arm.com, will.deacon@arm.com, linux-arm-kernel@lists.infradead.org, shawn.lin@rock-chips.com Cc: Orson.Zhai@spreadtrum.com, Chunyan.Zhang@spreadtrum.com, Jason.Wu@spreadtrum.com Subject: [RFC PATCH v3 0/3] Add MMC host driver for Spreadtrum SoC Date: Sat, 15 Aug 2015 00:55:50 +0800 Message-Id: <1439571353-30165-1-git-send-email-wuht06@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2567 Lines: 59 This patch adds MMC host driver for Spreadtrum SoC. The following coding style may be not meet kernel coding style. I am not sure this kind of coding style is better or worse. 1) A macro that represent some bits of a register is added a prefix "__", for example: #define SDHOST_16_HOST_CTRL_2 0x3E #define __TIMING_MODE_SDR12 0x0000 #define __TIMING_MODE_SDR25 0x0001 #define __TIMING_MODE_SDR50 0x0002 I think it is more useful to distinguish a register from a bit of this register. 2) A function in order to operate a register is also added a prefix "_". If the functions(A) call other function(B), we added a prefix "__" before B, for example: static inline void _sdhost_enable_int(struct sdhost_host *host, u32 mask) { __local_writel(mask, host, SDHOST_32_INT_ST_EN); __local_writel(mask, host, SDHOST_32_INT_SIG_EN); } I think this make the relationship of the function call more explicit. Changes in v3: - add Spreadtrum MMC DT bindings. - add MMC nodes in Spreadtrum DT files - release resources when there is an error or removing MMC host driver. Changes in v2: - delete some redundant mdelay() - add error handling in some functions. Billows Wu(HongtaoWu) (3): mmc: sprd: add MMC host driver for Spreadtrum SoC Documentation: add Spreadtrum MMC DT bindings. DT: add MMC nodes in Spreadtrum DT files. Documentation/devicetree/bindings/mmc/sprd-mmc.txt | 46 + arch/arm64/boot/dts/sprd/sc9836-openphone.dts | 24 + arch/arm64/boot/dts/sprd/sharkl64.dtsi | 44 + drivers/mmc/host/Kconfig | 6 + drivers/mmc/host/Makefile | 1 + drivers/mmc/host/sprd_sdhost.c | 1202 ++++++++++++++++++++ drivers/mmc/host/sprd_sdhost.h | 615 ++++++++++ drivers/mmc/host/sprd_sdhost_debugfs.c | 212 ++++ drivers/mmc/host/sprd_sdhost_debugfs.h | 27 + 9 files changed, 2177 insertions(+) create mode 100644 Documentation/devicetree/bindings/mmc/sprd-mmc.txt create mode 100644 drivers/mmc/host/sprd_sdhost.c create mode 100644 drivers/mmc/host/sprd_sdhost.h create mode 100644 drivers/mmc/host/sprd_sdhost_debugfs.c create mode 100644 drivers/mmc/host/sprd_sdhost_debugfs.h -- 1.7.9.5 -- 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/