* [linux-next:master 2102/2463] drivers/ptp/ptp_ocp.c:2000:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first
@ 2021-09-16 12:26 ` kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-09-16 12:26 UTC (permalink / raw)
To: Jonathan Lemon; +Cc: llvm, kbuild-all, Linux Memory Management List
[-- Attachment #1: Type: text/plain, Size: 8975 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 368847b165bbfbdcf0bd4c96b167893dcdb13aba
commit: a62a56d04e63cf0ececb5dd339811f0a14b7e77c [2102/2463] ptp: ocp: Enable 4th timestamper / PPS generator
config: x86_64-randconfig-a005-20210916 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 8cbbd7e0b2aa21ce7e416cfb63d9965518948c35)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a62a56d04e63cf0ececb5dd339811f0a14b7e77c
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout a62a56d04e63cf0ececb5dd339811f0a14b7e77c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/ptp/ptp_ocp.c:2000:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first [-Wbitwise-conditional-parentheses]
on & map ? " ON" : "OFF", src);
~~~~~~~~ ^
drivers/ptp/ptp_ocp.c:2000:16: note: place parentheses around the '&' expression to silence this warning
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2000:16: note: place parentheses around the '?:' expression to evaluate it first
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2004:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first [-Wbitwise-conditional-parentheses]
on & map ? " ON" : "OFF", src);
~~~~~~~~ ^
drivers/ptp/ptp_ocp.c:2004:16: note: place parentheses around the '&' expression to silence this warning
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2004:16: note: place parentheses around the '?:' expression to evaluate it first
on & map ? " ON" : "OFF", src);
^
( )
2 warnings generated.
vim +2000 drivers/ptp/ptp_ocp.c
1934
1935 static int
1936 ptp_ocp_summary_show(struct seq_file *s, void *data)
1937 {
1938 struct device *dev = s->private;
1939 struct ptp_system_timestamp sts;
1940 u32 sma_in, sma_out, ctrl, val;
1941 struct ts_reg __iomem *ts_reg;
1942 struct timespec64 ts;
1943 struct ptp_ocp *bp;
1944 const char *src;
1945 bool on, map;
1946 char *buf;
1947
1948 buf = (char *)__get_free_page(GFP_KERNEL);
1949 if (!buf)
1950 return -ENOMEM;
1951
1952 bp = dev_get_drvdata(dev);
1953 sma_in = ioread32(&bp->sma->gpio1);
1954 sma_out = ioread32(&bp->sma->gpio2);
1955
1956 seq_printf(s, "%7s: /dev/ptp%d\n", "PTP", ptp_clock_index(bp->ptp));
1957
1958 sma1_show(dev, NULL, buf);
1959 seq_printf(s, " sma1: %s", buf);
1960
1961 sma2_show(dev, NULL, buf);
1962 seq_printf(s, " sma2: %s", buf);
1963
1964 sma3_show(dev, NULL, buf);
1965 seq_printf(s, " sma3: %s", buf);
1966
1967 sma4_show(dev, NULL, buf);
1968 seq_printf(s, " sma4: %s", buf);
1969
1970 if (bp->ts0) {
1971 ts_reg = bp->ts0->mem;
1972 on = ioread32(&ts_reg->enable);
1973 src = "GNSS";
1974 seq_printf(s, "%7s: %s, src: %s\n", "TS0",
1975 on ? " ON" : "OFF", src);
1976 }
1977
1978 if (bp->ts1) {
1979 ts_reg = bp->ts1->mem;
1980 on = ioread32(&ts_reg->enable);
1981 src = gpio_map(sma_in, 2, "sma1", "sma2", "----");
1982 seq_printf(s, "%7s: %s, src: %s\n", "TS1",
1983 on ? " ON" : "OFF", src);
1984 }
1985
1986 if (bp->ts2) {
1987 ts_reg = bp->ts2->mem;
1988 on = ioread32(&ts_reg->enable);
1989 src = gpio_map(sma_in, 3, "sma1", "sma2", "----");
1990 seq_printf(s, "%7s: %s, src: %s\n", "TS2",
1991 on ? " ON" : "OFF", src);
1992 }
1993
1994 if (bp->pps) {
1995 ts_reg = bp->pps->mem;
1996 src = "PHC";
1997 on = ioread32(&ts_reg->enable);
1998 map = !!(bp->pps_req_map & OCP_REQ_TIMESTAMP);
1999 seq_printf(s, "%7s: %s, src: %s\n", "TS3",
> 2000 on & map ? " ON" : "OFF", src);
2001
2002 map = !!(bp->pps_req_map & OCP_REQ_PPS);
2003 seq_printf(s, "%7s: %s, src: %s\n", "PPS",
2004 on & map ? " ON" : "OFF", src);
2005 }
2006
2007 if (bp->irig_out) {
2008 ctrl = ioread32(&bp->irig_out->ctrl);
2009 on = ctrl & IRIG_M_CTRL_ENABLE;
2010 val = ioread32(&bp->irig_out->status);
2011 gpio_multi_map(buf, sma_out, 4, "sma3", "sma4", "----");
2012 seq_printf(s, "%7s: %s, error: %d, mode %d, out: %s\n", "IRIG",
2013 on ? " ON" : "OFF", val, (ctrl >> 16), buf);
2014 }
2015
2016 if (bp->irig_in) {
2017 on = ioread32(&bp->irig_in->ctrl) & IRIG_S_CTRL_ENABLE;
2018 val = ioread32(&bp->irig_in->status);
2019 src = gpio_map(sma_in, 4, "sma1", "sma2", "----");
2020 seq_printf(s, "%7s: %s, error: %d, src: %s\n", "IRIG in",
2021 on ? " ON" : "OFF", val, src);
2022 }
2023
2024 if (bp->dcf_out) {
2025 on = ioread32(&bp->dcf_out->ctrl) & DCF_M_CTRL_ENABLE;
2026 val = ioread32(&bp->dcf_out->status);
2027 gpio_multi_map(buf, sma_out, 5, "sma3", "sma4", "----");
2028 seq_printf(s, "%7s: %s, error: %d, out: %s\n", "DCF",
2029 on ? " ON" : "OFF", val, buf);
2030 }
2031
2032 if (bp->dcf_in) {
2033 on = ioread32(&bp->dcf_in->ctrl) & DCF_S_CTRL_ENABLE;
2034 val = ioread32(&bp->dcf_in->status);
2035 src = gpio_map(sma_in, 5, "sma1", "sma2", "----");
2036 seq_printf(s, "%7s: %s, error: %d, src: %s\n", "DCF in",
2037 on ? " ON" : "OFF", val, src);
2038 }
2039
2040 if (bp->nmea_out) {
2041 on = ioread32(&bp->nmea_out->ctrl) & 1;
2042 val = ioread32(&bp->nmea_out->status);
2043 seq_printf(s, "%7s: %s, error: %d\n", "NMEA",
2044 on ? " ON" : "OFF", val);
2045 }
2046
2047 /* compute src for PPS1, used below. */
2048 if (bp->pps_select) {
2049 val = ioread32(&bp->pps_select->gpio1);
2050 if (val & 0x01)
2051 src = gpio_map(sma_in, 0, "sma1", "sma2", "----");
2052 else if (val & 0x02)
2053 src = "MAC";
2054 else if (val & 0x04)
2055 src = "GNSS";
2056 else
2057 src = "----";
2058 } else {
2059 src = "?";
2060 }
2061
2062 /* assumes automatic switchover/selection */
2063 val = ioread32(&bp->reg->select);
2064 switch (val >> 16) {
2065 case 0:
2066 sprintf(buf, "----");
2067 break;
2068 case 2:
2069 sprintf(buf, "IRIG");
2070 break;
2071 case 3:
2072 sprintf(buf, "%s via PPS1", src);
2073 break;
2074 case 6:
2075 sprintf(buf, "DCF");
2076 break;
2077 default:
2078 strcpy(buf, "unknown");
2079 break;
2080 }
2081 val = ioread32(&bp->reg->status);
2082 seq_printf(s, "%7s: %s, state: %s\n", "PHC src", buf,
2083 val & OCP_STATUS_IN_SYNC ? "sync" : "unsynced");
2084
2085 /* reuses PPS1 src from earlier */
2086 seq_printf(s, "MAC PPS1 src: %s\n", src);
2087
2088 src = gpio_map(sma_in, 1, "sma1", "sma2", "GNSS2");
2089 seq_printf(s, "MAC PPS2 src: %s\n", src);
2090
2091 if (!ptp_ocp_gettimex(&bp->ptp_info, &ts, &sts)) {
2092 struct timespec64 sys_ts;
2093 s64 pre_ns, post_ns, ns;
2094
2095 pre_ns = timespec64_to_ns(&sts.pre_ts);
2096 post_ns = timespec64_to_ns(&sts.post_ts);
2097 ns = (pre_ns + post_ns) / 2;
2098 ns += (s64)bp->utc_tai_offset * NSEC_PER_SEC;
2099 sys_ts = ns_to_timespec64(ns);
2100
2101 seq_printf(s, "%7s: %lld.%ld == %ptT TAI\n", "PHC",
2102 ts.tv_sec, ts.tv_nsec, &ts);
2103 seq_printf(s, "%7s: %lld.%ld == %ptT UTC offset %d\n", "SYS",
2104 sys_ts.tv_sec, sys_ts.tv_nsec, &sys_ts,
2105 bp->utc_tai_offset);
2106 seq_printf(s, "%7s: PHC:SYS offset: %lld window: %lld\n", "",
2107 timespec64_to_ns(&ts) - ns,
2108 post_ns - pre_ns);
2109 }
2110
2111 free_page((unsigned long)buf);
2112 return 0;
2113 }
2114 DEFINE_SHOW_ATTRIBUTE(ptp_ocp_summary);
2115
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 40214 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* [linux-next:master 2102/2463] drivers/ptp/ptp_ocp.c:2000:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first
@ 2021-09-16 12:26 ` kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-09-16 12:26 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 9210 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 368847b165bbfbdcf0bd4c96b167893dcdb13aba
commit: a62a56d04e63cf0ececb5dd339811f0a14b7e77c [2102/2463] ptp: ocp: Enable 4th timestamper / PPS generator
config: x86_64-randconfig-a005-20210916 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 8cbbd7e0b2aa21ce7e416cfb63d9965518948c35)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a62a56d04e63cf0ececb5dd339811f0a14b7e77c
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout a62a56d04e63cf0ececb5dd339811f0a14b7e77c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/ptp/ptp_ocp.c:2000:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first [-Wbitwise-conditional-parentheses]
on & map ? " ON" : "OFF", src);
~~~~~~~~ ^
drivers/ptp/ptp_ocp.c:2000:16: note: place parentheses around the '&' expression to silence this warning
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2000:16: note: place parentheses around the '?:' expression to evaluate it first
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2004:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first [-Wbitwise-conditional-parentheses]
on & map ? " ON" : "OFF", src);
~~~~~~~~ ^
drivers/ptp/ptp_ocp.c:2004:16: note: place parentheses around the '&' expression to silence this warning
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2004:16: note: place parentheses around the '?:' expression to evaluate it first
on & map ? " ON" : "OFF", src);
^
( )
2 warnings generated.
vim +2000 drivers/ptp/ptp_ocp.c
1934
1935 static int
1936 ptp_ocp_summary_show(struct seq_file *s, void *data)
1937 {
1938 struct device *dev = s->private;
1939 struct ptp_system_timestamp sts;
1940 u32 sma_in, sma_out, ctrl, val;
1941 struct ts_reg __iomem *ts_reg;
1942 struct timespec64 ts;
1943 struct ptp_ocp *bp;
1944 const char *src;
1945 bool on, map;
1946 char *buf;
1947
1948 buf = (char *)__get_free_page(GFP_KERNEL);
1949 if (!buf)
1950 return -ENOMEM;
1951
1952 bp = dev_get_drvdata(dev);
1953 sma_in = ioread32(&bp->sma->gpio1);
1954 sma_out = ioread32(&bp->sma->gpio2);
1955
1956 seq_printf(s, "%7s: /dev/ptp%d\n", "PTP", ptp_clock_index(bp->ptp));
1957
1958 sma1_show(dev, NULL, buf);
1959 seq_printf(s, " sma1: %s", buf);
1960
1961 sma2_show(dev, NULL, buf);
1962 seq_printf(s, " sma2: %s", buf);
1963
1964 sma3_show(dev, NULL, buf);
1965 seq_printf(s, " sma3: %s", buf);
1966
1967 sma4_show(dev, NULL, buf);
1968 seq_printf(s, " sma4: %s", buf);
1969
1970 if (bp->ts0) {
1971 ts_reg = bp->ts0->mem;
1972 on = ioread32(&ts_reg->enable);
1973 src = "GNSS";
1974 seq_printf(s, "%7s: %s, src: %s\n", "TS0",
1975 on ? " ON" : "OFF", src);
1976 }
1977
1978 if (bp->ts1) {
1979 ts_reg = bp->ts1->mem;
1980 on = ioread32(&ts_reg->enable);
1981 src = gpio_map(sma_in, 2, "sma1", "sma2", "----");
1982 seq_printf(s, "%7s: %s, src: %s\n", "TS1",
1983 on ? " ON" : "OFF", src);
1984 }
1985
1986 if (bp->ts2) {
1987 ts_reg = bp->ts2->mem;
1988 on = ioread32(&ts_reg->enable);
1989 src = gpio_map(sma_in, 3, "sma1", "sma2", "----");
1990 seq_printf(s, "%7s: %s, src: %s\n", "TS2",
1991 on ? " ON" : "OFF", src);
1992 }
1993
1994 if (bp->pps) {
1995 ts_reg = bp->pps->mem;
1996 src = "PHC";
1997 on = ioread32(&ts_reg->enable);
1998 map = !!(bp->pps_req_map & OCP_REQ_TIMESTAMP);
1999 seq_printf(s, "%7s: %s, src: %s\n", "TS3",
> 2000 on & map ? " ON" : "OFF", src);
2001
2002 map = !!(bp->pps_req_map & OCP_REQ_PPS);
2003 seq_printf(s, "%7s: %s, src: %s\n", "PPS",
2004 on & map ? " ON" : "OFF", src);
2005 }
2006
2007 if (bp->irig_out) {
2008 ctrl = ioread32(&bp->irig_out->ctrl);
2009 on = ctrl & IRIG_M_CTRL_ENABLE;
2010 val = ioread32(&bp->irig_out->status);
2011 gpio_multi_map(buf, sma_out, 4, "sma3", "sma4", "----");
2012 seq_printf(s, "%7s: %s, error: %d, mode %d, out: %s\n", "IRIG",
2013 on ? " ON" : "OFF", val, (ctrl >> 16), buf);
2014 }
2015
2016 if (bp->irig_in) {
2017 on = ioread32(&bp->irig_in->ctrl) & IRIG_S_CTRL_ENABLE;
2018 val = ioread32(&bp->irig_in->status);
2019 src = gpio_map(sma_in, 4, "sma1", "sma2", "----");
2020 seq_printf(s, "%7s: %s, error: %d, src: %s\n", "IRIG in",
2021 on ? " ON" : "OFF", val, src);
2022 }
2023
2024 if (bp->dcf_out) {
2025 on = ioread32(&bp->dcf_out->ctrl) & DCF_M_CTRL_ENABLE;
2026 val = ioread32(&bp->dcf_out->status);
2027 gpio_multi_map(buf, sma_out, 5, "sma3", "sma4", "----");
2028 seq_printf(s, "%7s: %s, error: %d, out: %s\n", "DCF",
2029 on ? " ON" : "OFF", val, buf);
2030 }
2031
2032 if (bp->dcf_in) {
2033 on = ioread32(&bp->dcf_in->ctrl) & DCF_S_CTRL_ENABLE;
2034 val = ioread32(&bp->dcf_in->status);
2035 src = gpio_map(sma_in, 5, "sma1", "sma2", "----");
2036 seq_printf(s, "%7s: %s, error: %d, src: %s\n", "DCF in",
2037 on ? " ON" : "OFF", val, src);
2038 }
2039
2040 if (bp->nmea_out) {
2041 on = ioread32(&bp->nmea_out->ctrl) & 1;
2042 val = ioread32(&bp->nmea_out->status);
2043 seq_printf(s, "%7s: %s, error: %d\n", "NMEA",
2044 on ? " ON" : "OFF", val);
2045 }
2046
2047 /* compute src for PPS1, used below. */
2048 if (bp->pps_select) {
2049 val = ioread32(&bp->pps_select->gpio1);
2050 if (val & 0x01)
2051 src = gpio_map(sma_in, 0, "sma1", "sma2", "----");
2052 else if (val & 0x02)
2053 src = "MAC";
2054 else if (val & 0x04)
2055 src = "GNSS";
2056 else
2057 src = "----";
2058 } else {
2059 src = "?";
2060 }
2061
2062 /* assumes automatic switchover/selection */
2063 val = ioread32(&bp->reg->select);
2064 switch (val >> 16) {
2065 case 0:
2066 sprintf(buf, "----");
2067 break;
2068 case 2:
2069 sprintf(buf, "IRIG");
2070 break;
2071 case 3:
2072 sprintf(buf, "%s via PPS1", src);
2073 break;
2074 case 6:
2075 sprintf(buf, "DCF");
2076 break;
2077 default:
2078 strcpy(buf, "unknown");
2079 break;
2080 }
2081 val = ioread32(&bp->reg->status);
2082 seq_printf(s, "%7s: %s, state: %s\n", "PHC src", buf,
2083 val & OCP_STATUS_IN_SYNC ? "sync" : "unsynced");
2084
2085 /* reuses PPS1 src from earlier */
2086 seq_printf(s, "MAC PPS1 src: %s\n", src);
2087
2088 src = gpio_map(sma_in, 1, "sma1", "sma2", "GNSS2");
2089 seq_printf(s, "MAC PPS2 src: %s\n", src);
2090
2091 if (!ptp_ocp_gettimex(&bp->ptp_info, &ts, &sts)) {
2092 struct timespec64 sys_ts;
2093 s64 pre_ns, post_ns, ns;
2094
2095 pre_ns = timespec64_to_ns(&sts.pre_ts);
2096 post_ns = timespec64_to_ns(&sts.post_ts);
2097 ns = (pre_ns + post_ns) / 2;
2098 ns += (s64)bp->utc_tai_offset * NSEC_PER_SEC;
2099 sys_ts = ns_to_timespec64(ns);
2100
2101 seq_printf(s, "%7s: %lld.%ld == %ptT TAI\n", "PHC",
2102 ts.tv_sec, ts.tv_nsec, &ts);
2103 seq_printf(s, "%7s: %lld.%ld == %ptT UTC offset %d\n", "SYS",
2104 sys_ts.tv_sec, sys_ts.tv_nsec, &sys_ts,
2105 bp->utc_tai_offset);
2106 seq_printf(s, "%7s: PHC:SYS offset: %lld window: %lld\n", "",
2107 timespec64_to_ns(&ts) - ns,
2108 post_ns - pre_ns);
2109 }
2110
2111 free_page((unsigned long)buf);
2112 return 0;
2113 }
2114 DEFINE_SHOW_ATTRIBUTE(ptp_ocp_summary);
2115
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 40214 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-09-16 12:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-16 12:26 [linux-next:master 2102/2463] drivers/ptp/ptp_ocp.c:2000:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first kernel test robot
2021-09-16 12:26 ` kernel 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.