All of lore.kernel.org
 help / color / mirror / Atom feed
* [asoc:for-4.18 35/37] sound/soc/codecs/rt1305.c:1068:15: sparse: constant 562949953421312 is so big it is long
@ 2018-04-16 20:04 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2018-04-16 20:04 UTC (permalink / raw)
  To: Shuming Fan; +Cc: alsa-devel, Mark Brown, kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-4.18
head:   fbeabd09236664f34ea3e4a9f7dcf5a0cdb7fc47
commit: 29bc643ddd7efb741d07c8b2d9a4c3dd9228865b [35/37] ASoC: rt1305: Add RT1305/RT1306 amplifier driver
reproduce:
        # apt-get install sparse
        git checkout 29bc643ddd7efb741d07c8b2d9a4c3dd9228865b
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> sound/soc/codecs/rt1305.c:1068:15: sparse: constant 562949953421312 is so big it is long
   sound/soc/codecs/rt1305.c:1085:15: sparse: constant 562949953421312 is so big it is long
   sound/soc/codecs/rt1305.c:1179:37: sparse: undefined identifier 'ACPI_PTR'
   sound/soc/codecs/rt1305.c:1179:23: error: implicit declaration of function 'ACPI_PTR'; did you mean 'ERR_PTR'? [-Werror=implicit-function-declaration]
      .acpi_match_table = ACPI_PTR(rt1305_acpi_match)
                          ^~~~~~~~
                          ERR_PTR
   sound/soc/codecs/rt1305.c:1179:23: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
   sound/soc/codecs/rt1305.c:1179:23: note: (near initialization for 'rt1305_i2c_driver.driver.acpi_match_table')
   sound/soc/codecs/rt1305.c:1179:23: error: initializer element is not constant
   sound/soc/codecs/rt1305.c:1179:23: note: (near initialization for 'rt1305_i2c_driver.driver.acpi_match_table')
   cc1: some warnings being treated as errors

vim +1068 sound/soc/codecs/rt1305.c

   992	
   993	static void rt1305_calibrate(struct rt1305_priv *rt1305)
   994	{
   995		unsigned int valmsb, vallsb, offsetl, offsetr;
   996		unsigned int rh, rl, rhl, r0ohm;
   997		u64 r0l, r0r;
   998	
   999		regcache_cache_bypass(rt1305->regmap, true);
  1000	
  1001		rt1305_reset(rt1305->regmap);
  1002		regmap_write(rt1305->regmap, RT1305_ADC_SET_3, 0x0219);
  1003		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xcf, 0x5548);
  1004		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xc1, 0x0320);
  1005		regmap_write(rt1305->regmap, RT1305_CLOCK_DETECT, 0x1000);
  1006		regmap_write(rt1305->regmap, RT1305_CLK_1, 0x0600);
  1007		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xffd0);
  1008		regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0080);
  1009		regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0880);
  1010		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x0dfe);
  1011	
  1012		/* Sin Gen */
  1013		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x5d, 0x0442);
  1014	
  1015		regmap_write(rt1305->regmap, RT1305_CAL_EFUSE_CLOCK, 0xb000);
  1016		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xc3, 0xd4a0);
  1017		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xcc, 0x00cc);
  1018		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xc1, 0x0320);
  1019		regmap_write(rt1305->regmap, RT1305_POWER_STATUS, 0x0000);
  1020		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_2, 0xffff);
  1021		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfc20);
  1022		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x06, 0x00c0);
  1023		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfca0);
  1024		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfce0);
  1025		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfcf0);
  1026	
  1027		/* EFUSE read */
  1028		regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0080);
  1029		regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0880);
  1030		regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0880);
  1031		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfce0);
  1032		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfca0);
  1033		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfc20);
  1034		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x06, 0x0000);
  1035		regmap_write(rt1305->regmap, RT1305_EFUSE_1, 0x0000);
  1036	
  1037		regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_5, &valmsb);
  1038		regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_6, &vallsb);
  1039		offsetl = valmsb << 16 | vallsb;
  1040		regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_7, &valmsb);
  1041		regmap_read(rt1305->regmap, RT1305_DAC_OFFSET_8, &vallsb);
  1042		offsetr = valmsb << 16 | vallsb;
  1043		pr_info("DC offsetl=0x%x, offsetr=0x%x\n", offsetl, offsetr);
  1044	
  1045		/* R0 calibration */
  1046		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x5d, 0x9542);
  1047		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0xfcf0);
  1048		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_2, 0xffff);
  1049		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x1dfe);
  1050		regmap_write(rt1305->regmap, RT1305_SILENCE_DETECT, 0x0e13);
  1051		regmap_write(rt1305->regmap, RT1305_CLK_1, 0x0650);
  1052	
  1053		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x50, 0x0064);
  1054		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x51, 0x0770);
  1055		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x52, 0xc30c);
  1056		regmap_write(rt1305->regmap, RT1305_SPK_TEMP_PROTECTION_1, 0x8200);
  1057		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xfb00);
  1058		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xff80);
  1059		msleep(2000);
  1060		regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x55, &rh);
  1061		regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x56, &rl);
  1062		rhl = (rh << 16) | rl;
  1063		r0ohm = (rhl*10) / 33554432;
  1064	
  1065		pr_debug("Left_rhl = 0x%x rh=0x%x rl=0x%x\n", rhl, rh, rl);
  1066		pr_info("Left channel %d.%dohm\n", (r0ohm/10), (r0ohm%10));
  1067	
