• R/O
  • HTTP
  • SSH
  • HTTPS

linux-2.4.36: コミット

2.4.36-stable kernel tree


コミットメタ情報

リビジョン3b05ac446d0c62a056be02754f9e815a521b1624 (tree)
日時2006-12-05 17:22:52
作者Jean Delvare <khali@linu...>
コミッターWilly Tarreau

ログメッセージ

[PATCH] i2c cleanup : simplify code

Simplify core i2c code as was done in the external i2c tree. There are
three type of changes:
* Flatten imbricated if/else constructs
* Drop useless masking
* Change void* parameters to char* to avoid having to cast them

everywhere we use them

Signed-off-by: Jean Delvare <khali@linux-fr.org>

変更サマリ

差分

--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -548,12 +548,10 @@ int i2c_use_client(struct i2c_client *client)
548548 if (client->flags & I2C_CLIENT_ALLOW_USE) {
549549 if (client->flags & I2C_CLIENT_ALLOW_MULTIPLE_USE)
550550 client->usage_count++;
551- else {
552- if(client->usage_count > 0)
553- return -EBUSY;
554- else
555- client->usage_count++;
556- }
551+ else if (client->usage_count > 0)
552+ return -EBUSY;
553+ else
554+ client->usage_count++;
557555 }
558556
559557 i2c_inc_use_client(client);
@@ -974,7 +972,7 @@ extern s32 i2c_smbus_read_byte(struct i2c_client * client)
974972 I2C_SMBUS_READ,0,I2C_SMBUS_BYTE, &data))
975973 return -1;
976974 else
977- return 0x0FF & data.byte;
975+ return data.byte;
978976 }
979977
980978 extern s32 i2c_smbus_write_byte(struct i2c_client * client, u8 value)
@@ -990,7 +988,7 @@ extern s32 i2c_smbus_read_byte_data(struct i2c_client * client, u8 command)
990988 I2C_SMBUS_READ,command, I2C_SMBUS_BYTE_DATA,&data))
991989 return -1;
992990 else
993- return 0x0FF & data.byte;
991+ return data.byte;
994992 }
995993
996994 extern s32 i2c_smbus_write_byte_data(struct i2c_client * client, u8 command,
@@ -1010,7 +1008,7 @@ extern s32 i2c_smbus_read_word_data(struct i2c_client * client, u8 command)
10101008 I2C_SMBUS_READ,command, I2C_SMBUS_WORD_DATA, &data))
10111009 return -1;
10121010 else
1013- return 0x0FFFF & data.word;
1011+ return data.word;
10141012 }
10151013
10161014 extern s32 i2c_smbus_write_word_data(struct i2c_client * client,
@@ -1033,7 +1031,7 @@ extern s32 i2c_smbus_process_call(struct i2c_client * client,
10331031 I2C_SMBUS_PROC_CALL, &data))
10341032 return -1;
10351033 else
1036- return 0x0FFFF & data.word;
1034+ return data.word;
10371035 }
10381036
10391037 /* Returns the number of read bytes */
@@ -1131,7 +1129,7 @@ static s32 i2c_smbus_xfer_emulated(struct i2c_adapter * adapter, u16 addr,
11311129 else {
11321130 msg[0].len=3;
11331131 msgbuf0[1] = data->word & 0xff;
1134- msgbuf0[2] = (data->word >> 8) & 0xff;
1132+ msgbuf0[2] = data->word >> 8;
11351133 }
11361134 break;
11371135 case I2C_SMBUS_PROC_CALL:
@@ -1139,7 +1137,7 @@ static s32 i2c_smbus_xfer_emulated(struct i2c_adapter * adapter, u16 addr,
11391137 msg[0].len = 3;
11401138 msg[1].len = 2;
11411139 msgbuf0[1] = data->word & 0xff;
1142- msgbuf0[2] = (data->word >> 8) & 0xff;
1140+ msgbuf0[2] = data->word >> 8;
11431141 break;
11441142 case I2C_SMBUS_BLOCK_DATA:
11451143 if (read_write == I2C_SMBUS_READ) {
--- a/drivers/i2c/i2c-proc.c
+++ b/drivers/i2c/i2c-proc.c
@@ -39,9 +39,9 @@
3939 #define THIS_MODULE NULL
4040 #endif
4141
42-static int i2c_parse_reals(int *nrels, void *buffer, int bufsize,
42+static int i2c_parse_reals(int *nrels, char *buffer, int bufsize,
4343 long *results, int magnitude);
44-static int i2c_write_reals(int nrels, void *buffer, int *bufsize,
44+static int i2c_write_reals(int nrels, char *buffer, int *bufsize,
4545 long *results, int magnitude);
4646 static int i2c_proc_chips(ctl_table * ctl, int write,
4747 struct file *filp, void *buffer,
@@ -450,7 +450,7 @@ int i2c_sysctl_real(ctl_table * table, int *name, int nlen,
450450 WARNING! This is tricky code. I have tested it, but there may still be
451451 hidden bugs in it, even leading to crashes and things!
452452 */
453-int i2c_parse_reals(int *nrels, void *buffer, int bufsize,
453+static int i2c_parse_reals(int *nrels, char *buffer, int bufsize,
454454 long *results, int magnitude)
455455 {
456456 int maxels, min, mag;
@@ -464,10 +464,10 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize,
464464
465465 /* Skip spaces at the start */
466466 while (bufsize &&
467- !((ret=get_user(nextchar, (char *) buffer))) &&
467+ !((ret=get_user(nextchar, buffer))) &&
468468 isspace((int) nextchar)) {
469469 bufsize--;
470- buffer = (char *) buffer + 1;
470+ buffer++;
471471 }
472472
473473 if (ret)
@@ -482,22 +482,22 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize,
482482 mag = magnitude;
483483
484484 /* Check for a minus */
485- if (!((ret=get_user(nextchar, (char *) buffer)))
485+ if (!((ret=get_user(nextchar, buffer)))
486486 && (nextchar == '-')) {
487487 min = 1;
488488 bufsize--;
489- buffer = (char *) buffer + 1;
489+ buffer++;
490490 }
491491 if (ret)
492492 return -EFAULT;
493493
494494 /* Digits before a decimal dot */
495495 while (bufsize &&
496- !((ret=get_user(nextchar, (char *) buffer))) &&
496+ !((ret=get_user(nextchar, buffer))) &&
497497 isdigit((int) nextchar)) {
498498 res = res * 10 + nextchar - '0';
499499 bufsize--;
500- buffer = (char *) buffer + 1;
500+ buffer++;
501501 }
502502 if (ret)
503503 return -EFAULT;
@@ -511,16 +511,16 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize,
511511 if (bufsize && (nextchar == '.')) {
512512 /* Skip the dot */
513513 bufsize--;
514- buffer = (char *) buffer + 1;
514+ buffer++;
515515
516516 /* Read digits while they are significant */
517517 while (bufsize && (mag > 0) &&
518- !((ret=get_user(nextchar, (char *) buffer))) &&
518+ !((ret=get_user(nextchar, buffer))) &&
519519 isdigit((int) nextchar)) {
520520 res = res * 10 + nextchar - '0';
521521 mag--;
522522 bufsize--;
523- buffer = (char *) buffer + 1;
523+ buffer++;
524524 }
525525 if (ret)
526526 return -EFAULT;
@@ -533,10 +533,10 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize,
533533
534534 /* Skip everything until we hit whitespace */
535535 while (bufsize &&
536- !((ret=get_user(nextchar, (char *) buffer))) &&
536+ !((ret=get_user(nextchar, buffer))) &&
537537 !isspace((int) nextchar)) {
538538 bufsize--;
539- buffer = (char *) buffer + 1;
539+ buffer++;
540540 }
541541 if (ret)
542542 return -EFAULT;
@@ -551,7 +551,7 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize,
551551 return 0;
552552 }
553553
554-int i2c_write_reals(int nrels, void *buffer, int *bufsize,
554+static int i2c_write_reals(int nrels, char *buffer, int *bufsize,
555555 long *results, int magnitude)
556556 {
557557 #define BUFLEN 20
@@ -565,10 +565,10 @@ int i2c_write_reals(int nrels, void *buffer, int *bufsize,
565565 mag = magnitude;
566566
567567 if (nr != 0) {
568- if(put_user(' ', (char *) buffer))
568+ if(put_user(' ', buffer))
569569 return -EFAULT;
570570 curbufsize++;
571- buffer = (char *) buffer + 1;
571+ buffer++;
572572 }
573573
574574 /* Fill BUF with the representation of the next string */
@@ -609,12 +609,12 @@ int i2c_write_reals(int nrels, void *buffer, int *bufsize,
609609 if(copy_to_user(buffer, BUF, buflen))
610610 return -EFAULT;
611611 curbufsize += buflen;
612- buffer = (char *) buffer + buflen;
612+ buffer += buflen;
613613
614614 nr++;
615615 }
616616 if (curbufsize < *bufsize) {
617- if(put_user('\n', (char *) buffer))
617+ if(put_user('\n', buffer))
618618 return -EFAULT;
619619 curbufsize++;
620620 }
旧リポジトリブラウザで表示