[ammarfaizi2-block:google/android/kernel/common/android-4.19-stable 178/9999] kernel/power/qos.c:306:5: warning: stack frame size (32888) exceeds limit (2048) in 'pm_qos_update_target'
by kernel test robot
Hi Lina,
FYI, the error/warning still remains.
tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android-4.19-stable
head: 90a691fca4c2525068d9908ac203e9f09e4e33c0
commit: 723feab600f71b3104a10de5b372bd1d9adf5943 [178/9999] ANDROID: GKI: QoS: Enhance framework to support cpu/irq specific QoS requests
config: x86_64-randconfig-a016 (https://download.01.org/0day-ci/archive/20220122/202201220526.BqkgP2rt-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 7b3d30728816403d1fd73cc5082e9fb761262bce)
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://github.com/ammarfaizi2/linux-block/commit/723feab600f71b3104a10de...
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android-4.19-stable
git checkout 723feab600f71b3104a10de5b372bd1d9adf5943
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash kernel/power/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> kernel/power/qos.c:306:5: warning: stack frame size (32888) exceeds limit (2048) in 'pm_qos_update_target' [-Wframe-larger-than]
int pm_qos_update_target(struct pm_qos_constraints *c, struct plist_node *node,
^
1 warning generated.
kernel/power/qos.c:630: warning: Function parameter or member 'new_value' not described in 'pm_qos_update_request'
kernel/power/qos.c:630: warning: Excess function parameter 'value' description in 'pm_qos_update_request'
vim +/pm_qos_update_target +306 kernel/power/qos.c
723feab600f71b kernel/power/qos.c Lina Iyer 2014-05-21 294
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 295 /**
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 296 * pm_qos_update_target - manages the constraints list and calls the notifiers
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 297 * if needed
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 298 * @c: constraints data struct
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 299 * @node: request to add to the list, to update or to remove
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 300 * @action: action to take on the constraints list
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 301 * @value: value of the request to add or update
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 302 *
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 303 * This function returns 1 if the aggregated constraint value has changed, 0
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 304 * otherwise.
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 305 */
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 @306 int pm_qos_update_target(struct pm_qos_constraints *c, struct plist_node *node,
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 307 enum pm_qos_req_action action, int value)
d82b35186eaa81 kernel/pm_qos_params.c Mark Gross 2008-02-04 308 {
d82b35186eaa81 kernel/pm_qos_params.c Mark Gross 2008-02-04 309 unsigned long flags;
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 310 int prev_value, curr_value, new_value;
2d984ad132a87c kernel/power/qos.c Rafael J. Wysocki 2014-02-11 311 int ret;
d82b35186eaa81 kernel/pm_qos_params.c Mark Gross 2008-02-04 312
d82b35186eaa81 kernel/pm_qos_params.c Mark Gross 2008-02-04 313 spin_lock_irqsave(&pm_qos_lock, flags);
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 314 prev_value = pm_qos_get_value(c);
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 315 if (value == PM_QOS_DEFAULT_VALUE)
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 316 new_value = c->default_value;
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 317 else
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 318 new_value = value;
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 319
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 320 switch (action) {
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 321 case PM_QOS_REMOVE_REQ:
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 322 plist_del(node, &c->list);
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 323 break;
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 324 case PM_QOS_UPDATE_REQ:
5f279845f9d684 kernel/pm_qos_params.c James Bottomley 2010-07-19 325 /*
5f279845f9d684 kernel/pm_qos_params.c James Bottomley 2010-07-19 326 * to change the list, we atomically remove, reinit
5f279845f9d684 kernel/pm_qos_params.c James Bottomley 2010-07-19 327 * with new value and add, then see if the extremal
5f279845f9d684 kernel/pm_qos_params.c James Bottomley 2010-07-19 328 * changed
5f279845f9d684 kernel/pm_qos_params.c James Bottomley 2010-07-19 329 */
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 330 plist_del(node, &c->list);
fe43e2ce526979 kernel/power/qos.c Gustavo A. R. Silva 2018-03-30 331 /* fall through */
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 332 case PM_QOS_ADD_REQ:
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 333 plist_node_init(node, new_value);
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 334 plist_add(node, &c->list);
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 335 break;
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 336 default:
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 337 /* no action */
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 338 ;
d82b35186eaa81 kernel/pm_qos_params.c Mark Gross 2008-02-04 339 }
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 340
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 341 curr_value = pm_qos_get_value(c);
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 342 pm_qos_set_value(c, curr_value);
723feab600f71b kernel/power/qos.c Lina Iyer 2014-05-21 343 pm_qos_set_value_for_cpus(c);
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 344
d82b35186eaa81 kernel/pm_qos_params.c Mark Gross 2008-02-04 345 spin_unlock_irqrestore(&pm_qos_lock, flags);
d82b35186eaa81 kernel/pm_qos_params.c Mark Gross 2008-02-04 346
247e9ee034b044 kernel/power/qos.c Sahara 2013-06-21 347 trace_pm_qos_update_target(action, prev_value, curr_value);
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 348 if (prev_value != curr_value) {
2d984ad132a87c kernel/power/qos.c Rafael J. Wysocki 2014-02-11 349 ret = 1;
2d984ad132a87c kernel/power/qos.c Rafael J. Wysocki 2014-02-11 350 if (c->notifiers)
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 351 blocking_notifier_call_chain(c->notifiers,
5f279845f9d684 kernel/pm_qos_params.c James Bottomley 2010-07-19 352 (unsigned long)curr_value,
5f279845f9d684 kernel/pm_qos_params.c James Bottomley 2010-07-19 353 NULL);
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 354 } else {
2d984ad132a87c kernel/power/qos.c Rafael J. Wysocki 2014-02-11 355 ret = 0;
abe98ec2d86279 kernel/power/qos.c Jean Pihet 2011-08-25 356 }
2d984ad132a87c kernel/power/qos.c Rafael J. Wysocki 2014-02-11 357 return ret;
d82b35186eaa81 kernel/pm_qos_params.c Mark Gross 2008-02-04 358 }
d82b35186eaa81 kernel/pm_qos_params.c Mark Gross 2008-02-04 359
:::::: The code at line 306 was first introduced by commit
:::::: abe98ec2d86279fe821c9051003a0abc43444f15 PM QoS: Generalize and export constraints management code
:::::: TO: Jean Pihet <j-pihet(a)ti.com>
:::::: CC: Rafael J. Wysocki <rjw(a)sisk.pl>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[ammarfaizi2-block:google/android/kernel/common/android-4.19-stable 160/9999] drivers/usb/host/xhci-mem.c:1840:6: warning: no previous prototype for 'xhci_handle_sec_intr_events'
by kernel test robot
Hi Hemant,
FYI, the error/warning still remains.
tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android-4.19-stable
head: 90a691fca4c2525068d9908ac203e9f09e4e33c0
commit: 5dfdaa15caebc782d1c90ff6513d4cc9f6ac3663 [160/9999] ANDROID: GKI: usb: xhci: Add support for secondary interrupters
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20220122/202201220544.5GcYVGW1-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/ammarfaizi2/linux-block/commit/5dfdaa15caebc782d1c90ff...
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android-4.19-stable
git checkout 5dfdaa15caebc782d1c90ff6513d4cc9f6ac3663
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/tty/serial/ drivers/usb/host/ kernel/power/ mm/ sound/soc/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/usb/host/xhci-mem.c:936:6: warning: no previous prototype for 'xhci_free_virt_devices_depth_first' [-Wmissing-prototypes]
936 | void xhci_free_virt_devices_depth_first(struct xhci_hcd *xhci, int slot_id)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/usb/host/xhci-mem.c:1840:6: warning: no previous prototype for 'xhci_handle_sec_intr_events' [-Wmissing-prototypes]
1840 | void xhci_handle_sec_intr_events(struct xhci_hcd *xhci, int intr_num)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/usb/host/xhci-mem.c:1947:6: warning: no previous prototype for 'xhci_event_ring_cleanup' [-Wmissing-prototypes]
1947 | void xhci_event_ring_cleanup(struct xhci_hcd *xhci)
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/usb/host/xhci-mem.c:2486:5: warning: no previous prototype for 'xhci_event_ring_setup' [-Wmissing-prototypes]
2486 | int xhci_event_ring_setup(struct xhci_hcd *xhci, struct xhci_ring **er,
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/usb/host/xhci-mem.c:2590:5: warning: no previous prototype for 'xhci_event_ring_init' [-Wmissing-prototypes]
2590 | int xhci_event_ring_init(struct xhci_hcd *xhci, gfp_t flags)
| ^~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'xhci' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'num_segs' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'cycle_state' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'type' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'max_packet' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'flags' not described in 'xhci_ring_alloc'
vim +/xhci_handle_sec_intr_events +1840 drivers/usb/host/xhci-mem.c
1839
> 1840 void xhci_handle_sec_intr_events(struct xhci_hcd *xhci, int intr_num)
1841 {
1842 union xhci_trb *erdp_trb, *current_trb;
1843 struct xhci_segment *seg;
1844 u64 erdp_reg;
1845 u32 iman_reg;
1846 dma_addr_t deq;
1847 unsigned long segment_offset;
1848
1849 /* disable irq, ack pending interrupt and ack all pending events */
1850
1851 iman_reg =
1852 readl_relaxed(&xhci->sec_ir_set[intr_num]->irq_pending);
1853 iman_reg &= ~IMAN_IE;
1854 writel_relaxed(iman_reg,
1855 &xhci->sec_ir_set[intr_num]->irq_pending);
1856 iman_reg =
1857 readl_relaxed(&xhci->sec_ir_set[intr_num]->irq_pending);
1858 if (iman_reg & IMAN_IP)
1859 writel_relaxed(iman_reg,
1860 &xhci->sec_ir_set[intr_num]->irq_pending);
1861
1862 /* last acked event trb is in erdp reg */
1863 erdp_reg =
1864 xhci_read_64(xhci, &xhci->sec_ir_set[intr_num]->erst_dequeue);
1865 deq = (dma_addr_t)(erdp_reg & ~ERST_PTR_MASK);
1866 if (!deq) {
1867 pr_debug("%s: event ring handling not required\n", __func__);
1868 return;
1869 }
1870
1871 seg = xhci->sec_event_ring[intr_num]->first_seg;
1872 segment_offset = deq - seg->dma;
1873
1874 /* find out virtual address of the last acked event trb */
1875 erdp_trb = current_trb = &seg->trbs[0] +
1876 (segment_offset/sizeof(*current_trb));
1877
1878 /* read cycle state of the last acked trb to find out CCS */
1879 xhci->sec_event_ring[intr_num]->cycle_state =
1880 (current_trb->event_cmd.flags & TRB_CYCLE);
1881
1882 while (1) {
1883 /* last trb of the event ring: toggle cycle state */
1884 if (current_trb == &seg->trbs[TRBS_PER_SEGMENT - 1]) {
1885 xhci->sec_event_ring[intr_num]->cycle_state ^= 1;
1886 current_trb = &seg->trbs[0];
1887 } else {
1888 current_trb++;
1889 }
1890
1891 /* cycle state transition */
1892 if ((le32_to_cpu(current_trb->event_cmd.flags) & TRB_CYCLE) !=
1893 xhci->sec_event_ring[intr_num]->cycle_state)
1894 break;
1895 }
1896
1897 if (erdp_trb != current_trb) {
1898 deq =
1899 xhci_trb_virt_to_dma(xhci->sec_event_ring[intr_num]->deq_seg,
1900 current_trb);
1901 if (deq == 0)
1902 xhci_warn(xhci,
1903 "WARN invalid SW event ring dequeue ptr.\n");
1904 /* Update HC event ring dequeue pointer */
1905 erdp_reg &= ERST_PTR_MASK;
1906 erdp_reg |= ((u64) deq & (u64) ~ERST_PTR_MASK);
1907 }
1908
1909 /* Clear the event handler busy flag (RW1C); event ring is empty. */
1910 erdp_reg |= ERST_EHB;
1911 xhci_write_64(xhci, erdp_reg,
1912 &xhci->sec_ir_set[intr_num]->erst_dequeue);
1913 }
1914
1915 int xhci_sec_event_ring_cleanup(struct usb_hcd *hcd, unsigned int intr_num)
1916 {
1917 int size;
1918 struct xhci_hcd *xhci = hcd_to_xhci(hcd);
1919 struct device *dev = xhci_to_hcd(xhci)->self.sysdev;
1920
1921 if (intr_num >= xhci->max_interrupters) {
1922 xhci_err(xhci, "invalid secondary interrupter num %d\n",
1923 intr_num);
1924 return -EINVAL;
1925 }
1926
1927 size =
1928 sizeof(struct xhci_erst_entry)*(xhci->sec_erst[intr_num].num_entries);
1929 if (xhci->sec_erst[intr_num].entries) {
1930 xhci_handle_sec_intr_events(xhci, intr_num);
1931 dma_free_coherent(dev, size, xhci->sec_erst[intr_num].entries,
1932 xhci->sec_erst[intr_num].erst_dma_addr);
1933 xhci->sec_erst[intr_num].entries = NULL;
1934 }
1935 xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Freed SEC ERST#%d",
1936 intr_num);
1937 if (xhci->sec_event_ring[intr_num])
1938 xhci_ring_free(xhci, xhci->sec_event_ring[intr_num]);
1939
1940 xhci->sec_event_ring[intr_num] = NULL;
1941 xhci_dbg_trace(xhci, trace_xhci_dbg_init,
1942 "Freed sec event ring");
1943
1944 return 0;
1945 }
1946
> 1947 void xhci_event_ring_cleanup(struct xhci_hcd *xhci)
1948 {
1949 unsigned int i;
1950
1951 /* sec event ring clean up */
1952 for (i = 1; i < xhci->max_interrupters; i++)
1953 xhci_sec_event_ring_cleanup(xhci_to_hcd(xhci), i);
1954
1955 kfree(xhci->sec_ir_set);
1956 xhci->sec_ir_set = NULL;
1957 kfree(xhci->sec_erst);
1958 xhci->sec_erst = NULL;
1959 kfree(xhci->sec_event_ring);
1960 xhci->sec_event_ring = NULL;
1961
1962 /* primary event ring clean up */
1963 xhci_free_erst(xhci, &xhci->erst);
1964 xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Freed primary ERST");
1965 if (xhci->event_ring)
1966 xhci_ring_free(xhci, xhci->event_ring);
1967 xhci->event_ring = NULL;
1968 xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Freed priamry event ring");
1969 }
1970
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH 1/2] mmc:sdhci-msm:fix Qualcomm sd host 7180 SD card compatibility issue
by kernel test robot
Hi Chevron,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on c9e6606c7fe92b50a02ce51dda82586ebdf99b48]
url: https://github.com/0day-ci/linux/commits/Chevron-Li/mmc-sdhci-msm-fix-Qua...
base: c9e6606c7fe92b50a02ce51dda82586ebdf99b48
config: arc-randconfig-r043-20220121 (https://download.01.org/0day-ci/archive/20220122/202201220531.njLkAypI-lk...)
compiler: arceb-elf-gcc (GCC) 11.2.0
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://github.com/0day-ci/linux/commit/bba780c9359fe89c2a3e769bfa6373f58...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Chevron-Li/mmc-sdhci-msm-fix-Qualcomm-sd-host-7180-SD-card-compatibility-issue/20220121-191113
git checkout bba780c9359fe89c2a3e769bfa6373f58b90ee76
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/mmc/host/sdhci-msm.c: In function 'sdhci_msm_probe':
>> drivers/mmc/host/sdhci-msm.c:2535:40: warning: variable 'bht_host' set but not used [-Wunused-but-set-variable]
2535 | struct sdhci_bht_host *bht_host;
| ^~~~~~~~
vim +/bht_host +2535 drivers/mmc/host/sdhci-msm.c
2498
2499
2500 static int sdhci_msm_probe(struct platform_device *pdev)
2501 {
2502 struct sdhci_host *host;
2503 struct sdhci_pltfm_host *pltfm_host;
2504 struct sdhci_msm_host *msm_host;
2505 struct clk *clk;
2506 int ret;
2507 u16 host_version, core_minor;
2508 u32 core_version, config;
2509 u8 core_major;
2510 const struct sdhci_msm_offset *msm_offset;
2511 const struct sdhci_msm_variant_info *var_info;
2512 struct device_node *node = pdev->dev.of_node;
2513
2514 /* Bayhub patch: memory allocate for sdhci_bht_host structure */
2515 if (of_find_property(node, "use-bayhub-bh201", NULL))
2516 host = sdhci_pltfm_init(pdev, &sdhci_msm_pdata,
2517 sizeof(*msm_host) + sizeof(struct sdhci_bht_host));
2518 else
2519 host = sdhci_pltfm_init(pdev, &sdhci_msm_pdata, sizeof(*msm_host));
2520 if (IS_ERR(host))
2521 return PTR_ERR(host);
2522
2523 host->sdma_boundary = 0;
2524 pltfm_host = sdhci_priv(host);
2525 msm_host = sdhci_pltfm_priv(pltfm_host);
2526 msm_host->mmc = host->mmc;
2527 msm_host->pdev = pdev;
2528
2529 ret = mmc_of_parse(host->mmc);
2530 if (ret)
2531 goto pltfm_free;
2532
2533 /* Bayhub patch: resource assign and mmc_rescan routine overload */
2534 if (of_find_property(node, "use-bayhub-bh201", NULL)) {
> 2535 struct sdhci_bht_host *bht_host;
2536
2537 bht_host = sdhci_msm_priv(msm_host);
2538 sdhci_bht_parse(msm_host->mmc);
2539 INIT_DELAYED_WORK(&host->mmc->detect, mmc_rescan_bht);
2540 }
2541
2542 /*
2543 * Based on the compatible string, load the required msm host info from
2544 * the data associated with the version info.
2545 */
2546 var_info = of_device_get_match_data(&pdev->dev);
2547
2548 msm_host->mci_removed = var_info->mci_removed;
2549 msm_host->restore_dll_config = var_info->restore_dll_config;
2550 msm_host->var_ops = var_info->var_ops;
2551 msm_host->offset = var_info->offset;
2552
2553 msm_offset = msm_host->offset;
2554
2555 sdhci_get_of_property(pdev);
2556 sdhci_msm_get_of_property(pdev, host);
2557
2558 msm_host->saved_tuning_phase = INVALID_TUNING_PHASE;
2559
2560 /* Setup SDCC bus voter clock. */
2561 msm_host->bus_clk = devm_clk_get(&pdev->dev, "bus");
2562 if (!IS_ERR(msm_host->bus_clk)) {
2563 /* Vote for max. clk rate for max. performance */
2564 ret = clk_set_rate(msm_host->bus_clk, INT_MAX);
2565 if (ret)
2566 goto pltfm_free;
2567 ret = clk_prepare_enable(msm_host->bus_clk);
2568 if (ret)
2569 goto pltfm_free;
2570 }
2571
2572 /* Setup main peripheral bus clock */
2573 clk = devm_clk_get(&pdev->dev, "iface");
2574 if (IS_ERR(clk)) {
2575 ret = PTR_ERR(clk);
2576 dev_err(&pdev->dev, "Peripheral clk setup failed (%d)\n", ret);
2577 goto bus_clk_disable;
2578 }
2579 msm_host->bulk_clks[1].clk = clk;
2580
2581 /* Setup SDC MMC clock */
2582 clk = devm_clk_get(&pdev->dev, "core");
2583 if (IS_ERR(clk)) {
2584 ret = PTR_ERR(clk);
2585 dev_err(&pdev->dev, "SDC MMC clk setup failed (%d)\n", ret);
2586 goto bus_clk_disable;
2587 }
2588 msm_host->bulk_clks[0].clk = clk;
2589
2590 /* Check for optional interconnect paths */
2591 ret = dev_pm_opp_of_find_icc_paths(&pdev->dev, NULL);
2592 if (ret)
2593 goto bus_clk_disable;
2594
2595 ret = devm_pm_opp_set_clkname(&pdev->dev, "core");
2596 if (ret)
2597 goto bus_clk_disable;
2598
2599 /* OPP table is optional */
2600 ret = devm_pm_opp_of_add_table(&pdev->dev);
2601 if (ret && ret != -ENODEV) {
2602 dev_err(&pdev->dev, "Invalid OPP table in Device tree\n");
2603 goto bus_clk_disable;
2604 }
2605
2606 /* Vote for maximum clock rate for maximum performance */
2607 ret = dev_pm_opp_set_rate(&pdev->dev, INT_MAX);
2608 if (ret)
2609 dev_warn(&pdev->dev, "core clock boost failed\n");
2610
2611 clk = devm_clk_get(&pdev->dev, "cal");
2612 if (IS_ERR(clk))
2613 clk = NULL;
2614 msm_host->bulk_clks[2].clk = clk;
2615
2616 clk = devm_clk_get(&pdev->dev, "sleep");
2617 if (IS_ERR(clk))
2618 clk = NULL;
2619 msm_host->bulk_clks[3].clk = clk;
2620
2621 clk = sdhci_msm_ice_get_clk(&pdev->dev);
2622 if (IS_ERR(clk))
2623 clk = NULL;
2624 msm_host->bulk_clks[4].clk = clk;
2625
2626 ret = clk_bulk_prepare_enable(ARRAY_SIZE(msm_host->bulk_clks),
2627 msm_host->bulk_clks);
2628 if (ret)
2629 goto bus_clk_disable;
2630
2631 /*
2632 * xo clock is needed for FLL feature of cm_dll.
2633 * In case if xo clock is not mentioned in DT, warn and proceed.
2634 */
2635 msm_host->xo_clk = devm_clk_get(&pdev->dev, "xo");
2636 if (IS_ERR(msm_host->xo_clk)) {
2637 ret = PTR_ERR(msm_host->xo_clk);
2638 dev_warn(&pdev->dev, "TCXO clk not present (%d)\n", ret);
2639 }
2640
2641 if (!msm_host->mci_removed) {
2642 msm_host->core_mem = devm_platform_ioremap_resource(pdev, 1);
2643 if (IS_ERR(msm_host->core_mem)) {
2644 ret = PTR_ERR(msm_host->core_mem);
2645 goto clk_disable;
2646 }
2647 }
2648
2649 /* Reset the vendor spec register to power on reset state */
2650 writel_relaxed(CORE_VENDOR_SPEC_POR_VAL,
2651 host->ioaddr + msm_offset->core_vendor_spec);
2652
2653 if (!msm_host->mci_removed) {
2654 /* Set HC_MODE_EN bit in HC_MODE register */
2655 msm_host_writel(msm_host, HC_MODE_EN, host,
2656 msm_offset->core_hc_mode);
2657 config = msm_host_readl(msm_host, host,
2658 msm_offset->core_hc_mode);
2659 config |= FF_CLK_SW_RST_DIS;
2660 msm_host_writel(msm_host, config, host,
2661 msm_offset->core_hc_mode);
2662 }
2663
2664 host_version = readw_relaxed((host->ioaddr + SDHCI_HOST_VERSION));
2665 dev_dbg(&pdev->dev, "Host Version: 0x%x Vendor Version 0x%x\n",
2666 host_version, ((host_version & SDHCI_VENDOR_VER_MASK) >>
2667 SDHCI_VENDOR_VER_SHIFT));
2668
2669 core_version = msm_host_readl(msm_host, host,
2670 msm_offset->core_mci_version);
2671 core_major = (core_version & CORE_VERSION_MAJOR_MASK) >>
2672 CORE_VERSION_MAJOR_SHIFT;
2673 core_minor = core_version & CORE_VERSION_MINOR_MASK;
2674 dev_dbg(&pdev->dev, "MCI Version: 0x%08x, major: 0x%04x, minor: 0x%02x\n",
2675 core_version, core_major, core_minor);
2676
2677 if (core_major == 1 && core_minor >= 0x42)
2678 msm_host->use_14lpp_dll_reset = true;
2679
2680 /*
2681 * SDCC 5 controller with major version 1, minor version 0x34 and later
2682 * with HS 400 mode support will use CM DLL instead of CDC LP 533 DLL.
2683 */
2684 if (core_major == 1 && core_minor < 0x34)
2685 msm_host->use_cdclp533 = true;
2686
2687 /*
2688 * Support for some capabilities is not advertised by newer
2689 * controller versions and must be explicitly enabled.
2690 */
2691 if (core_major >= 1 && core_minor != 0x11 && core_minor != 0x12) {
2692 config = readl_relaxed(host->ioaddr + SDHCI_CAPABILITIES);
2693 config |= SDHCI_CAN_VDD_300 | SDHCI_CAN_DO_8BIT;
2694 writel_relaxed(config, host->ioaddr +
2695 msm_offset->core_vendor_spec_capabilities0);
2696 }
2697
2698 if (core_major == 1 && core_minor >= 0x49)
2699 msm_host->updated_ddr_cfg = true;
2700
2701 if (core_major == 1 && core_minor >= 0x71)
2702 msm_host->uses_tassadar_dll = true;
2703
2704 ret = sdhci_msm_register_vreg(msm_host);
2705 if (ret)
2706 goto clk_disable;
2707
2708 /*
2709 * Power on reset state may trigger power irq if previous status of
2710 * PWRCTL was either BUS_ON or IO_HIGH_V. So before enabling pwr irq
2711 * interrupt in GIC, any pending power irq interrupt should be
2712 * acknowledged. Otherwise power irq interrupt handler would be
2713 * fired prematurely.
2714 */
2715 sdhci_msm_handle_pwr_irq(host, 0);
2716
2717 /*
2718 * Ensure that above writes are propogated before interrupt enablement
2719 * in GIC.
2720 */
2721 mb();
2722
2723 /* Setup IRQ for handling power/voltage tasks with PMIC */
2724 msm_host->pwr_irq = platform_get_irq_byname(pdev, "pwr_irq");
2725 if (msm_host->pwr_irq < 0) {
2726 ret = msm_host->pwr_irq;
2727 goto clk_disable;
2728 }
2729
2730 sdhci_msm_init_pwr_irq_wait(msm_host);
2731 /* Enable pwr irq interrupts */
2732 msm_host_writel(msm_host, INT_MASK, host,
2733 msm_offset->core_pwrctl_mask);
2734
2735 ret = devm_request_threaded_irq(&pdev->dev, msm_host->pwr_irq, NULL,
2736 sdhci_msm_pwr_irq, IRQF_ONESHOT,
2737 dev_name(&pdev->dev), host);
2738 if (ret) {
2739 dev_err(&pdev->dev, "Request IRQ failed (%d)\n", ret);
2740 goto clk_disable;
2741 }
2742
2743 msm_host->mmc->caps |= MMC_CAP_WAIT_WHILE_BUSY | MMC_CAP_NEED_RSP_BUSY;
2744
2745 /* Set the timeout value to max possible */
2746 host->max_timeout_count = 0xF;
2747
2748 pm_runtime_get_noresume(&pdev->dev);
2749 pm_runtime_set_active(&pdev->dev);
2750 pm_runtime_enable(&pdev->dev);
2751 pm_runtime_set_autosuspend_delay(&pdev->dev,
2752 MSM_MMC_AUTOSUSPEND_DELAY_MS);
2753 pm_runtime_use_autosuspend(&pdev->dev);
2754
2755 host->mmc_host_ops.start_signal_voltage_switch =
2756 sdhci_msm_start_signal_voltage_switch;
2757 host->mmc_host_ops.execute_tuning = sdhci_msm_execute_tuning;
2758 /* Bayhub patch: overload the mmc_host_ops.execute_tuning routine */
2759 if (of_find_property(node, "use-bayhub-bh201", NULL))
2760 host->mmc_host_ops.execute_tuning = sdhci_bht_execute_tuning;
2761 if (of_property_read_bool(node, "supports-cqe"))
2762 ret = sdhci_msm_cqe_add_host(host, pdev);
2763 else
2764 ret = sdhci_add_host(host);
2765 if (ret)
2766 goto pm_runtime_disable;
2767
2768 pm_runtime_mark_last_busy(&pdev->dev);
2769 pm_runtime_put_autosuspend(&pdev->dev);
2770
2771 return 0;
2772
2773 pm_runtime_disable:
2774 pm_runtime_disable(&pdev->dev);
2775 pm_runtime_set_suspended(&pdev->dev);
2776 pm_runtime_put_noidle(&pdev->dev);
2777 clk_disable:
2778 clk_bulk_disable_unprepare(ARRAY_SIZE(msm_host->bulk_clks),
2779 msm_host->bulk_clks);
2780 bus_clk_disable:
2781 if (!IS_ERR(msm_host->bus_clk))
2782 clk_disable_unprepare(msm_host->bus_clk);
2783 pltfm_free:
2784 /* Bayhub patch: release assigned resource */
2785 if (of_find_property(node, "use-bayhub-bh201", NULL))
2786 sdhci_bht_resource_free(msm_host);
2787 sdhci_pltfm_free(pdev);
2788 return ret;
2789 }
2790
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH v3 04/16] clk: samsung: fsd: Add initial clock support
by kernel test robot
Hi Alim,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20220121]
[also build test WARNING on v5.16]
[cannot apply to clk/clk-next robh/for-next pinctrl-samsung/for-next v5.16 v5.16-rc8 v5.16-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Alim-Akhtar/dt-bindings-add-vend...
base: c94951012a748a0f8ed77cd8fc25640c6fe198f9
config: mips-allmodconfig (https://download.01.org/0day-ci/archive/20220122/202201220550.FSQ6N02X-lk...)
compiler: mips-linux-gcc (GCC) 11.2.0
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://github.com/0day-ci/linux/commit/69b6b21ebabb149c1c07d83376e9c08a5...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alim-Akhtar/dt-bindings-add-vendor-prefix-for-Tesla/20220122-022924
git checkout 69b6b21ebabb149c1c07d83376e9c08a582c6423
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=mips SHELL=/bin/bash drivers/clk/samsung/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/clk/samsung/clk-fsd.c:150:9: warning: this decimal constant is unsigned only in ISO C90
150 | PLL_35XX_RATE(24 * MHZ, 2400000000, 200, 2, 0),
| ^~~~~~~~~~~~~
In file included from include/linux/bits.h:22,
from include/linux/bitops.h:6,
from include/linux/of.h:15,
from include/linux/clk-provider.h:9,
from drivers/clk/samsung/clk-fsd.c:11:
>> include/linux/build_bug.h:16:51: warning: this decimal constant is unsigned only in ISO C90
16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
| ^
drivers/clk/samsung/clk-pll.h:48:9: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
48 | BUILD_BUG_ON_ZERO(PLL_RATE(_fin, _m, _p, _s, _k, _ks) != (_fout)))
| ^~~~~~~~~~~~~~~~~
drivers/clk/samsung/clk-pll.h:52:33: note: in expansion of macro 'PLL_VALID_RATE'
52 | .rate = PLL_VALID_RATE(_fin, _rate, \
| ^~~~~~~~~~~~~~
drivers/clk/samsung/clk-fsd.c:150:9: note: in expansion of macro 'PLL_35XX_RATE'
150 | PLL_35XX_RATE(24 * MHZ, 2400000000, 200, 2, 0),
| ^~~~~~~~~~~~~
drivers/clk/samsung/clk-fsd.c:154:9: warning: this decimal constant is unsigned only in ISO C90
154 | PLL_35XX_RATE(24 * MHZ, 2400000000, 200, 2, 0),
| ^~~~~~~~~~~~~
In file included from include/linux/bits.h:22,
from include/linux/bitops.h:6,
from include/linux/of.h:15,
from include/linux/clk-provider.h:9,
from drivers/clk/samsung/clk-fsd.c:11:
>> include/linux/build_bug.h:16:51: warning: this decimal constant is unsigned only in ISO C90
16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
| ^
drivers/clk/samsung/clk-pll.h:48:9: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
48 | BUILD_BUG_ON_ZERO(PLL_RATE(_fin, _m, _p, _s, _k, _ks) != (_fout)))
| ^~~~~~~~~~~~~~~~~
drivers/clk/samsung/clk-pll.h:52:33: note: in expansion of macro 'PLL_VALID_RATE'
52 | .rate = PLL_VALID_RATE(_fin, _rate, \
| ^~~~~~~~~~~~~~
drivers/clk/samsung/clk-fsd.c:154:9: note: in expansion of macro 'PLL_35XX_RATE'
154 | PLL_35XX_RATE(24 * MHZ, 2400000000, 200, 2, 0),
| ^~~~~~~~~~~~~
vim +150 drivers/clk/samsung/clk-fsd.c
148
149 static const struct samsung_pll_rate_table pll_shared1_rate_table[] __initconst = {
> 150 PLL_35XX_RATE(24 * MHZ, 2400000000, 200, 2, 0),
151 };
152
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[rppt:gfp-unmapped/v0 1/3] include/linux/compiler_types.h:346:38: error: call to '__compiletime_assert_622' declared with attribute error: BUILD_BUG_ON failed: pageblock_order != PMD_ORDER
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git gfp-unmapped/v0
head: 53acd000a0eef1457aaa4930c0d2003d7785f799
commit: 253f456a5cb652a16a59cc4ac2e18669997d79cd [1/3] mm/page_alloc: introduce __GFP_UNMAPPED and MIGRETE_UNMAPPED
config: x86_64-randconfig-a012-20220117 (https://download.01.org/0day-ci/archive/20220122/202201220449.6A30CSDa-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git/commit/?id...
git remote add rppt https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git
git fetch --no-tags rppt gfp-unmapped/v0
git checkout 253f456a5cb652a16a59cc4ac2e18669997d79cd
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
mm/page_alloc.c:3955:15: warning: no previous prototype for 'should_fail_alloc_page' [-Wmissing-prototypes]
3955 | noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
In function 'set_pageblock_unmapped',
inlined from 'get_page_from_freelist' at mm/page_alloc.c:4301:8:
>> include/linux/compiler_types.h:346:38: error: call to '__compiletime_assert_622' declared with attribute error: BUILD_BUG_ON failed: pageblock_order != PMD_ORDER
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler_types.h:327:4: note: in definition of macro '__compiletime_assert'
327 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler_types.h:346:2: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
mm/page_alloc.c:2660:2: note: in expansion of macro 'BUILD_BUG_ON'
2660 | BUILD_BUG_ON(pageblock_order != PMD_ORDER);
| ^~~~~~~~~~~~
vim +/__compiletime_assert_622 +346 include/linux/compiler_types.h
eb5c2d4b45e3d2 Will Deacon 2020-07-21 332
eb5c2d4b45e3d2 Will Deacon 2020-07-21 333 #define _compiletime_assert(condition, msg, prefix, suffix) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 334 __compiletime_assert(condition, msg, prefix, suffix)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 335
eb5c2d4b45e3d2 Will Deacon 2020-07-21 336 /**
eb5c2d4b45e3d2 Will Deacon 2020-07-21 337 * compiletime_assert - break build and emit msg if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 338 * @condition: a compile-time constant condition to check
eb5c2d4b45e3d2 Will Deacon 2020-07-21 339 * @msg: a message to emit if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 340 *
eb5c2d4b45e3d2 Will Deacon 2020-07-21 341 * In tradition of POSIX assert, this macro will break the build if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 342 * supplied condition is *false*, emitting the supplied error message if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 343 * compiler has support to do so.
eb5c2d4b45e3d2 Will Deacon 2020-07-21 344 */
eb5c2d4b45e3d2 Will Deacon 2020-07-21 345 #define compiletime_assert(condition, msg) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 @346 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 347
:::::: The code at line 346 was first introduced by commit
:::::: eb5c2d4b45e3d2d5d052ea6b8f1463976b1020d5 compiler.h: Move compiletime_assert() macros into compiler_types.h
:::::: TO: Will Deacon <will(a)kernel.org>
:::::: CC: Will Deacon <will(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[ammarfaizi2-block:google/android/kernel/common/android-4.19-stable 64/9999] drivers/clk/clk.c:3145:5: warning: no previous prototype for 'clk_set_flags'
by kernel test robot
Hi Saravana,
FYI, the error/warning still remains.
tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android-4.19-stable
head: 90a691fca4c2525068d9908ac203e9f09e4e33c0
commit: 3179a1a38d96f565a2229b9244285c6abf62b10a [64/9999] ANDROID: GKI: clk: Add support for voltage voting
config: x86_64-randconfig-a011 (https://download.01.org/0day-ci/archive/20220122/202201220318.8Dmp8LoU-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/ammarfaizi2/linux-block/commit/3179a1a38d96f565a2229b9...
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android-4.19-stable
git checkout 3179a1a38d96f565a2229b9244285c6abf62b10a
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/clk/ drivers/nvmem/ kernel/power/ kernel/sched/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/clk/clk.c: In function 'clk_update_vdd':
drivers/clk/clk.c:624:24: warning: variable 'ignore' set but not used [-Wunused-but-set-variable]
624 | int level, rc = 0, i, ignore;
| ^~~~~~
drivers/clk/clk.c: At top level:
>> drivers/clk/clk.c:3145:5: warning: no previous prototype for 'clk_set_flags' [-Wmissing-prototypes]
3145 | int clk_set_flags(struct clk *clk, unsigned long flags)
| ^~~~~~~~~~~~~
>> drivers/clk/clk.c:3157:6: warning: no previous prototype for 'clk_debug_print_hw' [-Wmissing-prototypes]
3157 | void clk_debug_print_hw(struct clk_core *clk, struct seq_file *f)
| ^~~~~~~~~~~~~~~~~~
drivers/clk/clk.c:4257: warning: Function parameter or member 'dev' not described in 'devm_clk_unregister'
drivers/clk/clk.c:4455: warning: Function parameter or member 'get_hw' not described in 'of_clk_provider'
vim +/clk_set_flags +3145 drivers/clk/clk.c
3144
> 3145 int clk_set_flags(struct clk *clk, unsigned long flags)
3146 {
3147 if (!clk)
3148 return 0;
3149
3150 if (!clk->core->ops->set_flags)
3151 return -EINVAL;
3152
3153 return clk->core->ops->set_flags(clk->core->hw, flags);
3154 }
3155 EXPORT_SYMBOL_GPL(clk_set_flags);
3156
> 3157 void clk_debug_print_hw(struct clk_core *clk, struct seq_file *f)
3158 {
3159 }
3160 EXPORT_SYMBOL(clk_debug_print_hw);
3161
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH 1/2] media: rc-core: rename ir_raw_event_reset to ir_raw_event_overflow
by kernel test robot
Hi Sean,
I love your patch! Yet something to improve:
[auto build test ERROR on media-tree/master]
[also build test ERROR on next-20220121]
[cannot apply to sunxi/sunxi/for-next v5.16]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Sean-Young/media-rc-core-rename-...
base: git://linuxtv.org/media_tree.git master
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20220122/202201220241.WSoRnyo3-lk...)
compiler: alpha-linux-gcc (GCC) 11.2.0
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://github.com/0day-ci/linux/commit/5b0115b915832b54ebe085c923d73209b...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sean-Young/media-rc-core-rename-ir_raw_event_reset-to-ir_raw_event_overflow/20220121-001937
git checkout 5b0115b915832b54ebe085c923d73209b1abb364
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=alpha SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/media/rc/mtk-cir.c: In function 'mtk_ir_irq':
>> drivers/media/rc/mtk-cir.c:220:9: error: implicit declaration of function 'ir_raw_event_reset'; did you mean 'ir_raw_event_store'? [-Werror=implicit-function-declaration]
220 | ir_raw_event_reset(ir->rc);
| ^~~~~~~~~~~~~~~~~~
| ir_raw_event_store
cc1: some warnings being treated as errors
vim +220 drivers/media/rc/mtk-cir.c
6691e7b9a57c24 Sean Wang 2017-01-13 202
6691e7b9a57c24 Sean Wang 2017-01-13 203 static irqreturn_t mtk_ir_irq(int irqno, void *dev_id)
6691e7b9a57c24 Sean Wang 2017-01-13 204 {
6691e7b9a57c24 Sean Wang 2017-01-13 205 struct mtk_ir *ir = dev_id;
6691e7b9a57c24 Sean Wang 2017-01-13 206 u8 wid = 0;
6691e7b9a57c24 Sean Wang 2017-01-13 207 u32 i, j, val;
183e19f5b9ee18 Sean Young 2018-08-21 208 struct ir_raw_event rawir = {};
6691e7b9a57c24 Sean Wang 2017-01-13 209
6691e7b9a57c24 Sean Wang 2017-01-13 210 /*
6691e7b9a57c24 Sean Wang 2017-01-13 211 * Reset decoder state machine explicitly is required
6691e7b9a57c24 Sean Wang 2017-01-13 212 * because 1) the longest duration for space MTK IR hardware
6691e7b9a57c24 Sean Wang 2017-01-13 213 * could record is not safely long. e.g 12ms if rx resolution
6691e7b9a57c24 Sean Wang 2017-01-13 214 * is 46us by default. There is still the risk to satisfying
6691e7b9a57c24 Sean Wang 2017-01-13 215 * every decoder to reset themselves through long enough
6691e7b9a57c24 Sean Wang 2017-01-13 216 * trailing spaces and 2) the IRQ handler guarantees that
6691e7b9a57c24 Sean Wang 2017-01-13 217 * start of IR message is always contained in and starting
50c3c1ba171f3f Sean Wang 2017-06-30 218 * from register mtk_chkdata_reg(ir, i).
6691e7b9a57c24 Sean Wang 2017-01-13 219 */
6691e7b9a57c24 Sean Wang 2017-01-13 @220 ir_raw_event_reset(ir->rc);
6691e7b9a57c24 Sean Wang 2017-01-13 221
6691e7b9a57c24 Sean Wang 2017-01-13 222 /* First message must be pulse */
6691e7b9a57c24 Sean Wang 2017-01-13 223 rawir.pulse = false;
6691e7b9a57c24 Sean Wang 2017-01-13 224
6691e7b9a57c24 Sean Wang 2017-01-13 225 /* Handle all pulse and space IR controller captures */
6691e7b9a57c24 Sean Wang 2017-01-13 226 for (i = 0 ; i < MTK_CHKDATA_SZ ; i++) {
50c3c1ba171f3f Sean Wang 2017-06-30 227 val = mtk_r32(ir, mtk_chkdata_reg(ir, i));
6691e7b9a57c24 Sean Wang 2017-01-13 228 dev_dbg(ir->dev, "@reg%d=0x%08x\n", i, val);
6691e7b9a57c24 Sean Wang 2017-01-13 229
6691e7b9a57c24 Sean Wang 2017-01-13 230 for (j = 0 ; j < 4 ; j++) {
6691e7b9a57c24 Sean Wang 2017-01-13 231 wid = (val & (MTK_WIDTH_MASK << j * 8)) >> j * 8;
6691e7b9a57c24 Sean Wang 2017-01-13 232 rawir.pulse = !rawir.pulse;
6691e7b9a57c24 Sean Wang 2017-01-13 233 rawir.duration = wid * (MTK_IR_SAMPLE + 1);
6691e7b9a57c24 Sean Wang 2017-01-13 234 ir_raw_event_store_with_filter(ir->rc, &rawir);
6691e7b9a57c24 Sean Wang 2017-01-13 235 }
6691e7b9a57c24 Sean Wang 2017-01-13 236 }
6691e7b9a57c24 Sean Wang 2017-01-13 237
6691e7b9a57c24 Sean Wang 2017-01-13 238 /*
6691e7b9a57c24 Sean Wang 2017-01-13 239 * The maximum number of edges the IR controller can
6691e7b9a57c24 Sean Wang 2017-01-13 240 * hold is MTK_CHKDATA_SZ * 4. So if received IR messages
6691e7b9a57c24 Sean Wang 2017-01-13 241 * is over the limit, the last incomplete IR message would
6691e7b9a57c24 Sean Wang 2017-01-13 242 * be appended trailing space and still would be sent into
6691e7b9a57c24 Sean Wang 2017-01-13 243 * ir-rc-raw to decode. That helps it is possible that it
6691e7b9a57c24 Sean Wang 2017-01-13 244 * has enough information to decode a scancode even if the
6691e7b9a57c24 Sean Wang 2017-01-13 245 * trailing end of the message is missing.
6691e7b9a57c24 Sean Wang 2017-01-13 246 */
6691e7b9a57c24 Sean Wang 2017-01-13 247 if (!MTK_IR_END(wid, rawir.pulse)) {
6691e7b9a57c24 Sean Wang 2017-01-13 248 rawir.pulse = false;
6691e7b9a57c24 Sean Wang 2017-01-13 249 rawir.duration = MTK_MAX_SAMPLES * (MTK_IR_SAMPLE + 1);
6691e7b9a57c24 Sean Wang 2017-01-13 250 ir_raw_event_store_with_filter(ir->rc, &rawir);
6691e7b9a57c24 Sean Wang 2017-01-13 251 }
6691e7b9a57c24 Sean Wang 2017-01-13 252
6691e7b9a57c24 Sean Wang 2017-01-13 253 ir_raw_event_handle(ir->rc);
6691e7b9a57c24 Sean Wang 2017-01-13 254
6691e7b9a57c24 Sean Wang 2017-01-13 255 /*
6691e7b9a57c24 Sean Wang 2017-01-13 256 * Restart controller for the next receive that would
6691e7b9a57c24 Sean Wang 2017-01-13 257 * clear up all CHKDATA registers
6691e7b9a57c24 Sean Wang 2017-01-13 258 */
50c3c1ba171f3f Sean Wang 2017-06-30 259 mtk_w32_mask(ir, 0x1, MTK_IRCLR, ir->data->regs[MTK_IRCLR_REG]);
6691e7b9a57c24 Sean Wang 2017-01-13 260
6691e7b9a57c24 Sean Wang 2017-01-13 261 /* Clear interrupt status */
50c3c1ba171f3f Sean Wang 2017-06-30 262 mtk_w32_mask(ir, 0x1, MTK_IRINT_CLR,
50c3c1ba171f3f Sean Wang 2017-06-30 263 ir->data->regs[MTK_IRINT_CLR_REG]);
6691e7b9a57c24 Sean Wang 2017-01-13 264
6691e7b9a57c24 Sean Wang 2017-01-13 265 return IRQ_HANDLED;
6691e7b9a57c24 Sean Wang 2017-01-13 266 }
6691e7b9a57c24 Sean Wang 2017-01-13 267
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[ammarfaizi2-block:google/android/kernel/common/android13-5.10 2895/9999] phylink.c:undefined reference to `linkmode_resolve_pause'
by kernel test robot
Hi Chanho,
FYI, the error/warning still remains.
tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android13-5.10
head: 0b57557c8d4c5bc3f102bcc5f901482dbcb2ba1c
commit: 36ab8cea47b0d4a3c5067577430c147a903b5261 [2895/9999] ANDROID: GKI: Kconfig.gki: Add GKI_HIDDEN_ETHERNET_CONFIGS
config: arm-randconfig-r023-20220120 (https://download.01.org/0day-ci/archive/20220122/202201220224.w1sN3O9g-lk...)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
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://github.com/ammarfaizi2/linux-block/commit/36ab8cea47b0d4a3c506757...
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android13-5.10
git checkout 36ab8cea47b0d4a3c5067577430c147a903b5261
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arm-linux-gnueabi-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_cleanup':
hvc_console.c:(.text+0x4d4): undefined reference to `tty_port_put'
arm-linux-gnueabi-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_set_winsz':
hvc_console.c:(.text+0x59c): undefined reference to `tty_port_tty_get'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0x5dc): undefined reference to `tty_do_resize'
arm-linux-gnueabi-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_hangup':
hvc_console.c:(.text+0x6f4): undefined reference to `tty_port_tty_set'
arm-linux-gnueabi-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_open':
hvc_console.c:(.text+0x790): undefined reference to `tty_port_tty_set'
arm-linux-gnueabi-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_close':
hvc_console.c:(.text+0xa20): undefined reference to `tty_hung_up_p'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0xa6c): undefined reference to `tty_port_tty_set'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0xae8): undefined reference to `tty_wait_until_sent'
arm-linux-gnueabi-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_remove':
hvc_console.c:(.text+0xb5c): undefined reference to `tty_port_tty_get'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0xbc4): undefined reference to `tty_port_put'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0xbd8): undefined reference to `tty_vhangup'
arm-linux-gnueabi-ld: drivers/tty/hvc/hvc_console.o: in function `__hvc_poll':
hvc_console.c:(.text+0xcc0): undefined reference to `tty_port_tty_get'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0xd2c): undefined reference to `tty_buffer_request_room'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0xd88): undefined reference to `tty_hangup'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0xeb8): undefined reference to `__tty_insert_flip_char'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0xf68): undefined reference to `tty_wakeup'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0xfa4): undefined reference to `tty_flip_buffer_push'
arm-linux-gnueabi-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_install':
hvc_console.c:(.text+0x12f8): undefined reference to `tty_port_install'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0x130c): undefined reference to `tty_port_put'
arm-linux-gnueabi-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_alloc':
hvc_console.c:(.text+0x1390): undefined reference to `__tty_alloc_driver'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0x13b0): undefined reference to `tty_std_termios'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0x13b4): undefined reference to `tty_std_termios'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0x1408): undefined reference to `tty_set_operations'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0x1450): undefined reference to `tty_register_driver'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0x147c): undefined reference to `put_tty_driver'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0x14c8): undefined reference to `tty_port_init'
arm-linux-gnueabi-ld: hvc_console.c:(.text+0x16b0): undefined reference to `put_tty_driver'
arm-linux-gnueabi-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_instantiate':
hvc_console.c:(.text+0x1748): undefined reference to `tty_port_put'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_get_fixed_state':
>> phylink.c:(.text+0x2e0): undefined reference to `linkmode_resolve_pause'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_decode_c37_word':
phylink.c:(.text+0x450): undefined reference to `linkmode_resolve_pause'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_mac_config':
phylink.c:(.text+0x548): undefined reference to `phy_speed_to_str'
arm-linux-gnueabi-ld: phylink.c:(.text+0x554): undefined reference to `phy_duplex_to_str'
arm-linux-gnueabi-ld: phylink.c:(.text+0x5a4): undefined reference to `__dynamic_netdev_dbg'
arm-linux-gnueabi-ld: phylink.c:(.text+0x638): undefined reference to `phy_speed_to_str'
arm-linux-gnueabi-ld: phylink.c:(.text+0x644): undefined reference to `phy_duplex_to_str'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_major_config':
phylink.c:(.text+0x758): undefined reference to `__dynamic_netdev_dbg'
arm-linux-gnueabi-ld: phylink.c:(.text+0x834): undefined reference to `netdev_printk'
arm-linux-gnueabi-ld: phylink.c:(.text+0x8e8): undefined reference to `netdev_printk'
arm-linux-gnueabi-ld: phylink.c:(.text+0x9a8): undefined reference to `netdev_printk'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_change_inband_advert':
phylink.c:(.text+0xb0c): undefined reference to `__dynamic_netdev_dbg'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_link_down':
phylink.c:(.text+0xc64): undefined reference to `netif_carrier_off'
arm-linux-gnueabi-ld: phylink.c:(.text+0xcac): undefined reference to `netdev_printk'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_link_up':
phylink.c:(.text+0xda4): undefined reference to `netif_carrier_on'
arm-linux-gnueabi-ld: phylink.c:(.text+0xdcc): undefined reference to `phy_speed_to_str'
arm-linux-gnueabi-ld: phylink.c:(.text+0xddc): undefined reference to `phy_duplex_to_str'
arm-linux-gnueabi-ld: phylink.c:(.text+0xe30): undefined reference to `netdev_printk'
arm-linux-gnueabi-ld: phylink.c:(.text+0xe54): undefined reference to `phy_speed_to_str'
arm-linux-gnueabi-ld: phylink.c:(.text+0xe64): undefined reference to `phy_duplex_to_str'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_get_pauseparam':
phylink.c:(.text+0xfb8): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_disconnect_phy':
phylink.c:(.text+0x1124): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x117c): undefined reference to `phy_disconnect'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_get_wol':
phylink.c:(.text+0x11a0): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x11c8): undefined reference to `phy_ethtool_get_wol'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_set_wol':
phylink.c:(.text+0x11ec): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1208): undefined reference to `phy_ethtool_set_wol'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_ksettings_get':
phylink.c:(.text+0x12d8): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x12f4): undefined reference to `phy_ethtool_ksettings_get'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_set_pauseparam':
phylink.c:(.text+0x13b0): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1474): undefined reference to `linkmode_set_pause'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1500): undefined reference to `phy_set_asym_pause'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_get_eee_err':
phylink.c:(.text+0x157c): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1594): undefined reference to `phy_get_eee_err'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_init_eee':
phylink.c:(.text+0x15d8): undefined reference to `phy_init_eee'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_get_eee':
phylink.c:(.text+0x160c): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1628): undefined reference to `phy_ethtool_get_eee'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_set_eee':
phylink.c:(.text+0x165c): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1678): undefined reference to `phy_ethtool_set_eee'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_get_state':
phylink.c:(.text+0x16c0): undefined reference to `mdiobus_read'
arm-linux-gnueabi-ld: phylink.c:(.text+0x16d4): undefined reference to `mdiobus_read'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c45_pcs_get_state':
phylink.c:(.text+0x1854): undefined reference to `mdiobus_read'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_set_advertisement':
phylink.c:(.text+0x192c): undefined reference to `mdiobus_read'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1958): undefined reference to `mdiobus_write'
arm-linux-gnueabi-ld: phylink.c:(.text+0x197c): undefined reference to `mdiobus_read'
arm-linux-gnueabi-ld: phylink.c:(.text+0x19a8): undefined reference to `mdiobus_write'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_an_restart':
phylink.c:(.text+0x19f0): undefined reference to `mdiobus_read'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1a14): undefined reference to `mdiobus_write'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_mii_emul_read':
phylink.c:(.text+0x1a78): undefined reference to `swphy_read_reg'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_mii_ioctl':
phylink.c:(.text+0x1ad0): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1bf4): undefined reference to `mdiobus_read'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1cdc): undefined reference to `mdiobus_write'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1cf8): undefined reference to `phy_mii_ioctl'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_speed_down':
phylink.c:(.text+0x1e4c): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1e80): undefined reference to `phy_speed_down'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_speed_up':
phylink.c:(.text+0x1ea8): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1ed8): undefined reference to `phy_speed_up'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_config':
phylink.c:(.text+0x1f50): undefined reference to `mdiobus_modify'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_stop':
phylink.c:(.text+0x1f98): undefined reference to `rtnl_is_locked'
arm-linux-gnueabi-ld: phylink.c:(.text+0x1fb0): undefined reference to `phy_stop'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_parse_mode':
phylink.c:(.text+0x2128): undefined reference to `netdev_printk'
arm-linux-gnueabi-ld: phylink.c:(.text+0x22f0): undefined reference to `netdev_printk'
arm-linux-gnueabi-ld: phylink.c:(.text+0x2404): undefined reference to `netdev_printk'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_mac_change':
phylink.c:(.text+0x25ac): undefined reference to `__dynamic_netdev_dbg'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_phy_change':
phylink.c:(.text+0x264c): undefined reference to `phy_get_pause'
arm-linux-gnueabi-ld: phylink.c:(.text+0x2764): undefined reference to `phy_speed_to_str'
arm-linux-gnueabi-ld: phylink.c:(.text+0x2770): undefined reference to `phy_duplex_to_str'
arm-linux-gnueabi-ld: phylink.c:(.text+0x2794): undefined reference to `__dynamic_netdev_dbg'
arm-linux-gnueabi-ld: phylink.c:(.text+0x281c): undefined reference to `phy_speed_to_str'
arm-linux-gnueabi-ld: phylink.c:(.text+0x2828): undefined reference to `phy_duplex_to_str'
arm-linux-gnueabi-ld: drivers/net/phy/phylink.o: in function `phylink_start':
phylink.c:(.text+0x2bc8): undefined reference to `rtnl_is_locked'
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for PHYLINK
Depends on NETDEVICES
Selected by
- GKI_HIDDEN_ETHERNET_CONFIGS
WARNING: unmet direct dependencies detected for HVC_DRIVER
Depends on TTY
Selected by
- GKI_HIDDEN_VIRTUAL_CONFIGS
WARNING: unmet direct dependencies detected for WEXT_PROC
Depends on NET && WIRELESS && PROC_FS && WEXT_CORE
Selected by
- GKI_LEGACY_WEXT_ALLCONFIG
WARNING: unmet direct dependencies detected for WEXT_PRIV
Depends on NET && WIRELESS
Selected by
- GKI_LEGACY_WEXT_ALLCONFIG
WARNING: unmet direct dependencies detected for PAGE_POOL
Depends on NET
Selected by
- GKI_HIDDEN_NET_CONFIGS
WARNING: unmet direct dependencies detected for WEXT_SPY
Depends on NET && WIRELESS
Selected by
- GKI_LEGACY_WEXT_ALLCONFIG
WARNING: unmet direct dependencies detected for WIRELESS_EXT
Depends on NET && WIRELESS
Selected by
- GKI_LEGACY_WEXT_ALLCONFIG
WARNING: unmet direct dependencies detected for WEXT_CORE
Depends on NET && WIRELESS && (CFG80211_WEXT || WIRELESS_EXT
Selected by
- GKI_LEGACY_WEXT_ALLCONFIG
WARNING: unmet direct dependencies detected for NET_PTP_CLASSIFY
Depends on NET
Selected by
- GKI_HIDDEN_NET_CONFIGS
WARNING: unmet direct dependencies detected for SND_VMASTER
Depends on SOUND && !UML && SND
Selected by
- GKI_HIDDEN_SND_CONFIGS
WARNING: unmet direct dependencies detected for SND_PCM_IEC958
Depends on SOUND && !UML && SND
Selected by
- GKI_HIDDEN_SND_SOC_CONFIGS
WARNING: unmet direct dependencies detected for SND_JACK
Depends on SOUND && !UML && SND
Selected by
- GKI_HIDDEN_SND_CONFIGS
WARNING: unmet direct dependencies detected for SND_JACK_INPUT_DEV
Depends on SOUND && !UML && SND && SND_JACK
Selected by
- GKI_HIDDEN_SND_CONFIGS
WARNING: unmet direct dependencies detected for SND_PCM_ELD
Depends on SOUND && !UML && SND
Selected by
- GKI_HIDDEN_SND_CONFIGS
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[superna9999:amlogic/v5.18/g12-dsi-wip 13/14] drivers/gpu/drm/meson/meson_encoder_dsi.c:122:69: warning: variable 'ret' is uninitialized when used here
by kernel test robot
tree: https://github.com/superna9999/linux amlogic/v5.18/g12-dsi-wip
head: fbcc0a7f53880919dc415da44339313dd59768f0
commit: 69065af6f6c3f3c1a6a29ab765c02e8371be3a42 [13/14] drm/meson: add DSI encoder
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20220122/202201220231.SSLn9QGA-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 7b3d30728816403d1fd73cc5082e9fb761262bce)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/superna9999/linux/commit/69065af6f6c3f3c1a6a29ab765c02...
git remote add superna9999 https://github.com/superna9999/linux
git fetch --no-tags superna9999 amlogic/v5.18/g12-dsi-wip
git checkout 69065af6f6c3f3c1a6a29ab765c02e8371be3a42
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/gpu/drm/meson/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/meson/meson_encoder_dsi.c:122:69: warning: variable 'ret' is uninitialized when used here [-Wuninitialized]
dev_dbg(priv->dev, "Failed to find DSI transceiver bridge: %d\n", ret);
^~~
include/linux/dev_printk.h:155:39: note: expanded from macro 'dev_dbg'
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/dynamic_debug.h:167:19: note: expanded from macro 'dynamic_dev_dbg'
dev, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
__dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
func(&id, ##__VA_ARGS__); \
^~~~~~~~~~~
drivers/gpu/drm/meson/meson_encoder_dsi.c:107:9: note: initialize the variable 'ret' to silence this warning
int ret;
^
= 0
1 warning generated.
vim +/ret +122 drivers/gpu/drm/meson/meson_encoder_dsi.c
102
103 int meson_encoder_dsi_init(struct meson_drm *priv)
104 {
105 struct meson_encoder_dsi *meson_encoder_dsi;
106 struct device_node *remote;
107 int ret;
108
109 meson_encoder_dsi = devm_kzalloc(priv->dev, sizeof(*meson_encoder_dsi), GFP_KERNEL);
110 if (!meson_encoder_dsi)
111 return -ENOMEM;
112
113 /* DSI Transceiver Bridge */
114 remote = of_graph_get_remote_node(priv->dev->of_node, 2, 0);
115 if (!remote) {
116 dev_err(priv->dev, "DSI transceiver device is disabled");
117 return 0;
118 }
119
120 meson_encoder_dsi->next_bridge = of_drm_find_bridge(remote);
121 if (!meson_encoder_dsi->next_bridge) {
> 122 dev_dbg(priv->dev, "Failed to find DSI transceiver bridge: %d\n", ret);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months