2012-10-18 17:20:55

by Sangho Yi

[permalink] [raw]
Subject: [PATCH 1/4] mmc: core: sd.c: Added a space after comma on an argument definition

Added a space between comma and an argument on the function definition

Signed-off-by: Sangho Yi <[email protected]>
---
drivers/mmc/core/sd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index 74972c2..91a73d7 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -44,7 +44,7 @@ static const unsigned int tacc_mant[] = {
35, 40, 45, 50, 55, 60, 70, 80,
};

-#define UNSTUFF_BITS(resp,start,size) \
+#define UNSTUFF_BITS(resp, start, size) \
({ \
const int __size = size; \
const u32 __mask = (__size < 32 ? 1 << __size : 0) - 1; \
--
1.7.9.5


2012-10-18 17:21:03

by Sangho Yi

[permalink] [raw]
Subject: [PATCH 2/4] mmc: core: sd.c: Made alignment for the multiline function calls

I made the alignment based on the strict coding style as follows;
CHECK: Alignment should match open parenthesis

Signed-off-by: Sangho Yi <[email protected]>
---
drivers/mmc/core/sd.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index 91a73d7..7c6b38e 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -165,7 +165,7 @@ static int mmc_decode_csd(struct mmc_card *card)
break;
default:
pr_err("%s: unrecognised CSD structure version %d\n",
- mmc_hostname(card->host), csd_struct);
+ mmc_hostname(card->host), csd_struct);
return -EINVAL;
}

@@ -189,7 +189,7 @@ static int mmc_decode_scr(struct mmc_card *card)
scr_struct = UNSTUFF_BITS(resp, 60, 4);
if (scr_struct != 0) {
pr_err("%s: unrecognised SCR structure version %d\n",
- mmc_hostname(card->host), scr_struct);
+ mmc_hostname(card->host), scr_struct);
return -EINVAL;
}

@@ -305,7 +305,7 @@ static int mmc_read_switch(struct mmc_card *card)
goto out;

pr_warning("%s: problem reading Bus Speed modes.\n",
- mmc_hostname(card->host));
+ mmc_hostname(card->host));
err = 0;

goto out;
@@ -429,7 +429,7 @@ static int sd_select_driver_type(struct mmc_card *card, u8 *status)

if ((status[15] & 0xF) != drive_strength) {
pr_warning("%s: Problem setting drive strength!\n",
- mmc_hostname(card->host));
+ mmc_hostname(card->host));
return 0;
}

@@ -508,7 +508,7 @@ static int sd_set_bus_speed_mode(struct mmc_card *card, u8 *status)

if ((status[16] & 0xF) != card->sd_bus_speed)
pr_warning("%s: Problem setting bus speed mode!\n",
- mmc_hostname(card->host));
+ mmc_hostname(card->host));
else {
mmc_set_timing(card->host, timing);
mmc_set_clock(card->host, card->sw_caps.uhs_max_dtr);
@@ -588,7 +588,7 @@ static int sd_set_current_limit(struct mmc_card *card, u8 *status)

if (((status[15] >> 4) & 0x0F) != current_limit)
pr_warning("%s: Problem setting current limit!\n",
- mmc_hostname(card->host));
+ mmc_hostname(card->host));

}

@@ -662,9 +662,9 @@ out:
}

MMC_DEV_ATTR(cid, "%08x%08x%08x%08x\n", card->raw_cid[0], card->raw_cid[1],
- card->raw_cid[2], card->raw_cid[3]);
+ card->raw_cid[2], card->raw_cid[3]);
MMC_DEV_ATTR(csd, "%08x%08x%08x%08x\n", card->raw_csd[0], card->raw_csd[1],
- card->raw_csd[2], card->raw_csd[3]);
+ card->raw_csd[2], card->raw_csd[3]);
MMC_DEV_ATTR(scr, "%08x%08x\n", card->raw_scr[0], card->raw_scr[1]);
MMC_DEV_ATTR(date, "%02d/%04d\n", card->cid.month, card->cid.year);
MMC_DEV_ATTR(erase_size, "%u\n", card->erase_size << 9);
@@ -758,7 +758,7 @@ try_again:
* Switch procedure. SPI mode doesn't support CMD11.
*/
if (!mmc_host_is_spi(host) && rocr &&
- ((*rocr & 0x41000000) == 0x41000000)) {
+ ((*rocr & 0x41000000) == 0x41000000)) {
err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_180, true);
if (err) {
ocr &= ~SD_OCR_S18R;
@@ -989,7 +989,7 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr,
* Switch to wider bus (if supported).
*/
if ((host->caps & MMC_CAP_4_BIT_DATA) &&
- (card->scr.bus_widths & SD_SCR_BUS_WIDTH_4)) {
+ (card->scr.bus_widths & SD_SCR_BUS_WIDTH_4)) {
err = mmc_app_set_bus_width(card, MMC_BUS_WIDTH_4);
if (err)
goto free_card;
@@ -1227,7 +1227,7 @@ err:
mmc_detach_bus(host);

pr_err("%s: error %d whilst initialising SD card\n",
- mmc_hostname(host), err);
+ mmc_hostname(host), err);

return err;
}
--
1.7.9.5

