2.4.36-stable kernel tree
Revision | 3b05ac446d0c62a056be02754f9e815a521b1624 (tree) |
---|---|
Zeit | 2006-12-05 17:22:52 |
Autor | Jean Delvare <khali@linu...> |
Commiter | 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
Signed-off-by: Jean Delvare <khali@linux-fr.org>
@@ -548,12 +548,10 @@ int i2c_use_client(struct i2c_client *client) | ||
548 | 548 | if (client->flags & I2C_CLIENT_ALLOW_USE) { |
549 | 549 | if (client->flags & I2C_CLIENT_ALLOW_MULTIPLE_USE) |
550 | 550 | 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++; | |
557 | 555 | } |
558 | 556 | |
559 | 557 | i2c_inc_use_client(client); |
@@ -974,7 +972,7 @@ extern s32 i2c_smbus_read_byte(struct i2c_client * client) | ||
974 | 972 | I2C_SMBUS_READ,0,I2C_SMBUS_BYTE, &data)) |
975 | 973 | return -1; |
976 | 974 | else |
977 | - return 0x0FF & data.byte; | |
975 | + return data.byte; | |
978 | 976 | } |
979 | 977 | |
980 | 978 | 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) | ||
990 | 988 | I2C_SMBUS_READ,command, I2C_SMBUS_BYTE_DATA,&data)) |
991 | 989 | return -1; |
992 | 990 | else |
993 | - return 0x0FF & data.byte; | |
991 | + return data.byte; | |
994 | 992 | } |
995 | 993 | |
996 | 994 | 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) | ||
1010 | 1008 | I2C_SMBUS_READ,command, I2C_SMBUS_WORD_DATA, &data)) |
1011 | 1009 | return -1; |
1012 | 1010 | else |
1013 | - return 0x0FFFF & data.word; | |
1011 | + return data.word; | |
1014 | 1012 | } |
1015 | 1013 | |
1016 | 1014 | 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, | ||
1033 | 1031 | I2C_SMBUS_PROC_CALL, &data)) |
1034 | 1032 | return -1; |
1035 | 1033 | else |
1036 | - return 0x0FFFF & data.word; | |
1034 | + return data.word; | |
1037 | 1035 | } |
1038 | 1036 | |
1039 | 1037 | /* Returns the number of read bytes */ |
@@ -1131,7 +1129,7 @@ static s32 i2c_smbus_xfer_emulated(struct i2c_adapter * adapter, u16 addr, | ||
1131 | 1129 | else { |
1132 | 1130 | msg[0].len=3; |
1133 | 1131 | msgbuf0[1] = data->word & 0xff; |
1134 | - msgbuf0[2] = (data->word >> 8) & 0xff; | |
1132 | + msgbuf0[2] = data->word >> 8; | |
1135 | 1133 | } |
1136 | 1134 | break; |
1137 | 1135 | case I2C_SMBUS_PROC_CALL: |
@@ -1139,7 +1137,7 @@ static s32 i2c_smbus_xfer_emulated(struct i2c_adapter * adapter, u16 addr, | ||
1139 | 1137 | msg[0].len = 3; |
1140 | 1138 | msg[1].len = 2; |
1141 | 1139 | msgbuf0[1] = data->word & 0xff; |
1142 | - msgbuf0[2] = (data->word >> 8) & 0xff; | |
1140 | + msgbuf0[2] = data->word >> 8; | |
1143 | 1141 | break; |
1144 | 1142 | case I2C_SMBUS_BLOCK_DATA: |
1145 | 1143 | if (read_write == I2C_SMBUS_READ) { |
@@ -39,9 +39,9 @@ | ||
39 | 39 | #define THIS_MODULE NULL |
40 | 40 | #endif |
41 | 41 | |
42 | -static int i2c_parse_reals(int *nrels, void *buffer, int bufsize, | |
42 | +static int i2c_parse_reals(int *nrels, char *buffer, int bufsize, | |
43 | 43 | 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, | |
45 | 45 | long *results, int magnitude); |
46 | 46 | static int i2c_proc_chips(ctl_table * ctl, int write, |
47 | 47 | struct file *filp, void *buffer, |
@@ -450,7 +450,7 @@ int i2c_sysctl_real(ctl_table * table, int *name, int nlen, | ||
450 | 450 | WARNING! This is tricky code. I have tested it, but there may still be |
451 | 451 | hidden bugs in it, even leading to crashes and things! |
452 | 452 | */ |
453 | -int i2c_parse_reals(int *nrels, void *buffer, int bufsize, | |
453 | +static int i2c_parse_reals(int *nrels, char *buffer, int bufsize, | |
454 | 454 | long *results, int magnitude) |
455 | 455 | { |
456 | 456 | int maxels, min, mag; |
@@ -464,10 +464,10 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize, | ||
464 | 464 | |
465 | 465 | /* Skip spaces at the start */ |
466 | 466 | while (bufsize && |
467 | - !((ret=get_user(nextchar, (char *) buffer))) && | |
467 | + !((ret=get_user(nextchar, buffer))) && | |
468 | 468 | isspace((int) nextchar)) { |
469 | 469 | bufsize--; |
470 | - buffer = (char *) buffer + 1; | |
470 | + buffer++; | |
471 | 471 | } |
472 | 472 | |
473 | 473 | if (ret) |
@@ -482,22 +482,22 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize, | ||
482 | 482 | mag = magnitude; |
483 | 483 | |
484 | 484 | /* Check for a minus */ |
485 | - if (!((ret=get_user(nextchar, (char *) buffer))) | |
485 | + if (!((ret=get_user(nextchar, buffer))) | |
486 | 486 | && (nextchar == '-')) { |
487 | 487 | min = 1; |
488 | 488 | bufsize--; |
489 | - buffer = (char *) buffer + 1; | |
489 | + buffer++; | |
490 | 490 | } |
491 | 491 | if (ret) |
492 | 492 | return -EFAULT; |
493 | 493 | |
494 | 494 | /* Digits before a decimal dot */ |
495 | 495 | while (bufsize && |
496 | - !((ret=get_user(nextchar, (char *) buffer))) && | |
496 | + !((ret=get_user(nextchar, buffer))) && | |
497 | 497 | isdigit((int) nextchar)) { |
498 | 498 | res = res * 10 + nextchar - '0'; |
499 | 499 | bufsize--; |
500 | - buffer = (char *) buffer + 1; | |
500 | + buffer++; | |
501 | 501 | } |
502 | 502 | if (ret) |
503 | 503 | return -EFAULT; |
@@ -511,16 +511,16 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize, | ||
511 | 511 | if (bufsize && (nextchar == '.')) { |
512 | 512 | /* Skip the dot */ |
513 | 513 | bufsize--; |
514 | - buffer = (char *) buffer + 1; | |
514 | + buffer++; | |
515 | 515 | |
516 | 516 | /* Read digits while they are significant */ |
517 | 517 | while (bufsize && (mag > 0) && |
518 | - !((ret=get_user(nextchar, (char *) buffer))) && | |
518 | + !((ret=get_user(nextchar, buffer))) && | |
519 | 519 | isdigit((int) nextchar)) { |
520 | 520 | res = res * 10 + nextchar - '0'; |
521 | 521 | mag--; |
522 | 522 | bufsize--; |
523 | - buffer = (char *) buffer + 1; | |
523 | + buffer++; | |
524 | 524 | } |
525 | 525 | if (ret) |
526 | 526 | return -EFAULT; |
@@ -533,10 +533,10 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize, | ||
533 | 533 | |
534 | 534 | /* Skip everything until we hit whitespace */ |
535 | 535 | while (bufsize && |
536 | - !((ret=get_user(nextchar, (char *) buffer))) && | |
536 | + !((ret=get_user(nextchar, buffer))) && | |
537 | 537 | !isspace((int) nextchar)) { |
538 | 538 | bufsize--; |
539 | - buffer = (char *) buffer + 1; | |
539 | + buffer++; | |
540 | 540 | } |
541 | 541 | if (ret) |
542 | 542 | return -EFAULT; |
@@ -551,7 +551,7 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize, | ||
551 | 551 | return 0; |
552 | 552 | } |
553 | 553 | |
554 | -int i2c_write_reals(int nrels, void *buffer, int *bufsize, | |
554 | +static int i2c_write_reals(int nrels, char *buffer, int *bufsize, | |
555 | 555 | long *results, int magnitude) |
556 | 556 | { |
557 | 557 | #define BUFLEN 20 |
@@ -565,10 +565,10 @@ int i2c_write_reals(int nrels, void *buffer, int *bufsize, | ||
565 | 565 | mag = magnitude; |
566 | 566 | |
567 | 567 | if (nr != 0) { |
568 | - if(put_user(' ', (char *) buffer)) | |
568 | + if(put_user(' ', buffer)) | |
569 | 569 | return -EFAULT; |
570 | 570 | curbufsize++; |
571 | - buffer = (char *) buffer + 1; | |
571 | + buffer++; | |
572 | 572 | } |
573 | 573 | |
574 | 574 | /* Fill BUF with the representation of the next string */ |
@@ -609,12 +609,12 @@ int i2c_write_reals(int nrels, void *buffer, int *bufsize, | ||
609 | 609 | if(copy_to_user(buffer, BUF, buflen)) |
610 | 610 | return -EFAULT; |
611 | 611 | curbufsize += buflen; |
612 | - buffer = (char *) buffer + buflen; | |
612 | + buffer += buflen; | |
613 | 613 | |
614 | 614 | nr++; |
615 | 615 | } |
616 | 616 | if (curbufsize < *bufsize) { |
617 | - if(put_user('\n', (char *) buffer)) | |
617 | + if(put_user('\n', buffer)) | |
618 | 618 | return -EFAULT; |
619 | 619 | curbufsize++; |
620 | 620 | } |