Lines Matching refs:dmcst
858 struct dib3000mc_state *dmcst; in dib3000mc_i2c_enumeration() local
864 dmcst = kzalloc(sizeof(struct dib3000mc_state), GFP_KERNEL); in dib3000mc_i2c_enumeration()
865 if (dmcst == NULL) in dib3000mc_i2c_enumeration()
868 dmcst->i2c_adap = i2c; in dib3000mc_i2c_enumeration()
871 dmcst->cfg = &cfg[k]; in dib3000mc_i2c_enumeration()
875 dmcst->i2c_addr = new_addr; in dib3000mc_i2c_enumeration()
876 if (dib3000mc_identify(dmcst) != 0) { in dib3000mc_i2c_enumeration()
877 dmcst->i2c_addr = default_addr; in dib3000mc_i2c_enumeration()
878 if (dib3000mc_identify(dmcst) != 0) { in dib3000mc_i2c_enumeration()
880 kfree(dmcst); in dib3000mc_i2c_enumeration()
885 dib3000mc_set_output_mode(dmcst, OUTMODE_MPEG2_PAR_CONT_CLK); in dib3000mc_i2c_enumeration()
888 dib3000mc_write_word(dmcst, 1024, (new_addr << 3) | 0x1); in dib3000mc_i2c_enumeration()
889 dmcst->i2c_addr = new_addr; in dib3000mc_i2c_enumeration()
893 dmcst->cfg = &cfg[k]; in dib3000mc_i2c_enumeration()
894 dmcst->i2c_addr = DIB3000MC_I2C_ADDRESS[k]; in dib3000mc_i2c_enumeration()
896 dib3000mc_write_word(dmcst, 1024, dmcst->i2c_addr << 3); in dib3000mc_i2c_enumeration()
899 dib3000mc_set_output_mode(dmcst, OUTMODE_HIGH_Z); in dib3000mc_i2c_enumeration()
902 kfree(dmcst); in dib3000mc_i2c_enumeration()