diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2013-05-29 05:59:51 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-06-17 07:52:10 -0400 |
commit | e12771100c93e101a7a8b302b6c5d57cff7b1551 (patch) | |
tree | a831f1d64d92142e5ce4cbcdfcd5a6f623db04e9 /drivers/media/i2c/saa7127.c | |
parent | 6be89daa03a4c99b0d22a59a660b225a592ed0a9 (diff) |
[media] media/i2c: remove g_chip_ident op
This is no longer needed since the core now handles this through DBG_G_CHIP_INFO.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/i2c/saa7127.c')
-rw-r--r-- | drivers/media/i2c/saa7127.c | 47 |
1 files changed, 17 insertions, 30 deletions
diff --git a/drivers/media/i2c/saa7127.c b/drivers/media/i2c/saa7127.c index d9c388103e7a..264b755bedce 100644 --- a/drivers/media/i2c/saa7127.c +++ b/drivers/media/i2c/saa7127.c | |||
@@ -54,7 +54,6 @@ | |||
54 | #include <linux/i2c.h> | 54 | #include <linux/i2c.h> |
55 | #include <linux/videodev2.h> | 55 | #include <linux/videodev2.h> |
56 | #include <media/v4l2-device.h> | 56 | #include <media/v4l2-device.h> |
57 | #include <media/v4l2-chip-ident.h> | ||
58 | #include <media/saa7127.h> | 57 | #include <media/saa7127.h> |
59 | 58 | ||
60 | static int debug; | 59 | static int debug; |
@@ -251,10 +250,15 @@ static struct i2c_reg_value saa7127_init_config_50hz_secam[] = { | |||
251 | ********************************************************************** | 250 | ********************************************************************** |
252 | */ | 251 | */ |
253 | 252 | ||
253 | enum saa712x_model { | ||
254 | SAA7127, | ||
255 | SAA7129, | ||
256 | }; | ||
257 | |||
254 | struct saa7127_state { | 258 | struct saa7127_state { |
255 | struct v4l2_subdev sd; | 259 | struct v4l2_subdev sd; |
256 | v4l2_std_id std; | 260 | v4l2_std_id std; |
257 | u32 ident; | 261 | enum saa712x_model ident; |
258 | enum saa7127_input_type input_type; | 262 | enum saa7127_input_type input_type; |
259 | enum saa7127_output_type output_type; | 263 | enum saa7127_output_type output_type; |
260 | int video_enable; | 264 | int video_enable; |
@@ -482,7 +486,7 @@ static int saa7127_set_std(struct v4l2_subdev *sd, v4l2_std_id std) | |||
482 | inittab = saa7127_init_config_60hz; | 486 | inittab = saa7127_init_config_60hz; |
483 | state->reg_61 = SAA7127_60HZ_DAC_CONTROL; | 487 | state->reg_61 = SAA7127_60HZ_DAC_CONTROL; |
484 | 488 | ||
485 | } else if (state->ident == V4L2_IDENT_SAA7129 && | 489 | } else if (state->ident == SAA7129 && |
486 | (std & V4L2_STD_SECAM) && | 490 | (std & V4L2_STD_SECAM) && |
487 | !(std & (V4L2_STD_625_50 & ~V4L2_STD_SECAM))) { | 491 | !(std & (V4L2_STD_625_50 & ~V4L2_STD_SECAM))) { |
488 | 492 | ||
@@ -517,7 +521,7 @@ static int saa7127_set_output_type(struct v4l2_subdev *sd, int output) | |||
517 | break; | 521 | break; |
518 | 522 | ||
519 | case SAA7127_OUTPUT_TYPE_COMPOSITE: | 523 | case SAA7127_OUTPUT_TYPE_COMPOSITE: |
520 | if (state->ident == V4L2_IDENT_SAA7129) | 524 | if (state->ident == SAA7129) |
521 | state->reg_2d = 0x20; /* CVBS only */ | 525 | state->reg_2d = 0x20; /* CVBS only */ |
522 | else | 526 | else |
523 | state->reg_2d = 0x08; /* 00001000 CVBS only, RGB DAC's off (high impedance mode) */ | 527 | state->reg_2d = 0x08; /* 00001000 CVBS only, RGB DAC's off (high impedance mode) */ |
@@ -525,7 +529,7 @@ static int saa7127_set_output_type(struct v4l2_subdev *sd, int output) | |||
525 | break; | 529 | break; |
526 | 530 | ||
527 | case SAA7127_OUTPUT_TYPE_SVIDEO: | 531 | case SAA7127_OUTPUT_TYPE_SVIDEO: |
528 | if (state->ident == V4L2_IDENT_SAA7129) | 532 | if (state->ident == SAA7129) |
529 | state->reg_2d = 0x18; /* Y + C */ | 533 | state->reg_2d = 0x18; /* Y + C */ |
530 | else | 534 | else |
531 | state->reg_2d = 0xff; /*11111111 croma -> R, luma -> CVBS + G + B */ | 535 | state->reg_2d = 0xff; /*11111111 croma -> R, luma -> CVBS + G + B */ |
@@ -543,7 +547,7 @@ static int saa7127_set_output_type(struct v4l2_subdev *sd, int output) | |||
543 | break; | 547 | break; |
544 | 548 | ||
545 | case SAA7127_OUTPUT_TYPE_BOTH: | 549 | case SAA7127_OUTPUT_TYPE_BOTH: |
546 | if (state->ident == V4L2_IDENT_SAA7129) | 550 | if (state->ident == SAA7129) |
547 | state->reg_2d = 0x38; | 551 | state->reg_2d = 0x38; |
548 | else | 552 | else |
549 | state->reg_2d = 0xbf; | 553 | state->reg_2d = 0xbf; |
@@ -661,10 +665,6 @@ static int saa7127_s_vbi_data(struct v4l2_subdev *sd, const struct v4l2_sliced_v | |||
661 | #ifdef CONFIG_VIDEO_ADV_DEBUG | 665 | #ifdef CONFIG_VIDEO_ADV_DEBUG |
662 | static int saa7127_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg) | 666 | static int saa7127_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg) |
663 | { | 667 | { |
664 | struct i2c_client *client = v4l2_get_subdevdata(sd); | ||
665 | |||
666 | if (!v4l2_chip_match_i2c_client(client, ®->match)) | ||
667 | return -EINVAL; | ||
668 | reg->val = saa7127_read(sd, reg->reg & 0xff); | 668 | reg->val = saa7127_read(sd, reg->reg & 0xff); |
669 | reg->size = 1; | 669 | reg->size = 1; |
670 | return 0; | 670 | return 0; |
@@ -672,23 +672,11 @@ static int saa7127_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register * | |||
672 | 672 | ||
673 | static int saa7127_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg) | 673 | static int saa7127_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg) |
674 | { | 674 | { |
675 | struct i2c_client *client = v4l2_get_subdevdata(sd); | ||
676 | |||
677 | if (!v4l2_chip_match_i2c_client(client, ®->match)) | ||
678 | return -EINVAL; | ||
679 | saa7127_write(sd, reg->reg & 0xff, reg->val & 0xff); | 675 | saa7127_write(sd, reg->reg & 0xff, reg->val & 0xff); |
680 | return 0; | 676 | return 0; |
681 | } | 677 | } |
682 | #endif | 678 | #endif |
683 | 679 | ||
684 | static int saa7127_g_chip_ident(struct v4l2_subdev *sd, struct v4l2_dbg_chip_ident *chip) | ||
685 | { | ||
686 | struct saa7127_state *state = to_state(sd); | ||
687 | struct i2c_client *client = v4l2_get_subdevdata(sd); | ||
688 | |||
689 | return v4l2_chip_ident_i2c_client(client, chip, state->ident, 0); | ||
690 | } | ||
691 | |||
692 | static int saa7127_log_status(struct v4l2_subdev *sd) | 680 | static int saa7127_log_status(struct v4l2_subdev *sd) |
693 | { | 681 | { |
694 | struct saa7127_state *state = to_state(sd); | 682 | struct saa7127_state *state = to_state(sd); |
@@ -708,7 +696,6 @@ static int saa7127_log_status(struct v4l2_subdev *sd) | |||
708 | 696 | ||
709 | static const struct v4l2_subdev_core_ops saa7127_core_ops = { | 697 | static const struct v4l2_subdev_core_ops saa7127_core_ops = { |
710 | .log_status = saa7127_log_status, | 698 | .log_status = saa7127_log_status, |
711 | .g_chip_ident = saa7127_g_chip_ident, | ||
712 | #ifdef CONFIG_VIDEO_ADV_DEBUG | 699 | #ifdef CONFIG_VIDEO_ADV_DEBUG |
713 | .g_register = saa7127_g_register, | 700 | .g_register = saa7127_g_register, |
714 | .s_register = saa7127_s_register, | 701 | .s_register = saa7127_s_register, |
@@ -777,10 +764,10 @@ static int saa7127_probe(struct i2c_client *client, | |||
777 | if (saa7127_read(sd, SAA7129_REG_FADE_KEY_COL2) == 0xaa) { | 764 | if (saa7127_read(sd, SAA7129_REG_FADE_KEY_COL2) == 0xaa) { |
778 | saa7127_write(sd, SAA7129_REG_FADE_KEY_COL2, | 765 | saa7127_write(sd, SAA7129_REG_FADE_KEY_COL2, |
779 | read_result); | 766 | read_result); |
780 | state->ident = V4L2_IDENT_SAA7129; | 767 | state->ident = SAA7129; |
781 | strlcpy(client->name, "saa7129", I2C_NAME_SIZE); | 768 | strlcpy(client->name, "saa7129", I2C_NAME_SIZE); |
782 | } else { | 769 | } else { |
783 | state->ident = V4L2_IDENT_SAA7127; | 770 | state->ident = SAA7127; |
784 | strlcpy(client->name, "saa7127", I2C_NAME_SIZE); | 771 | strlcpy(client->name, "saa7127", I2C_NAME_SIZE); |
785 | } | 772 | } |
786 | } | 773 | } |
@@ -804,7 +791,7 @@ static int saa7127_probe(struct i2c_client *client, | |||
804 | saa7127_set_input_type(sd, SAA7127_INPUT_TYPE_NORMAL); | 791 | saa7127_set_input_type(sd, SAA7127_INPUT_TYPE_NORMAL); |
805 | saa7127_set_video_enable(sd, 1); | 792 | saa7127_set_video_enable(sd, 1); |
806 | 793 | ||
807 | if (state->ident == V4L2_IDENT_SAA7129) | 794 | if (state->ident == SAA7129) |
808 | saa7127_write_inittab(sd, saa7129_init_config_extra); | 795 | saa7127_write_inittab(sd, saa7129_init_config_extra); |
809 | return 0; | 796 | return 0; |
810 | } | 797 | } |
@@ -825,10 +812,10 @@ static int saa7127_remove(struct i2c_client *client) | |||
825 | 812 | ||
826 | static struct i2c_device_id saa7127_id[] = { | 813 | static struct i2c_device_id saa7127_id[] = { |
827 | { "saa7127_auto", 0 }, /* auto-detection */ | 814 | { "saa7127_auto", 0 }, /* auto-detection */ |
828 | { "saa7126", V4L2_IDENT_SAA7127 }, | 815 | { "saa7126", SAA7127 }, |
829 | { "saa7127", V4L2_IDENT_SAA7127 }, | 816 | { "saa7127", SAA7127 }, |
830 | { "saa7128", V4L2_IDENT_SAA7129 }, | 817 | { "saa7128", SAA7129 }, |
831 | { "saa7129", V4L2_IDENT_SAA7129 }, | 818 | { "saa7129", SAA7129 }, |
832 | { } | 819 | { } |
833 | }; | 820 | }; |
834 | MODULE_DEVICE_TABLE(i2c, saa7127_id); | 821 | MODULE_DEVICE_TABLE(i2c, saa7127_id); |