2012-10-18 17:21:07

by Sangho Yi

[permalink] [raw]
Subject: [PATCH 4/4] mmc: core: sd.c: Fixed line over 80 chars

Fixed line over 80 characters per line.

Signed-off-by: Sangho Yi <[email protected]>
---
drivers/mmc/core/sd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index 0622b9b..ff82b7d 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -758,7 +758,8 @@ try_again:
*/
if (!mmc_host_is_spi(host) && rocr &&
((*rocr & 0x41000000) == 0x41000000)) {
- err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_180, true);
+ err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_180,
+ true);
if (err) {
ocr &= ~SD_OCR_S18R;
goto try_again;
--
1.7.9.5

2012-10-18 17:21:44

by Sangho Yi

[permalink] [raw]
Subject: [PATCH 3/4] mmc: core: sd.c: Modified pr_warning to pr_warn

Fixed the coding style warning;
from pr_warning(...) to pr_warn(...)

Signed-off-by: Sangho Yi <[email protected]>
---
drivers/mmc/core/sd.c | 41 ++++++++++++++++++++---------------------
1 file changed, 20 insertions(+), 21 deletions(-)

diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index 7c6b38e..0622b9b 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -219,7 +219,7 @@ static int mmc_read_ssr(struct mmc_card *card)
u32 *ssr;

if (!(card->csd.cmdclass & CCC_APP_SPEC)) {
- pr_warning("%s: card lacks mandatory SD Status "
+ pr_warn("%s: card lacks mandatory SD Status "
"function.\n", mmc_hostname(card->host));
return 0;
}
@@ -230,7 +230,7 @@ static int mmc_read_ssr(struct mmc_card *card)

err = mmc_app_sd_status(card, ssr);
if (err) {
- pr_warning("%s: problem reading SD Status "
+ pr_warn("%s: problem reading SD Status "
"register.\n", mmc_hostname(card->host));
err = 0;
goto out;
@@ -254,7 +254,7 @@ static int mmc_read_ssr(struct mmc_card *card)
card->ssr.erase_offset = eo * 1000;
}
} else {
- pr_warning("%s: SD Status: Invalid Allocation Unit "
+ pr_warn("%s: SD Status: Invalid Allocation Unit "
"size.\n", mmc_hostname(card->host));
}
out:
@@ -274,7 +274,7 @@ static int mmc_read_switch(struct mmc_card *card)
return 0;

if (!(card->csd.cmdclass & CCC_SWITCH)) {
- pr_warning("%s: card lacks mandatory switch "
+ pr_warn("%s: card lacks mandatory switch "
"function, performance might suffer.\n",
mmc_hostname(card->host));
return 0;
@@ -304,8 +304,8 @@ static int mmc_read_switch(struct mmc_card *card)
if (err != -EINVAL && err != -ENOSYS && err != -EFAULT)
goto out;

- pr_warning("%s: problem reading Bus Speed modes.\n",
- mmc_hostname(card->host));
+ pr_warn("%s: problem reading Bus Speed modes.\n",
+ mmc_hostname(card->host));
err = 0;

goto out;
@@ -360,8 +360,7 @@ int mmc_sd_switch_hs(struct mmc_card *card)
goto out;

if ((status[16] & 0xF) != 1) {
- pr_warning("%s: Problem switching card "
- "into high-speed mode!\n",
+ pr_warn("%s: Problem switching card into high-speed mode!\n",
mmc_hostname(card->host));
err = 0;
} else {
@@ -428,8 +427,8 @@ static int sd_select_driver_type(struct mmc_card *card, u8 *status)
return err;

if ((status[15] & 0xF) != drive_strength) {
- pr_warning("%s: Problem setting drive strength!\n",
- mmc_hostname(card->host));
+ pr_warn("%s: Problem setting drive strength!\n",
+ mmc_hostname(card->host));
return 0;
}

@@ -507,8 +506,8 @@ static int sd_set_bus_speed_mode(struct mmc_card *card, u8 *status)
return err;

if ((status[16] & 0xF) != card->sd_bus_speed)
- pr_warning("%s: Problem setting bus speed mode!\n",
- mmc_hostname(card->host));
+ pr_warn("%s: Problem setting bus speed mode!\n",
+ mmc_hostname(card->host));
else {
mmc_set_timing(card->host, timing);
mmc_set_clock(card->host, card->sw_caps.uhs_max_dtr);
@@ -587,8 +586,8 @@ static int sd_set_current_limit(struct mmc_card *card, u8 *status)
return err;

if (((status[15] >> 4) & 0x0F) != current_limit)
- pr_warning("%s: Problem setting current limit!\n",
- mmc_hostname(card->host));
+ pr_warn("%s: Problem setting current limit!\n",
+ mmc_hostname(card->host));

}

@@ -852,7 +851,7 @@ int mmc_sd_setup_card(struct mmc_host *host, struct mmc_card *card,
}

if (ro < 0) {
- pr_warning("%s: host does not "
+ pr_warn("%s: host does not "
"support reading read-only "
"switch. assuming write-enable.\n",
mmc_hostname(host));
@@ -1179,17 +1178,17 @@ int mmc_attach_sd(struct mmc_host *host)
* support.
*/
if (ocr & 0x7F) {
- pr_warning("%s: card claims to support voltages "
- "below the defined range. These will be ignored.\n",
- mmc_hostname(host));
+ pr_warn("%s: card claims to support voltages "
+ "below the defined range. These will be ignored.\n",
+ mmc_hostname(host));
ocr &= ~0x7F;
}

if ((ocr & MMC_VDD_165_195) &&
!(host->ocr_avail_sd & MMC_VDD_165_195)) {
- pr_warning("%s: SD card claims to support the "
- "incompletely defined 'low voltage range'. This "
- "will be ignored.\n", mmc_hostname(host));
+ pr_warn("%s: SD card claims to support the "
+ "incompletely defined 'low voltage range'. This "
+ "will be ignored.\n", mmc_hostname(host));
ocr &= ~MMC_VDD_165_195;
}

--
1.7.9.5

2012-10-18 17:55:43

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH 1/4] mmc: core: sd.c: Added a space after comma on an argument definition

On Fri, 2012-10-19 at 02:19 +0900, Sangho Yi wrote:
> Added a space between comma and an argument on the function definition

Hi Sangho.

Please don't just be a checkpatch robot, but look at the
code and see if you can improve it.

> diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
> index 74972c2..91a73d7 100644
> --- a/drivers/mmc/core/sd.c
> +++ b/drivers/mmc/core/sd.c
> @@ -44,7 +44,7 @@ static const unsigned int tacc_mant[] = {
> 35, 40, 45, 50, 55, 60, 70, 80,
> };
>
> -#define UNSTUFF_BITS(resp,start,size) \
> +#define UNSTUFF_BITS(resp, start, size) \
> ({ \
> const int __size = size; \
> const u32 __mask = (__size < 32 ? 1 << __size : 0) - 1; \

I'd prefer that UNSTUFF_BITS be converted from
a statement expression macro to a proper function.

Something like:

drivers/mmc/core/sd.c | 118 +++++++++++++++++++++++++-------------------------
1 file changed, 59 insertions(+), 59 deletions(-)

diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index 74972c2..ec32ba48 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -44,19 +44,19 @@ static const unsigned int tacc_mant[] = {
35, 40, 45, 50, 55, 60, 70, 80,
};

-#define UNSTUFF_BITS(resp,start,size) \
- ({ \
- const int __size = size; \
- const u32 __mask = (__size < 32 ? 1 << __size : 0) - 1; \
- const int __off = 3 - ((start) / 32); \
- const int __shft = (start) & 31; \
- u32 __res; \
- \
- __res = resp[__off] >> __shft; \
- if (__size + __shft > 32) \
- __res |= resp[__off-1] << ((32 - __shft) % 32); \
- __res & __mask; \
- })
+static __always_inline u32 unstuff_bits(u32 resp[4], int start, int size)
+{
+ const u32 mask = (size < 32 ? 1 << size : 0) - 1;
+ const int offset = 3 - (start / 32);
+ const int shift = start & 31;
+ u32 res;
+
+ res = resp[offset] >> shift;
+ if (size + shift > 32)
+ res |= resp[offset - 1] << ((32 - shift) % 32);
+
+ return res & mask;
+}

/*
* Given the decoded CSD structure, decode the raw CID to our CID structure.
@@ -71,18 +71,18 @@ void mmc_decode_cid(struct mmc_card *card)
* SD doesn't currently have a version field so we will
* have to assume we can parse this.
*/
- card->cid.manfid = UNSTUFF_BITS(resp, 120, 8);
- card->cid.oemid = UNSTUFF_BITS(resp, 104, 16);
- card->cid.prod_name[0] = UNSTUFF_BITS(resp, 96, 8);
- card->cid.prod_name[1] = UNSTUFF_BITS(resp, 88, 8);
- card->cid.prod_name[2] = UNSTUFF_BITS(resp, 80, 8);
- card->cid.prod_name[3] = UNSTUFF_BITS(resp, 72, 8);
- card->cid.prod_name[4] = UNSTUFF_BITS(resp, 64, 8);
- card->cid.hwrev = UNSTUFF_BITS(resp, 60, 4);
- card->cid.fwrev = UNSTUFF_BITS(resp, 56, 4);
- card->cid.serial = UNSTUFF_BITS(resp, 24, 32);
- card->cid.year = UNSTUFF_BITS(resp, 12, 8);
- card->cid.month = UNSTUFF_BITS(resp, 8, 4);
+ card->cid.manfid = unstuff_bits(resp, 120, 8);
+ card->cid.oemid = unstuff_bits(resp, 104, 16);
+ card->cid.prod_name[0] = unstuff_bits(resp, 96, 8);
+ card->cid.prod_name[1] = unstuff_bits(resp, 88, 8);
+ card->cid.prod_name[2] = unstuff_bits(resp, 80, 8);
+ card->cid.prod_name[3] = unstuff_bits(resp, 72, 8);
+ card->cid.prod_name[4] = unstuff_bits(resp, 64, 8);
+ card->cid.hwrev = unstuff_bits(resp, 60, 4);
+ card->cid.fwrev = unstuff_bits(resp, 56, 4);
+ card->cid.serial = unstuff_bits(resp, 24, 32);
+ card->cid.year = unstuff_bits(resp, 12, 8);
+ card->cid.month = unstuff_bits(resp, 8, 4);

card->cid.year += 2000; /* SD cards year offset */
}
@@ -96,36 +96,36 @@ static int mmc_decode_csd(struct mmc_card *card)
unsigned int e, m, csd_struct;
u32 *resp = card->raw_csd;

- csd_struct = UNSTUFF_BITS(resp, 126, 2);
+ csd_struct = unstuff_bits(resp, 126, 2);

switch (csd_struct) {
case 0:
- m = UNSTUFF_BITS(resp, 115, 4);
- e = UNSTUFF_BITS(resp, 112, 3);
+ m = unstuff_bits(resp, 115, 4);
+ e = unstuff_bits(resp, 112, 3);
csd->tacc_ns = (tacc_exp[e] * tacc_mant[m] + 9) / 10;
- csd->tacc_clks = UNSTUFF_BITS(resp, 104, 8) * 100;
+ csd->tacc_clks = unstuff_bits(resp, 104, 8) * 100;

- m = UNSTUFF_BITS(resp, 99, 4);
- e = UNSTUFF_BITS(resp, 96, 3);
+ m = unstuff_bits(resp, 99, 4);
+ e = unstuff_bits(resp, 96, 3);
csd->max_dtr = tran_exp[e] * tran_mant[m];
- csd->cmdclass = UNSTUFF_BITS(resp, 84, 12);
+ csd->cmdclass = unstuff_bits(resp, 84, 12);

- e = UNSTUFF_BITS(resp, 47, 3);
- m = UNSTUFF_BITS(resp, 62, 12);
+ e = unstuff_bits(resp, 47, 3);
+ m = unstuff_bits(resp, 62, 12);
csd->capacity = (1 + m) << (e + 2);

- csd->read_blkbits = UNSTUFF_BITS(resp, 80, 4);
- csd->read_partial = UNSTUFF_BITS(resp, 79, 1);
- csd->write_misalign = UNSTUFF_BITS(resp, 78, 1);
- csd->read_misalign = UNSTUFF_BITS(resp, 77, 1);
- csd->r2w_factor = UNSTUFF_BITS(resp, 26, 3);
- csd->write_blkbits = UNSTUFF_BITS(resp, 22, 4);
- csd->write_partial = UNSTUFF_BITS(resp, 21, 1);
+ csd->read_blkbits = unstuff_bits(resp, 80, 4);
+ csd->read_partial = unstuff_bits(resp, 79, 1);
+ csd->write_misalign = unstuff_bits(resp, 78, 1);
+ csd->read_misalign = unstuff_bits(resp, 77, 1);
+ csd->r2w_factor = unstuff_bits(resp, 26, 3);
+ csd->write_blkbits = unstuff_bits(resp, 22, 4);
+ csd->write_partial = unstuff_bits(resp, 21, 1);

- if (UNSTUFF_BITS(resp, 46, 1)) {
+ if (unstuff_bits(resp, 46, 1)) {
csd->erase_size = 1;
} else if (csd->write_blkbits >= 9) {
- csd->erase_size = UNSTUFF_BITS(resp, 39, 7) + 1;
+ csd->erase_size = unstuff_bits(resp, 39, 7) + 1;
csd->erase_size <<= csd->write_blkbits - 9;
}
break;
@@ -141,17 +141,17 @@ static int mmc_decode_csd(struct mmc_card *card)
csd->tacc_ns = 0; /* Unused */
csd->tacc_clks = 0; /* Unused */

- m = UNSTUFF_BITS(resp, 99, 4);
- e = UNSTUFF_BITS(resp, 96, 3);
+ m = unstuff_bits(resp, 99, 4);
+ e = unstuff_bits(resp, 96, 3);
csd->max_dtr = tran_exp[e] * tran_mant[m];
- csd->cmdclass = UNSTUFF_BITS(resp, 84, 12);
- csd->c_size = UNSTUFF_BITS(resp, 48, 22);
+ csd->cmdclass = unstuff_bits(resp, 84, 12);
+ csd->c_size = unstuff_bits(resp, 48, 22);

/* SDXC cards have a minimum C_SIZE of 0x00FFFF */
if (csd->c_size >= 0xFFFF)
mmc_card_set_ext_capacity(card);

- m = UNSTUFF_BITS(resp, 48, 22);
+ m = unstuff_bits(resp, 48, 22);
csd->capacity = (1 + m) << 10;

csd->read_blkbits = 9;
@@ -186,26 +186,26 @@ static int mmc_decode_scr(struct mmc_card *card)
resp[3] = card->raw_scr[1];
resp[2] = card->raw_scr[0];

- scr_struct = UNSTUFF_BITS(resp, 60, 4);
+ scr_struct = unstuff_bits(resp, 60, 4);
if (scr_struct != 0) {
pr_err("%s: unrecognised SCR structure version %d\n",
mmc_hostname(card->host), scr_struct);
return -EINVAL;
}

- scr->sda_vsn = UNSTUFF_BITS(resp, 56, 4);
- scr->bus_widths = UNSTUFF_BITS(resp, 48, 4);
+ scr->sda_vsn = unstuff_bits(resp, 56, 4);
+ scr->bus_widths = unstuff_bits(resp, 48, 4);
if (scr->sda_vsn == SCR_SPEC_VER_2)
/* Check if Physical Layer Spec v3.0 is supported */
- scr->sda_spec3 = UNSTUFF_BITS(resp, 47, 1);
+ scr->sda_spec3 = unstuff_bits(resp, 47, 1);

- if (UNSTUFF_BITS(resp, 55, 1))
+ if (unstuff_bits(resp, 55, 1))
card->erased_byte = 0xFF;
else
card->erased_byte = 0x0;

if (scr->sda_spec3)
- scr->cmds = UNSTUFF_BITS(resp, 32, 2);
+ scr->cmds = unstuff_bits(resp, 32, 2);
return 0;
}

@@ -240,15 +240,15 @@ static int mmc_read_ssr(struct mmc_card *card)
ssr[i] = be32_to_cpu(ssr[i]);

/*
- * UNSTUFF_BITS only works with four u32s so we have to offset the
+ * unstuff_bits only works with four u32s so we have to offset the
* bitfield positions accordingly.
*/
- au = UNSTUFF_BITS(ssr, 428 - 384, 4);
+ au = unstuff_bits(ssr, 428 - 384, 4);
if (au > 0 && au <= 9) {
card->ssr.au = 1 << (au + 4);
- es = UNSTUFF_BITS(ssr, 408 - 384, 16);
- et = UNSTUFF_BITS(ssr, 402 - 384, 6);
- eo = UNSTUFF_BITS(ssr, 400 - 384, 2);
+ es = unstuff_bits(ssr, 408 - 384, 16);
+ et = unstuff_bits(ssr, 402 - 384, 6);
+ eo = unstuff_bits(ssr, 400 - 384, 2);
if (es && et) {
card->ssr.erase_timeout = (et * 1000) / es;
card->ssr.erase_offset = eo * 1000;