* [MXS MMC 0/5] Some cleanups and fixes for the MXS MMC subsystem @ 2011-12-06 13:41 Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 1/5] Fix grammatical error in comment Lothar Waßmann 0 siblings, 1 reply; 18+ messages in thread From: Lothar Waßmann @ 2011-12-06 13:41 UTC (permalink / raw) To: linux-arm-kernel Cc: Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball, Lothar Waßmann [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 471 bytes --] Lothar Waßmann (5): Fix grammatical error in comment Some cleanups for the MMC driver Add support for SSP/MMC ports 2 & 3 Check the return codes of clk_enable() and mxs_reset_block() Add an appropriate MODULE_ALIAS arch/arm/mach-mxs/clock-mx28.c | 6 ++- arch/arm/mach-mxs/devices/platform-mxs-mmc.c | 2 + drivers/mmc/host/mxs-mmc.c | 84 +++++++++++++++---------- 3 files changed, 57 insertions(+), 35 deletions(-) ^ permalink raw reply [flat|nested] 18+ messages in thread
* [MXS MMC 1/5] Fix grammatical error in comment 2011-12-06 13:41 [MXS MMC 0/5] Some cleanups and fixes for the MXS MMC subsystem Lothar Waßmann @ 2011-12-06 13:41 ` Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 2/5] Some cleanups for the MMC driver Lothar Waßmann ` (2 more replies) 0 siblings, 3 replies; 18+ messages in thread From: Lothar Waßmann @ 2011-12-06 13:41 UTC (permalink / raw) To: linux-arm-kernel Cc: Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball, Lothar Waßmann Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> --- arch/arm/mach-mxs/clock-mx28.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-mxs/clock-mx28.c b/arch/arm/mach-mxs/clock-mx28.c index da6e4aa..fc86b04 100644 --- a/arch/arm/mach-mxs/clock-mx28.c +++ b/arch/arm/mach-mxs/clock-mx28.c @@ -554,7 +554,7 @@ static struct clk rtc_clk = { .parent = &ref_xtal_clk, }; -/* usb_clk gate is controlled in DIGCTRL other than CLKCTRL */ +/* usb_clk gate is controlled in DIGCTRL rather than CLKCTRL */ static struct clk usb0_clk = { .enable_reg = DIGCTRL_BASE_ADDR, .enable_shift = 2, -- 1.5.6.5 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [MXS MMC 2/5] Some cleanups for the MMC driver 2011-12-06 13:41 ` [MXS MMC 1/5] Fix grammatical error in comment Lothar Waßmann @ 2011-12-06 13:41 ` Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 Lothar Waßmann 2011-12-07 12:01 ` [MXS MMC 2/5] Some cleanups for the MMC driver Shawn Guo 2011-12-06 19:05 ` [MXS MMC 1/5] Fix grammatical error in comment Wolfram Sang 2011-12-07 11:00 ` Shawn Guo 2 siblings, 2 replies; 18+ messages in thread From: Lothar Waßmann @ 2011-12-06 13:41 UTC (permalink / raw) To: linux-arm-kernel Cc: Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball, Lothar Waßmann - Remove bogus parens around numerical arguments in #define's - When defining bit masks, use the #def for the shift count instead of repeating the numbers - Remove bogus whitespace in indentation - Remove 'break' at end of switch statement Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> --- drivers/mmc/host/mxs-mmc.c | 57 +++++++++++++++++++++---------------------- 1 files changed, 28 insertions(+), 29 deletions(-) diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c index 99b449d..a9b70d2 100644 --- a/drivers/mmc/host/mxs-mmc.c +++ b/drivers/mmc/host/mxs-mmc.c @@ -47,7 +47,7 @@ #define DRIVER_NAME "mxs-mmc" /* card detect polling timeout */ -#define MXS_MMC_DETECT_TIMEOUT (HZ/2) +#define MXS_MMC_DETECT_TIMEOUT (HZ / 2) #define SSP_VERSION_LATEST 4 #define ssp_is_old() (host->version < SSP_VERSION_LATEST) @@ -59,39 +59,39 @@ #define BM_SSP_CTRL0_IGNORE_CRC (1 << 26) #define BM_SSP_CTRL0_READ (1 << 25) #define BM_SSP_CTRL0_DATA_XFER (1 << 24) -#define BP_SSP_CTRL0_BUS_WIDTH (22) -#define BM_SSP_CTRL0_BUS_WIDTH (0x3 << 22) +#define BP_SSP_CTRL0_BUS_WIDTH 22 +#define BM_SSP_CTRL0_BUS_WIDTH (0x3 << BP_SSP_CTRL0_BUS_WIDTH) #define BM_SSP_CTRL0_WAIT_FOR_IRQ (1 << 21) #define BM_SSP_CTRL0_LONG_RESP (1 << 19) #define BM_SSP_CTRL0_GET_RESP (1 << 17) #define BM_SSP_CTRL0_ENABLE (1 << 16) -#define BP_SSP_CTRL0_XFER_COUNT (0) -#define BM_SSP_CTRL0_XFER_COUNT (0xffff) +#define BP_SSP_CTRL0_XFER_COUNT 0 +#define BM_SSP_CTRL0_XFER_COUNT 0xffff #define HW_SSP_CMD0 0x010 #define BM_SSP_CMD0_DBL_DATA_RATE_EN (1 << 25) #define BM_SSP_CMD0_SLOW_CLKING_EN (1 << 22) #define BM_SSP_CMD0_CONT_CLKING_EN (1 << 21) #define BM_SSP_CMD0_APPEND_8CYC (1 << 20) -#define BP_SSP_CMD0_BLOCK_SIZE (16) -#define BM_SSP_CMD0_BLOCK_SIZE (0xf << 16) -#define BP_SSP_CMD0_BLOCK_COUNT (8) -#define BM_SSP_CMD0_BLOCK_COUNT (0xff << 8) -#define BP_SSP_CMD0_CMD (0) -#define BM_SSP_CMD0_CMD (0xff) +#define BP_SSP_CMD0_BLOCK_SIZE 16 +#define BM_SSP_CMD0_BLOCK_SIZE (0xf << BP_SSP_CMD0_BLOCK_SIZE) +#define BP_SSP_CMD0_BLOCK_COUNT 8 +#define BM_SSP_CMD0_BLOCK_COUNT (0xff << BP_SSP_CMD0_BLOCK_COUNT) +#define BP_SSP_CMD0_CMD 0 +#define BM_SSP_CMD0_CMD 0xff #define HW_SSP_CMD1 0x020 #define HW_SSP_XFER_SIZE 0x030 #define HW_SSP_BLOCK_SIZE 0x040 -#define BP_SSP_BLOCK_SIZE_BLOCK_COUNT (4) -#define BM_SSP_BLOCK_SIZE_BLOCK_COUNT (0xffffff << 4) -#define BP_SSP_BLOCK_SIZE_BLOCK_SIZE (0) -#define BM_SSP_BLOCK_SIZE_BLOCK_SIZE (0xf) +#define BP_SSP_BLOCK_SIZE_BLOCK_COUNT 4 +#define BM_SSP_BLOCK_SIZE_BLOCK_COUNT (0xffffff << BP_SSP_BLOCK_SIZE_BLOCK_COUNT) +#define BP_SSP_BLOCK_SIZE_BLOCK_SIZE 0 +#define BM_SSP_BLOCK_SIZE_BLOCK_SIZE 0xf #define HW_SSP_TIMING (ssp_is_old() ? 0x050 : 0x070) -#define BP_SSP_TIMING_TIMEOUT (16) -#define BM_SSP_TIMING_TIMEOUT (0xffff << 16) -#define BP_SSP_TIMING_CLOCK_DIVIDE (8) -#define BM_SSP_TIMING_CLOCK_DIVIDE (0xff << 8) -#define BP_SSP_TIMING_CLOCK_RATE (0) -#define BM_SSP_TIMING_CLOCK_RATE (0xff) +#define BP_SSP_TIMING_TIMEOUT 16 +#define BM_SSP_TIMING_TIMEOUT (0xffff << BP_SSP_TIMING_TIMEOUT) +#define BP_SSP_TIMING_CLOCK_DIVIDE 8 +#define BM_SSP_TIMING_CLOCK_DIVIDE (0xff << BP_SSP_TIMING_CLOCK_DIVIDE) +#define BP_SSP_TIMING_CLOCK_RATE 0 +#define BM_SSP_TIMING_CLOCK_RATE 0xff #define HW_SSP_CTRL1 (ssp_is_old() ? 0x060 : 0x080) #define BM_SSP_CTRL1_SDIO_IRQ (1 << 31) #define BM_SSP_CTRL1_SDIO_IRQ_EN (1 << 30) @@ -111,10 +111,10 @@ #define BM_SSP_CTRL1_FIFO_OVERRUN_IRQ_EN (1 << 14) #define BM_SSP_CTRL1_DMA_ENABLE (1 << 13) #define BM_SSP_CTRL1_POLARITY (1 << 9) -#define BP_SSP_CTRL1_WORD_LENGTH (4) -#define BM_SSP_CTRL1_WORD_LENGTH (0xf << 4) -#define BP_SSP_CTRL1_SSP_MODE (0) -#define BM_SSP_CTRL1_SSP_MODE (0xf) +#define BP_SSP_CTRL1_WORD_LENGTH 4 +#define BM_SSP_CTRL1_WORD_LENGTH (0xf << BP_SSP_CTRL1_WORD_LENGTH) +#define BP_SSP_CTRL1_SSP_MODE 0 +#define BM_SSP_CTRL1_SSP_MODE 0xf #define HW_SSP_SDRESP0 (ssp_is_old() ? 0x080 : 0x0a0) #define HW_SSP_SDRESP1 (ssp_is_old() ? 0x090 : 0x0b0) #define HW_SSP_SDRESP2 (ssp_is_old() ? 0x0a0 : 0x0c0) @@ -123,7 +123,7 @@ #define BM_SSP_STATUS_CARD_DETECT (1 << 28) #define BM_SSP_STATUS_SDIO_IRQ (1 << 17) #define HW_SSP_VERSION (cpu_is_mx23() ? 0x110 : 0x130) -#define BP_SSP_VERSION_MAJOR (24) +#define BP_SSP_VERSION_MAJOR 24 #define BF_SSP(value, field) (((value) << BP_SSP_##field) & BM_SSP_##field) @@ -151,7 +151,7 @@ struct mxs_mmc_host { struct clk *clk; unsigned int clk_rate; - struct dma_chan *dmach; + struct dma_chan *dmach; struct mxs_dma_data dma_data; unsigned int dma_dir; u32 ssp_pio_words[SSP_PIO_NUM]; @@ -277,7 +277,7 @@ static irqreturn_t mxs_mmc_irq_handler(int irq, void *dev_id) stat = readl(host->base + HW_SSP_CTRL1); writel(stat & MXS_MMC_IRQ_BITS, - host->base + HW_SSP_CTRL1 + MXS_CLR_ADDR); + host->base + HW_SSP_CTRL1 + MXS_CLR_ADDR); if ((stat & BM_SSP_CTRL1_SDIO_IRQ) && (stat & BM_SSP_CTRL1_SDIO_IRQ_EN)) mmc_signal_sdio_irq(host->mmc); @@ -550,7 +550,6 @@ static void mxs_mmc_start_cmd(struct mxs_mmc_host *host, default: dev_warn(mmc_dev(host->mmc), "%s: unknown MMC command\n", __func__); - break; } } -- 1.5.6.5 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 2011-12-06 13:41 ` [MXS MMC 2/5] Some cleanups for the MMC driver Lothar Waßmann @ 2011-12-06 13:41 ` Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() Lothar Waßmann ` (2 more replies) 2011-12-07 12:01 ` [MXS MMC 2/5] Some cleanups for the MMC driver Shawn Guo 1 sibling, 3 replies; 18+ messages in thread From: Lothar Waßmann @ 2011-12-06 13:41 UTC (permalink / raw) To: linux-arm-kernel Cc: Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball, Lothar Waßmann i.MX28 has four SSP/MMC units, only two of which are currently usable. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> --- arch/arm/mach-mxs/clock-mx28.c | 4 ++++ arch/arm/mach-mxs/devices/platform-mxs-mmc.c | 2 ++ 2 files changed, 6 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-mxs/clock-mx28.c b/arch/arm/mach-mxs/clock-mx28.c index fc86b04..b8cc458 100644 --- a/arch/arm/mach-mxs/clock-mx28.c +++ b/arch/arm/mach-mxs/clock-mx28.c @@ -625,6 +625,8 @@ static struct clk_lookup lookups[] = { _REGISTER_CLOCK("mxs-dma-apbx", NULL, xbus_clk) _REGISTER_CLOCK("mxs-mmc.0", NULL, ssp0_clk) _REGISTER_CLOCK("mxs-mmc.1", NULL, ssp1_clk) + _REGISTER_CLOCK("mxs-mmc.2", NULL, ssp2_clk) + _REGISTER_CLOCK("mxs-mmc.3", NULL, ssp3_clk) _REGISTER_CLOCK("flexcan.0", NULL, can0_clk) _REGISTER_CLOCK("flexcan.1", NULL, can1_clk) _REGISTER_CLOCK(NULL, "usb0", usb0_clk) @@ -774,6 +776,8 @@ int __init mx28_clocks_init(void) */ clk_set_parent(&ssp0_clk, &ref_io0_clk); clk_set_parent(&ssp1_clk, &ref_io0_clk); + clk_set_parent(&ssp2_clk, &ref_io1_clk); + clk_set_parent(&ssp3_clk, &ref_io1_clk); clk_enable(&cpu_clk); clk_enable(&hbus_clk); diff --git a/arch/arm/mach-mxs/devices/platform-mxs-mmc.c b/arch/arm/mach-mxs/devices/platform-mxs-mmc.c index 382dacb..bef9d92 100644 --- a/arch/arm/mach-mxs/devices/platform-mxs-mmc.c +++ b/arch/arm/mach-mxs/devices/platform-mxs-mmc.c @@ -41,6 +41,8 @@ const struct mxs_mxs_mmc_data mx23_mxs_mmc_data[] __initconst = { const struct mxs_mxs_mmc_data mx28_mxs_mmc_data[] __initconst = { mxs_mxs_mmc_data_entry(MX28, 0, 0), mxs_mxs_mmc_data_entry(MX28, 1, 1), + mxs_mxs_mmc_data_entry(MX28, 2, 2), + mxs_mxs_mmc_data_entry(MX28, 3, 3), }; #endif -- 1.5.6.5 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() 2011-12-06 13:41 ` [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 Lothar Waßmann @ 2011-12-06 13:41 ` Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 5/5] Add an appropriate MODULE_ALIAS Lothar Waßmann ` (2 more replies) 2011-12-06 19:10 ` [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 Wolfram Sang 2011-12-07 12:30 ` Shawn Guo 2 siblings, 3 replies; 18+ messages in thread From: Lothar Waßmann @ 2011-12-06 13:41 UTC (permalink / raw) To: linux-arm-kernel Cc: Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball, Lothar Waßmann Add an int return value to mxs_mmc_reset(), so that the return code of mxs_reset_block() can be promoted to the caller. Also check the return code of clk_enable() in the probe function. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> --- drivers/mmc/host/mxs-mmc.c | 26 +++++++++++++++++++++----- 1 files changed, 21 insertions(+), 5 deletions(-) diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c index a9b70d2..0003d03 100644 --- a/drivers/mmc/host/mxs-mmc.c +++ b/drivers/mmc/host/mxs-mmc.c @@ -185,11 +185,14 @@ static int mxs_mmc_get_cd(struct mmc_host *mmc) BM_SSP_STATUS_CARD_DETECT); } -static void mxs_mmc_reset(struct mxs_mmc_host *host) +static int mxs_mmc_reset(struct mxs_mmc_host *host) { + int ret; u32 ctrl0, ctrl1; - mxs_reset_block(host->base); + ret = mxs_reset_block(host->base); + if (ret) + return ret; ctrl0 = BM_SSP_CTRL0_IGNORE_CRC; ctrl1 = BF_SSP(0x3, CTRL1_SSP_MODE) | @@ -214,6 +217,7 @@ static void mxs_mmc_reset(struct mxs_mmc_host *host) writel(ctrl0, host->base + HW_SSP_CTRL0); writel(ctrl1, host->base + HW_SSP_CTRL1); + return 0; } static void mxs_mmc_start_cmd(struct mxs_mmc_host *host, @@ -712,9 +716,19 @@ static int mxs_mmc_probe(struct platform_device *pdev) ret = PTR_ERR(host->clk); goto out_iounmap; } - clk_enable(host->clk); + ret = clk_enable(host->clk); + if (ret) { + dev_err(mmc_dev(host->mmc), + "%s: failed to enable clock: %d\n", __func__, ret); + goto out_clk_put; + } - mxs_mmc_reset(host); + ret = mxs_mmc_reset(host); + if (ret) { + dev_err(mmc_dev(host->mmc), + "%s: failed to reset controller: %d\n", __func__, ret); + goto out_clk_put; + } dma_cap_zero(mask); dma_cap_set(DMA_SLAVE, mask); @@ -829,7 +843,9 @@ static int mxs_mmc_resume(struct device *dev) struct mxs_mmc_host *host = mmc_priv(mmc); int ret = 0; - clk_enable(host->clk); + ret = clk_enable(host->clk); + if (ret) + return ret; ret = mmc_resume_host(mmc); -- 1.5.6.5 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [MXS MMC 5/5] Add an appropriate MODULE_ALIAS 2011-12-06 13:41 ` [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() Lothar Waßmann @ 2011-12-06 13:41 ` Lothar Waßmann 2011-12-06 19:12 ` Wolfram Sang 2011-12-07 12:34 ` Shawn Guo 2011-12-06 19:12 ` [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() Wolfram Sang 2011-12-07 12:33 ` Shawn Guo 2 siblings, 2 replies; 18+ messages in thread From: Lothar Waßmann @ 2011-12-06 13:41 UTC (permalink / raw) To: linux-arm-kernel Cc: Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball, Lothar Waßmann Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> --- drivers/mmc/host/mxs-mmc.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c index 0003d03..1ba08ae 100644 --- a/drivers/mmc/host/mxs-mmc.c +++ b/drivers/mmc/host/mxs-mmc.c @@ -886,3 +886,4 @@ module_exit(mxs_mmc_exit); MODULE_DESCRIPTION("FREESCALE MXS MMC peripheral"); MODULE_AUTHOR("Freescale Semiconductor"); MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:mxs-mmc"); -- 1.5.6.5 ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 5/5] Add an appropriate MODULE_ALIAS 2011-12-06 13:41 ` [MXS MMC 5/5] Add an appropriate MODULE_ALIAS Lothar Waßmann @ 2011-12-06 19:12 ` Wolfram Sang 2011-12-07 12:34 ` Shawn Guo 1 sibling, 0 replies; 18+ messages in thread From: Wolfram Sang @ 2011-12-06 19:12 UTC (permalink / raw) To: Lothar Waßmann Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball [-- Attachment #1: Type: text/plain, Size: 336 bytes --] On Tue, Dec 06, 2011 at 02:41:30PM +0100, Lothar Waßmann wrote: > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Acked-by: Wolfram Sang <w.sang@pengutronix.de> -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ | [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 5/5] Add an appropriate MODULE_ALIAS 2011-12-06 13:41 ` [MXS MMC 5/5] Add an appropriate MODULE_ALIAS Lothar Waßmann 2011-12-06 19:12 ` Wolfram Sang @ 2011-12-07 12:34 ` Shawn Guo 1 sibling, 0 replies; 18+ messages in thread From: Shawn Guo @ 2011-12-07 12:34 UTC (permalink / raw) To: Lothar Waßmann Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball On Tue, Dec 06, 2011 at 02:41:30PM +0100, Lothar Waßmann wrote: > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> > --- > drivers/mmc/host/mxs-mmc.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c > index 0003d03..1ba08ae 100644 > --- a/drivers/mmc/host/mxs-mmc.c > +++ b/drivers/mmc/host/mxs-mmc.c > @@ -886,3 +886,4 @@ module_exit(mxs_mmc_exit); > MODULE_DESCRIPTION("FREESCALE MXS MMC peripheral"); > MODULE_AUTHOR("Freescale Semiconductor"); > MODULE_LICENSE("GPL"); > +MODULE_ALIAS("platform:mxs-mmc"); Acked-by: Shawn Guo <shawn.guo@linaro.org> -- Regards, Shawn ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() 2011-12-06 13:41 ` [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 5/5] Add an appropriate MODULE_ALIAS Lothar Waßmann @ 2011-12-06 19:12 ` Wolfram Sang 2011-12-07 12:33 ` Shawn Guo 2 siblings, 0 replies; 18+ messages in thread From: Wolfram Sang @ 2011-12-06 19:12 UTC (permalink / raw) To: Lothar Waßmann Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball [-- Attachment #1: Type: text/plain, Size: 1031 bytes --] On Tue, Dec 06, 2011 at 02:41:29PM +0100, Lothar Waßmann wrote: > Add an int return value to mxs_mmc_reset(), so that the return code of > mxs_reset_block() can be promoted to the caller. > Also check the return code of clk_enable() in the probe function. > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> > - clk_enable(host->clk); > + ret = clk_enable(host->clk); > + if (ret) { > + dev_err(mmc_dev(host->mmc), > + "%s: failed to enable clock: %d\n", __func__, ret); > + goto out_clk_put; > + } > > - mxs_mmc_reset(host); > + ret = mxs_mmc_reset(host); > + if (ret) { > + dev_err(mmc_dev(host->mmc), > + "%s: failed to reset controller: %d\n", __func__, ret); > + goto out_clk_put; > + } Why __func__ here? dev_err and the msg itself should be indication enough? Otherwise Acked-by: Wolfram Sang <w.sang@pengutronix.de> -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ | [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() 2011-12-06 13:41 ` [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 5/5] Add an appropriate MODULE_ALIAS Lothar Waßmann 2011-12-06 19:12 ` [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() Wolfram Sang @ 2011-12-07 12:33 ` Shawn Guo 2 siblings, 0 replies; 18+ messages in thread From: Shawn Guo @ 2011-12-07 12:33 UTC (permalink / raw) To: Lothar Waßmann Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball On Tue, Dec 06, 2011 at 02:41:29PM +0100, Lothar Waßmann wrote: > Add an int return value to mxs_mmc_reset(), so that the return code of > mxs_reset_block() can be promoted to the caller. > Also check the return code of clk_enable() in the probe function. > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Acked-by: Shawn Guo <shawn.guo@linaro.org> -- Regards, Shawn ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 2011-12-06 13:41 ` [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() Lothar Waßmann @ 2011-12-06 19:10 ` Wolfram Sang 2011-12-07 12:30 ` Shawn Guo 2 siblings, 0 replies; 18+ messages in thread From: Wolfram Sang @ 2011-12-06 19:10 UTC (permalink / raw) To: Lothar Waßmann Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball [-- Attachment #1: Type: text/plain, Size: 416 bytes --] On Tue, Dec 06, 2011 at 02:41:28PM +0100, Lothar Waßmann wrote: > i.MX28 has four SSP/MMC units, only two of which are currently > usable. > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Reviewed-by: Wolfram Sang <w.sang@pengutronix.de> -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ | [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 2011-12-06 13:41 ` [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() Lothar Waßmann 2011-12-06 19:10 ` [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 Wolfram Sang @ 2011-12-07 12:30 ` Shawn Guo 2 siblings, 0 replies; 18+ messages in thread From: Shawn Guo @ 2011-12-07 12:30 UTC (permalink / raw) To: Lothar Waßmann Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball On Tue, Dec 06, 2011 at 02:41:28PM +0100, Lothar Waßmann wrote: > i.MX28 has four SSP/MMC units, only two of which are currently > usable. > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Applied, thanks. Please add prefix 'ARM: mxs:' or 'arm/mxs' to make the patch look like the below in the future submission. [PATCH 3/5] ARM: mxs: Add support for SSP/MMC ports 2 & 3 I fixed it this time. -- Regards, Shawn ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 2/5] Some cleanups for the MMC driver 2011-12-06 13:41 ` [MXS MMC 2/5] Some cleanups for the MMC driver Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 Lothar Waßmann @ 2011-12-07 12:01 ` Shawn Guo 2011-12-07 11:57 ` Lothar Waßmann 1 sibling, 1 reply; 18+ messages in thread From: Shawn Guo @ 2011-12-07 12:01 UTC (permalink / raw) To: Lothar Waßmann Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball I'm fine with this cosmetic patch with the comments below addressed. On Tue, Dec 06, 2011 at 02:41:27PM +0100, Lothar Waßmann wrote: > - Remove bogus parens around numerical arguments in #define's > - When defining bit masks, use the #def for the shift count > instead of repeating the numbers This change brings a few 'line over 80 characters' checkpatch warnings. > - Remove bogus whitespace in indentation > - Remove 'break' at end of switch statement > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> > --- > drivers/mmc/host/mxs-mmc.c | 57 +++++++++++++++++++++---------------------- > 1 files changed, 28 insertions(+), 29 deletions(-) > > diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c [...] > @@ -277,7 +277,7 @@ static irqreturn_t mxs_mmc_irq_handler(int irq, void *dev_id) > > stat = readl(host->base + HW_SSP_CTRL1); > writel(stat & MXS_MMC_IRQ_BITS, > - host->base + HW_SSP_CTRL1 + MXS_CLR_ADDR); This is an intended indentation with 7 spaces. Regards, Shawn > + host->base + HW_SSP_CTRL1 + MXS_CLR_ADDR); ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 2/5] Some cleanups for the MMC driver 2011-12-07 12:01 ` [MXS MMC 2/5] Some cleanups for the MMC driver Shawn Guo @ 2011-12-07 11:57 ` Lothar Waßmann 2011-12-07 12:16 ` Shawn Guo 2011-12-07 12:50 ` Uwe Kleine-König 0 siblings, 2 replies; 18+ messages in thread From: Lothar Waßmann @ 2011-12-07 11:57 UTC (permalink / raw) To: Shawn Guo Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball Hi, Shawn Guo writes: > I'm fine with this cosmetic patch with the comments below addressed. > > On Tue, Dec 06, 2011 at 02:41:27PM +0100, Lothar Waßmann wrote: > > - Remove bogus parens around numerical arguments in #define's > > - When defining bit masks, use the #def for the shift count > > instead of repeating the numbers > > This change brings a few 'line over 80 characters' checkpatch warnings. > will fix. > > - Remove bogus whitespace in indentation > > - Remove 'break' at end of switch statement > > > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> > > --- > > drivers/mmc/host/mxs-mmc.c | 57 +++++++++++++++++++++---------------------- > > 1 files changed, 28 insertions(+), 29 deletions(-) > > > > diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c > [...] > > @@ -277,7 +277,7 @@ static irqreturn_t mxs_mmc_irq_handler(int irq, void *dev_id) > > > > stat = readl(host->base + HW_SSP_CTRL1); > > writel(stat & MXS_MMC_IRQ_BITS, > > - host->base + HW_SSP_CTRL1 + MXS_CLR_ADDR); > > This is an intended indentation with 7 spaces. > According to Documentation/CodingStyle spaces are never used for indentation (except in documentation, Kconfig and comments). Lothar Waßmann -- ___________________________________________________________ Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10 Geschäftsführer: Matthias Kaussen Handelsregistereintrag: Amtsgericht Aachen, HRB 4996 www.karo-electronics.de | info@karo-electronics.de ___________________________________________________________ ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 2/5] Some cleanups for the MMC driver 2011-12-07 11:57 ` Lothar Waßmann @ 2011-12-07 12:16 ` Shawn Guo 2011-12-07 12:50 ` Uwe Kleine-König 1 sibling, 0 replies; 18+ messages in thread From: Shawn Guo @ 2011-12-07 12:16 UTC (permalink / raw) To: Lothar Waßmann Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball On Wed, Dec 07, 2011 at 12:57:44PM +0100, Lothar Waßmann wrote: > Hi, > > Shawn Guo writes: > > I'm fine with this cosmetic patch with the comments below addressed. > > > > On Tue, Dec 06, 2011 at 02:41:27PM +0100, Lothar Waßmann wrote: > > > - Remove bogus parens around numerical arguments in #define's > > > - When defining bit masks, use the #def for the shift count > > > instead of repeating the numbers > > > > This change brings a few 'line over 80 characters' checkpatch warnings. > > > will fix. > > > > - Remove bogus whitespace in indentation > > > - Remove 'break' at end of switch statement > > > > > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> > > > --- > > > drivers/mmc/host/mxs-mmc.c | 57 +++++++++++++++++++++---------------------- > > > 1 files changed, 28 insertions(+), 29 deletions(-) > > > > > > diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c > > [...] > > > @@ -277,7 +277,7 @@ static irqreturn_t mxs_mmc_irq_handler(int irq, void *dev_id) > > > > > > stat = readl(host->base + HW_SSP_CTRL1); > > > writel(stat & MXS_MMC_IRQ_BITS, > > > - host->base + HW_SSP_CTRL1 + MXS_CLR_ADDR); > > > > This is an intended indentation with 7 spaces. > > > According to Documentation/CodingStyle spaces are never used for > indentation (except in documentation, Kconfig and comments). > Such nice indentation is all over this driver and even kernel tree. You may want to leave it as it is or fix them all over the driver. -- Regards, Shawn ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 2/5] Some cleanups for the MMC driver 2011-12-07 11:57 ` Lothar Waßmann 2011-12-07 12:16 ` Shawn Guo @ 2011-12-07 12:50 ` Uwe Kleine-König 1 sibling, 0 replies; 18+ messages in thread From: Uwe Kleine-König @ 2011-12-07 12:50 UTC (permalink / raw) To: Lothar Waßmann Cc: Shawn Guo, linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball On Wed, Dec 07, 2011 at 12:57:44PM +0100, Lothar Waßmann wrote: > Hi, > > Shawn Guo writes: > > I'm fine with this cosmetic patch with the comments below addressed. > > > > On Tue, Dec 06, 2011 at 02:41:27PM +0100, Lothar Waßmann wrote: > > > - Remove bogus parens around numerical arguments in #define's > > > - When defining bit masks, use the #def for the shift count > > > instead of repeating the numbers > > > > This change brings a few 'line over 80 characters' checkpatch warnings. > > > will fix. > > > > - Remove bogus whitespace in indentation > > > - Remove 'break' at end of switch statement > > > > > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> > > > --- > > > drivers/mmc/host/mxs-mmc.c | 57 +++++++++++++++++++++---------------------- > > > 1 files changed, 28 insertions(+), 29 deletions(-) > > > > > > diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c > > [...] > > > @@ -277,7 +277,7 @@ static irqreturn_t mxs_mmc_irq_handler(int irq, void *dev_id) > > > > > > stat = readl(host->base + HW_SSP_CTRL1); > > > writel(stat & MXS_MMC_IRQ_BITS, > > > - host->base + HW_SSP_CTRL1 + MXS_CLR_ADDR); > > > > This is an intended indentation with 7 spaces. > > > According to Documentation/CodingStyle spaces are never used for > indentation (except in documentation, Kconfig and comments). AFAIK "don't use spaces" only applies to the first line of a statement. When breaking long lines using spaces to align to the containing parenthesis is quite common (though I don't like it personally). The rule for follow-up lines is only: Descendants are always substantially shorter than the parent and are placed substantially to the right. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 1/5] Fix grammatical error in comment 2011-12-06 13:41 ` [MXS MMC 1/5] Fix grammatical error in comment Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 2/5] Some cleanups for the MMC driver Lothar Waßmann @ 2011-12-06 19:05 ` Wolfram Sang 2011-12-07 11:00 ` Shawn Guo 2 siblings, 0 replies; 18+ messages in thread From: Wolfram Sang @ 2011-12-06 19:05 UTC (permalink / raw) To: Lothar Waßmann Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball [-- Attachment #1: Type: text/plain, Size: 336 bytes --] On Tue, Dec 06, 2011 at 02:41:26PM +0100, Lothar Waßmann wrote: > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Acked-by: Wolfram Sang <w.sang@pengutronix.de> -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ | [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [MXS MMC 1/5] Fix grammatical error in comment 2011-12-06 13:41 ` [MXS MMC 1/5] Fix grammatical error in comment Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 2/5] Some cleanups for the MMC driver Lothar Waßmann 2011-12-06 19:05 ` [MXS MMC 1/5] Fix grammatical error in comment Wolfram Sang @ 2011-12-07 11:00 ` Shawn Guo 2 siblings, 0 replies; 18+ messages in thread From: Shawn Guo @ 2011-12-07 11:00 UTC (permalink / raw) To: Lothar Waßmann Cc: linux-arm-kernel, Shawn Guo, Sascha Hauer, linux-mmc, linux-kernel, Chris Ball On Tue, Dec 06, 2011 at 02:41:26PM +0100, Lothar Waßmann wrote: > > Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> > --- > arch/arm/mach-mxs/clock-mx28.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/mach-mxs/clock-mx28.c b/arch/arm/mach-mxs/clock-mx28.c > index da6e4aa..fc86b04 100644 > --- a/arch/arm/mach-mxs/clock-mx28.c > +++ b/arch/arm/mach-mxs/clock-mx28.c > @@ -554,7 +554,7 @@ static struct clk rtc_clk = { > .parent = &ref_xtal_clk, > }; > > -/* usb_clk gate is controlled in DIGCTRL other than CLKCTRL */ > +/* usb_clk gate is controlled in DIGCTRL rather than CLKCTRL */ > static struct clk usb0_clk = { > .enable_reg = DIGCTRL_BASE_ADDR, > .enable_shift = 2, > -- Acked-by: Shawn Guo <shawn.guo@linaro.org> -- Regards, Shawn ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2011-12-07 12:50 UTC | newest] Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-12-06 13:41 [MXS MMC 0/5] Some cleanups and fixes for the MXS MMC subsystem Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 1/5] Fix grammatical error in comment Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 2/5] Some cleanups for the MMC driver Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() Lothar Waßmann 2011-12-06 13:41 ` [MXS MMC 5/5] Add an appropriate MODULE_ALIAS Lothar Waßmann 2011-12-06 19:12 ` Wolfram Sang 2011-12-07 12:34 ` Shawn Guo 2011-12-06 19:12 ` [MXS MMC 4/5] Check the return codes of clk_enable() and mxs_reset_block() Wolfram Sang 2011-12-07 12:33 ` Shawn Guo 2011-12-06 19:10 ` [MXS MMC 3/5] Add support for SSP/MMC ports 2 & 3 Wolfram Sang 2011-12-07 12:30 ` Shawn Guo 2011-12-07 12:01 ` [MXS MMC 2/5] Some cleanups for the MMC driver Shawn Guo 2011-12-07 11:57 ` Lothar Waßmann 2011-12-07 12:16 ` Shawn Guo 2011-12-07 12:50 ` Uwe Kleine-König 2011-12-06 19:05 ` [MXS MMC 1/5] Fix grammatical error in comment Wolfram Sang 2011-12-07 11:00 ` Shawn Guo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
Powered by JetHome