> 1068		r0l = 562949953421312;
  1069		if (rhl != 0)
  1070			do_div(r0l, rhl);
  1071		pr_debug("Left_r0 = 0x%llx\n", r0l);
  1072	
  1073		regmap_write(rt1305->regmap, RT1305_SPK_TEMP_PROTECTION_1, 0x9200);
  1074		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xfb00);
  1075		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xd4, 0xff80);
  1076		msleep(2000);
  1077		regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x55, &rh);
  1078		regmap_read(rt1305->regmap, RT1305_PR_BASE + 0x56, &rl);
  1079		rhl = (rh << 16) | rl;
  1080		r0ohm = (rhl*10) / 33554432;
  1081	
  1082		pr_debug("Right_rhl = 0x%x rh=0x%x rl=0x%x\n", rhl, rh, rl);
  1083		pr_info("Right channel %d.%dohm\n", (r0ohm/10), (r0ohm%10));
  1084	
  1085		r0r = 562949953421312;
  1086		if (rhl != 0)
  1087			do_div(r0r, rhl);
  1088		pr_debug("Right_r0 = 0x%llx\n", r0r);
  1089	
  1090		regmap_write(rt1305->regmap, RT1305_SPK_TEMP_PROTECTION_1, 0xc2ec);
  1091	
  1092		if ((r0l > R0_UPPER) && (r0l < R0_LOWER) &&
  1093			(r0r > R0_UPPER) && (r0r < R0_LOWER)) {
  1094			regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x4e,
  1095				(r0l >> 16) & 0xffff);
  1096			regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x4f,
  1097				r0l & 0xffff);
  1098			regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xfe,
  1099				((r0r >> 16) & 0xffff) | 0xf800);
  1100			regmap_write(rt1305->regmap, RT1305_PR_BASE + 0xfd,
  1101				r0r & 0xffff);
  1102		} else {
  1103			pr_err("R0 calibration failed\n");
  1104		}
  1105	
  1106		/* restore some registers */
  1107		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x0dfe);
  1108		usleep_range(200000, 400000);
  1109		regmap_write(rt1305->regmap, RT1305_PR_BASE + 0x5d, 0x0442);
  1110		regmap_write(rt1305->regmap, RT1305_CLOCK_DETECT, 0x3000);
  1111		regmap_write(rt1305->regmap, RT1305_CLK_1, 0x0400);
  1112		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_1, 0x0000);
  1113		regmap_write(rt1305->regmap, RT1305_CAL_EFUSE_CLOCK, 0x8000);
  1114		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_2, 0x1020);
  1115		regmap_write(rt1305->regmap, RT1305_POWER_CTRL_3, 0x0000);
  1116	
  1117		regcache_cache_bypass(rt1305->regmap, false);
  1118	}
  1119	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-04-16 20:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-16 20:04 [asoc:for-4.18 35/37] sound/soc/codecs/rt1305.c:1068:15: sparse: constant 562949953421312 is so big it is long kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.